This is a minimal standalone version of DFT-D4 providing the D4(EEQ)-ATM and D4(EEQ)-MBD methods.
To compile this version of DFT-D4 the following programs are needed (the number in parentheses specifies the tested versions).
gfortran
(8.2.1) orifort
(17.0.7 or 18.0.3) compilermeson
(0.49.0) andninja
(1.8.2) as build systemasciidoc
(8.6.10) to build the man-page
The program is build by
$ FC=ifort meson setup build && ninja -C build
The binary is found at build/dftd4 and is ready to use.
The man-page can be build by
$ asciidoc --doctype manpage --format manpage man1/dftd4.1.txt
By adding the directory to the MANPATH
variable the documentation
of DFT-D4 is accessable by man
.
dftd4
as been successfully build using
ifort
19.0.3 with the MKL as linear algebra backend on Manjaro Linux 18.0gfortran
8.3.0 with the MKL (19.0.3.199) as linear algebra backend on Manjaro Linux 18.0gfortran
8.3.0 with LAPACK (3.8.0-2) and openBLAS (0.3.6-1) as linear algebra backend on Manjaro Linux 18.0
dftd4
could not be compiled with
gfortran
4 or older (missing Fortran 2003 standard)
DFT-D4 is now also available for some package managers.
Get the build file from the AUR and use makepkg
(or your favorite wrapper) to build the package for pacman
.
dftd4
will be build with openBLAS backend, openMP and the most recent GCC.
The package build files are available here as submodules.
Installing dftd4
from the conda-forge
channel can be achieved by adding conda-forge
to your channels with:
conda config --add channels conda-forge
Once the conda-forge
channel has been enabled, dftd4
can be installed with:
conda install dftd4
It is possible to list all of the versions of dftd4
available on your platform with:
conda search dftd4 --channel conda-forge
DFT-D4 is invoked by
$ dftd4 [options] <file>
where file is a valid xyz-file (coordinates in Ångström) or a Turbomole coord file containing only the $coord data group with coordinates in Bohr.
More information can be obtained from the manpage or by
invoking the program intern help page with --help
.
For a general D4 calculation to obtain C6 coefficients use
$ dftd4 coord
To calculate a dispersion correction for a PBE0 calculation use
$ dftd4 --func pbe0 coord
Note that, the --func
option will try to make as much sense as
possible from your input, by converting it internally to lowercase
and ignoring most dashes or year number. The input b-p
and BP86/def-TZVP
are therefore equivalent.
To calculate the derivative of the dispersion energy use
$ dftd4 --func pbe0 --grad coord
This will write a Turbomole style gradient
file or will try to
augment an already present gradient
file with the dispersion gradient.
For the D4(EEQ)-MBD method use
$ dftd4 --func pbe0 --mbd coord
Always cite:
Eike Caldeweyher, Christoph Bannwarth and Stefan Grimme, J. Chem. Phys., 2017, 147, 034112. DOI: 10.1063/1.4993215
Eike Caldeweyher, Sebastian Ehlert, Andreas Hansen, Hagen Neugebauer, Sebastian Spicher, Christoph Bannwarth and Stefan Grimme, J. Chem Phys, 2019, 150, 154122. DOI: 10.1063/1.5090222 chemrxiv: 10.26434/chemrxiv.7430216
Eike Caldeweyher, Jan-Michael Mewes, Sebastian Ehlert and Stefan Grimme, Phys. Chem. Chem. Phys., 2020, 22, 8499-8512. DOI: 10.1039/D0CP00502A chemrxiv: 10.26434/chemrxiv.10299428
please report all bugs with an example input and the used geometry,
as well as the --verbose
output to Stefan Grimme
or open an issue.