Interface to ERD by N. Flocke and V. Lotrich¶
Code author: Andrew C. Simmonett and Benjamin P. Pritchard
Section author: Lori A. Burns
These are the AcesIII electron repulsion integrals that have
been partially interfaced into libmints. Enabling erd and adding
set integral_package erd (do this in
~/.psi4rc for universal
effect) runs libderiv from Libint for derivative integrals and erd for
The interface between erd and libderiv is not fully
debugged. So analytic gradients, particularly density-fitted ones,
are wrong, as are ESP calculations and some energies for long-range
corrected (“omega”) functionals. Insofar as faulty answers are
anticipated with INTEGRAL_PACKAGE
erd, PSI4 will
throw an error if you try to execute that class of computation. But
there may be more, so use with caution.
erd seems to be having some problems with Intel 2018 compilers. presently disabled in conda package.
If using PSI4 built from source, and anaconda or miniconda has already been installed (instructions at Quick Installation), erd can be obtained through
conda install erd -c psi4. Then enable it as a feature with ENABLE_erd, hint its location with CMAKE_PREFIX_PATH, and rebuild PSI4 to detect erd and activate dependent code.
To remove a conda installation,
conda remove erd.
How to configure erd for building Psi4¶
Role and Dependencies
Role — In PSI4, ERD is a library that provides alternate integrals.
Downstream Dependencies — PSI4 (\(\Leftarrow\) optional) erd
Upstream Dependencies — erd \(\Leftarrow\) Fortran
ENABLE_erd — CMake variable toggling whether PSI4 builds with erd
CMAKE_PREFIX_PATH — CMake list variable to specify where pre-built dependencies can be found. For erd, set to an installation directory containing
erd_DIR — CMake variable to specify where pre-built erd can be found. Set to installation directory containing
CMAKE_DISABLE_FIND_PACKAGE_erd — CMake variable to force internal build of erd instead of detecting pre-built
CMAKE_INSIST_FIND_PACKAGE_erd — CMake variable to force detecting pre-built erd and not falling back on internal build
>>> cmake -DENABLE_erd=ON
Build without erd
Link against pre-built
>>> cmake -DENABLE_erd=ON -DCMAKE_PREFIX_PATH=/path/to/erd/root>>> cmake -DENABLE_erd=ON -Derd_DIR=/path/to/erd/configdir
Build bundled despite pre-built being detectable
>>> cmake -DENABLE_erd=ON -DCMAKE_PREFIX_PATH=/path/to/unwanted/erd/root/and/wanted/other/dependencies/root -DCMAKE_DISABLE_FIND_PACKAGE_erd=ON