Skip to content

Modular implementation of linear and cubic-scaling OMM solver

Irina Lebedeva requested to merge irina_lebedeva/siesta:orderN into dev

Modular implementation of the linear and cubic-scaling OMM solver using MatrixSwitch, libOMM and DBCSR libraries (see paper RSOS 10, 230063 (2023), doi: 10.1098/rsos.230063).

Details

  • Adds new solver BLOMM that can show cubic or linear scaling with system size depending on format of matrices used.
  • Adds BLOMM solver fdf flags to the manual (some fdf flags are similar to the OMM solver but I have repeated them because sometimes the meaning is somewhat different).
  • Adds tests for BLOMM solver.
  • MatrixSwitch is removed from Src. CMake build system is extended to support installation of MatrixSwitch and libOMM libraries. The DBCSR library needs to be precompiled.

Why is it needed

The linear-scaling solver allows to perform calculations for large systems at a smaller cost compared to diagonalization and other cubic-scaling methods. Thanks to the use of the DBCSR library, the routines are efficiently parallelized.

Authors

Co-authored-by: Alberto Garcia albertog@icmab.es Co-authored-by: Irina Lebedeva ilebedeva@dosx0153.local

Edited by Irina Lebedeva

Merge request reports