Interface to DKH by A. Wolf, M. Reiher, and B. A. Hess¶
Code author: Justin M. Turney
Section author: Justin M. Turney
Installation¶
Binary
DKH is available as a conda package for Linux and macOS (and Windows, through the Ubuntu shell).
If using the PSI4 binary, dkh has already been installed alongside.
If using PSI4 built from source, and anaconda or miniconda has already been installed (instructions at Quick Installation), dkh can be obtained through
conda install dkh -c psi4
. Then enable it as a feature with ENABLE_dkh, hint its location with CMAKE_PREFIX_PATH, and rebuild PSI4 to detect dkh and activate dependent code.
To remove a conda installation,
conda remove dkh
.
Source
Input¶
For all electron calculations one can use the Douglas-Kroll-Hess (DKH) Hamiltonian to take into account scalar relativistic effects.
Minimal input for DKH single-point computation looks like this:
molecule {
Mg
}
set basis aug-cc-pvdz-dk
set relativistic dkh
energy('scf')
By default a 2nd-order DKH calculation is performed. To change the default order use the DKH_ORDER option. The version of the code found in PSI4 is capable of up to 4th-order DKH calculations.
Keywords¶
RELATIVISTIC¶
Relativistic Hamiltonian type
Type: string
Possible Values: NO, X2C
Default: NO
DKH_ORDER¶
Order of Douglas-Kroll-Hess
Type: integer
Default: 2
Reference¶
When using this code please make reference to the appropriate following paper:
“The Generalized Douglas-Kroll Transformation,” A. Wolf, M. Reiher, and B. A. Hess, J. Chem. Phys. 117, 9215 (2002). (doi: 10.1063/1.1515314)
How to configure dkh for building Psi4¶
Role and Dependencies
Role — In PSI4, DKH is a library that provides additional quantum chemical capabilities (relativistic effects).
Downstream Dependencies — PSI4 (\(\Leftarrow\) optional) dkh
Upstream Dependencies — dkh \(\Leftarrow\) Fortran
CMake Variables
ENABLE_dkh — CMake variable toggling whether Psi4 builds with dkh
CMAKE_PREFIX_PATH — CMake list variable to specify where pre-built dependencies can be found. For dkh, set to an installation directory containing
include/DKH/DKH_MANGLE.h
dkh_DIR — CMake variable to specify where pre-built dkh can be found. Set to installation directory containing
share/cmake/dkh/dkhConfig.cmake
CMAKE_DISABLE_FIND_PACKAGE_dkh — CMake variable to force internal build of dkh instead of detecting pre-built
CMAKE_INSIST_FIND_PACKAGE_dkh — CMake variable to force detecting pre-built dkh and not falling back on internal build
Examples
Build bundled
>>> cmake -DENABLE_dkh=ON
Build without dkh
>>> cmake
Link against pre-built
>>> cmake -DENABLE_dkh=ON -DCMAKE_PREFIX_PATH=/path/to/dkh/root>>> cmake -DENABLE_dkh=ON -Ddkh_DIR=/path/to/dkh/configdir
Build bundled despite pre-built being detectable
>>> cmake -DENABLE_dkh=ON -DCMAKE_PREFIX_PATH=/path/to/unwanted/dkh/root/and/wanted/other/dependencies/root -DCMAKE_DISABLE_FIND_PACKAGE_dkh=ON