THCPP is a C++ implementation of the tensor hypercontraction algorithm to factorize the two electron integrals. In particular it implements the interpolative separable density fitting algorithm with centroidal Veronoi tesselation algorithm [1].
The code will write factorized two-electron integrals in the QMCPACK format, for use in auxiliary field quantum Monte Carlo simulations [2].
To build the code you will require:
- c++-11 compliant compiler
- fftw3
- mpi
- scalapack
- hdf5
- cmake
To compile do (assuming mkl):
mkdir build && cd build
CC=mpicc CXX=mpic++ cmake -DMKL_FLAG=cluster -DMPIEXEC_EXECUTABLE=srun -DMPIEXEC_NUMPROC_FLAG=-n ../
For other scalapack implementations use:
mkdir build && cd build
CC=mpicc CXX=mpic++ cmake -DSCALAPACK_LIBRARIES="/path/to/libscalapack" -DMPIEXEC_EXECUTABLE=srun -DMPIEXEC_NUMPROC_FLAG=-n ../
Unit tests can be run with ctest:
cd build
ctest
[1] | Kun Dong, Wei Hu, and Lin Lin J. Chem. Theory Comput. 14, 1311 (2018) |
[2] | Fionn D Malone, Shuai Zhang, and Miguel A Morales, J. Chem. Theory Comput. 15, 256 (2019) |