Installing the library

The installation is performed via cmake and requires:

  • a Fortran and a C compiler

  • a Python 3 interpreter

  • the numpy, cffi and optionally pyscf python libraries. PySCF is used for evaluating orbitals and is thus required for integral calculation.

  • BLAS and LAPACK Fortran libraries

  • optionally, an MPI library for parallelization

  • optionally, the HDF5 library for HDF5 formatted and parallel I/O (requires a parallel fortran build of HDF5)

  • optionally, the TREXIO library for I/O

For reference, these requirements can be installed on some Debian-based GNU/Linux systems with:

sudo apt install cmake gcc gfortran python3 python3-pip libblas-dev liblapack-dev
pip3 install --user numpy scipy cffi "h5py==3.0.*" pyscf

Build instructions

To install, create a build directory:

mkdir build && cd build

and invoke cmake:

cmake ..

Optional cmake arguments are:

  • -DCMAKE_BUILD_TYPE=DEBUG/RELEASE to set the build type, no default

  • -DPYSCF=ON/OFF to enable/disable using pyscf for orbitals, defaults to ON

  • -DPARALLEL=ON/OFF to enable/disable using MPI for parallelization, defaults to ON

  • -DUSE_OMP=ON/OFF to enable/disable using OpenMP for parallelization, defaults to OFF

Then, call make to build the library components and executables:

make
make install

For further details and tips on the build process see Frequently Asked Questions.

Afterwards, the build directory should include the following content (not a complete list):

build
├── bin/
     └── tchint_standalone
├── include/
     └── <module files>
├── lib/
     ├── <internal shared libraries>
     └── libtchint.so
├── python/
     ├── tchint.py
     └── libplugin.so
└── tests/
     └── tchint_unit_tests

A source encyclopedia can be created by running cmake in the doc subdirectory and then building the doxy target:

mkdir doc/build
cd doc/build
cmake ..
make doxy

Testing

All current tests are standalone unit/regression tests that are part of the tests/tchint_unit_tests and tests/tchint_ints_tests. executables in the build directory. They can be run by invoking ctest in the build directory.