Skip to content
This repository was archived by the owner on Mar 22, 2023. It is now read-only.
/ gint Public archive

Integral library multiplexer for electronic structure theory

License

GPL-3.0, Unknown licenses found

Licenses found

GPL-3.0
LICENCE
Unknown
LICENSE
Notifications You must be signed in to change notification settings

molsturm/gint

Repository files navigation

gint

Build Status Coverage Status Licence

A basis-function independent interface library providing the types of integrals needed for electronic structure theory calculations.

Design goals

  • The same interface independent of the type of basis function or the precise integral backend.

More documentation will follow ...

Dependencies

For building gint the following things are required:

In order to actually use the gint python module once it has been built, the following python packages are required:

On a recent Debian/Ubuntu you can install all these dependencies by running

apt-get install cmake swig python3-dev libopenblas-dev liblapack-dev libarmadillo-dev \
                python3-numpy

as root.

Building gint

This basic build builds gint along with one or more third-party libraries to compute the integrals as well as tests. The basic sequence of steps is

# Configure inside build directory
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=~/opt -DAUTOCHECKOUT_MISSING_REPOS=ON ${OPTIONS} ..
cmake --build .

# Test and install the build
ctest
cmake --build . --target install

where ${OPTIONS} is one of the cmake options mentioned in the next section.

Interfacing with external libraries

Currently gint can be build with a couple of external libraries for performing the integral computation.

Gaussians: libint

Edward Valeev's libint library is enabled by passing the option -DGINT_ENABLE_LIBINT=ON to cmake. This will automaticall download, unpack, compile and link to libint.

Next to the dependencies mentioned before, building libint requires:

  • Eigen3
  • BLAS
  • Autoconf
  • GNU Multiprecision library

On Debian/Ubuntu the command

apt-get install libeigen3-dev libopenblas-dev autoconf libgmp-dev

should install all of these.

Gaussians: libcint

The second supported Gaussian integral library is libcint by Qiming Sun. It can be enabled by the option -DGINT_ENABLE_LIBCINT=ON, which will again compile libcint along gint.

Further external dependencies required by libcint:

  • BLAS

Sturmians: sturmint

sturmint is currently not released (but this is planned for the near future). It can be enabled using the option -DGINT_ENABLE_STURMINT=ON.

About

Integral library multiplexer for electronic structure theory

Topics

Resources

License

GPL-3.0, Unknown licenses found

Licenses found

GPL-3.0
LICENCE
Unknown
LICENSE

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •