Skip to content

Library implementing the orbital minimization method for solving the Kohn-Sham equation as a generalized eigenvalue problem. Please note that this is a mirror of https://gitlab.com/ElectronicStructureLibrary/omm-bundle

Notifications You must be signed in to change notification settings

ElectronicStructureLibrary/omm-bundle

Repository files navigation

omm-bundle

This repository is a bundle of four separate libraries:

  • pspBLAS: MPI parallel sparse matrix operations with 2D block-cyclic distribution
  • MatrixSwitch: multi-format matrix storage and operation
  • libOMM: Kohn-Sham solver using the orbital minimization method
  • tomato: test matrix generator for Kohn-Sham solvers

Each library has its own documentation and build systems, the details of which you can find in the individual subdirectories.

Additionally, in this directory you will find two ways of installing the library bundle as a whole. They are explained below.

Autotools build system

The Autotools build system is available for pspBLAS, MatrixSwitch, and libOMM (tomato coming soon). It can be accessed by running the build-omm script and following the instructions. Note that external linear algebra libraries need to be given either by modifying the script or by creating environmental variables by typing:

export LINALG_INCLUDES="path/to/headers" export LINALG_LIBS="path/to/libraries"

Manual build system

The manual build system is available for all libraries, and makes use of the file named Makefile.manual.

To install the libraries manually:

  1. Copy make.inc.example to make.inc and modify it to suit your needs. Available options for FPPFLAGS are:
    • -DHAVE_MPI: enable MPI parallel routines
    • -DHAVE_LAPACK: enable LAPACK routines
    • -DHAVE_SCALAPACK: enable ScaLAPACK routines (requires MPI)
    • -DHAVE_PSPBLAS: enable pspBLAS routines (requires MPI, LAPACK and ScaLAPACK)
    • -DHAVE_DBCSR: enable DBCSR routines (requires DBCSR, MPI, LAPACK and BLAS). You can download DBCSR from https://github.com/cp2k/dbcsr.
    • -DHAVE_MKL: link the sequential sparse BLAS routines in Intel MKL to pspBLAS
    • -DCONV: enable automatic conversion of scalar types (real/complex) to agree with matrix definitions (real/complex). Needed for libOMM.
    • -DNORAND: fixed seed for the random number generator. Enable for testing purposes.
    • -DCBIND: use ISO_C_BINDING for LOGICAL inputs in the wrapper interfaces. Enable for linking to C.
  2. Type make -f Makefile.manual.

About

Library implementing the orbital minimization method for solving the Kohn-Sham equation as a generalized eigenvalue problem. Please note that this is a mirror of https://gitlab.com/ElectronicStructureLibrary/omm-bundle

Resources

Stars

Watchers

Forks

Packages

No packages published