Library API¶
Libecpint 1.0.2¶
- page index
-
Libecpint is a C++ library for the efficient evaluation of integrals over ab initio effective core potentials, using a mixture of generated, recursive code and Gauss-Chebyshev quadrature. It is designed to be standalone and generic, and is now in its first stable release. If you experience any problems please raise an issue here; contributions and suggestions are also welcome.
New in first full release
Analytical 1st and 2nd derivatives;
Integration now >10x faster;
New, high level API, with ECP library;
Automated testing suite.
Patch 1
Bug fix in screening of on-ECP type 2 integrals
Improvements in CMake build steps, thanks to nabbelbabbel/moritzBens
Patch 2
Fix for memory leaks in derivative routines
Minor changes to CMake files
Dependencies
A modern C++ compiler, at least C++11 standard library is required. This has been tested with:
gcc (v6.3.0 and above)
clang (v10.0.0 and above), you may need the CXX flag “-std=c++14”
icpc (v20.2.1), may also need the CXX flag “-std=c++14”
CMake/CTest build tools (v3.12 and higher)
Python (2.7 or above, including 3 and higher)
Additionally, if you wish to regenerate the radial code (see below), Python >=3.6 is required with numpy and sympy.
Documentation
Please refer to the main documentation here.
Acknowledging usage
If you use this library in your program and find it helpful, that’s great! Any feedback would be much appreciated. If you publish results using this library, please consider citing the following paper detailing the implementation:
R. A. Shaw, J. G. Hill, J. Chem. Phys. 147, 074108 (2017); doi: 10.1063/1.4986887
A full bibtex citation can be found in CITATION in the main directory.
Class Hierarchy¶
-
- Namespace libecpint
- Namespace libecpint::aux
- Template Struct gen_seq
- Template Struct gen_seq< 0, Is... >
- Template Struct seq
- Enum GCTYPE
- Struct ECP
- Struct ECPBasis
- Struct ECPIntegrator
- Template Struct FiveIndex
- Struct GaussianECP
- Struct GaussianShell
- Template Struct SevenIndex
- Struct SumTerm
- Template Struct ThreeIndex
- Template Struct TwoIndex
- Class AngularIntegral
- Class BesselFunction
- Class ECPIntegral
- Class GCQuadrature
- Class RadialIntegral
- Struct RadialIntegral::Parameters
- Class ShellPairData
- Namespace libecpint::aux
- Namespace unrol_radial
- Class Qijk
- Namespace libecpint
File Hierarchy¶
-
- Directory include
- Directory libecpint
- File angular.hpp
- File api.hpp
- File bessel.hpp
- File ecp.hpp
- File ecpint.hpp
- File gaussquad.hpp
- File gshell.hpp
- File mathutil.hpp
- File multiarr.hpp
- File qgen.hpp
- File radial.hpp
- File generate.hpp
- File libecpint.hpp
- File testutil.hpp
- Directory libecpint
- Directory src
- Directory generated
- Directory radial
- File radial_gen.cpp
- File unrol_radial.py
- Directory radial
- Directory lib
- File angular.cpp
- File api.cpp
- File bessel.cpp
- File ecp.cpp
- File ecpint.cpp
- File gaussquad.cpp
- File gshell.cpp
- File mathutil.cpp
- File qgen.cpp
- File radial_gen.cpp
- File radial_quad.cpp
- File generate.cpp
- File makelist.py
- Directory generated
- File README.md
- Directory include