Interface to ERD by N. Flocke and V. Lotrich

Code author: Andrew C. Simmonett and Benjamin P. Pritchard

Section author: Lori A. Burns

https://img.shields.io/badge/home-erd-5077AB.svg
https://img.shields.io/badge/docs-latest-5077AB.svg

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 non-derivative integrals.

Warning

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.

Installation

Binary

  • https://anaconda.org/psi4/erd/badges/version.svg
  • ERD is available as a conda package for Linux and macOS (and Windows, through the Ubuntu shell).

  • 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. 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.

Source

  • https://img.shields.io/github/tag/psi4/erd.svg?maxAge=2592000
  • If using PSI4 built from source and you want erd built from from source also, enable it as a feature with ENABLE_erd, and let the build system fetch and build it and activate dependent code.

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

CMake Variables

  • 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 include/ERD/ERD_MANGLE.h
  • erd_DIR — CMake variable to specify where pre-built erd can be found. Set to installation directory containing share/cmake/erd/erdConfig.cmake
  • CMAKE_DISABLE_FIND_PACKAGE_erd — CMake variable to force internal build of erd instead of detecting pre-built

Examples

  1. Build bundled
>>> cmake -DENABLE_erd=ON
  1. Build without erd
>>> cmake
  1. 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
  1. 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