excgrid 0.1.0
Grid + XC-kernel + D3 library
Loading...
Searching...
No Matches
Grimme D3 dispersion

Classes

struct  excgrid::D3Parameters
struct  excgrid::D3Result

Functions

Result< D3Parametersexcgrid::D3Preset (std::string_view name)
Result< double > excgrid::GrimmeD3Energy (const Geometry &geometry, const D3Parameters &parameters)
Result< D3Resultexcgrid::GrimmeD3 (const Geometry &geometry, const D3Parameters &parameters)

Variables

double excgrid::D3Parameters::s6 = 1.0
 Global C6 scale.
double excgrid::D3Parameters::s8 = 1.0
 C8 scale.
double excgrid::D3Parameters::rs6 = 1.0
 The a1 damping scale of the R^6 term.
double excgrid::D3Parameters::alpha6 = 14.0
 The a2 exponent of the R^6 term.
double excgrid::D3Parameters::rs8 = 1.0
 The a1 damping scale of the R^8 term.
double excgrid::D3Parameters::alpha8 = 16.0
 The a2 exponent of the R^8 term (alpha6 + 2).
double excgrid::D3Result::energy = 0.0
 The dispersion energy (Hartree).
std::vector< std::array< double, 3 > > excgrid::D3Result::gradient
 One 3-vector per atom (Hartree/Bohr).

Detailed Description

The DFT-D3 two-body dispersion correction (Grimme, Antony, Ehrlich, Krieg, J. Chem. Phys. 132 (2010) 154104), zero-damping scheme: geometry-only closed forms - energy plus analytic coordinate gradients, hand-written (no codegen), over the library's own Geometry type. Coordination-number-dependent C6 interpolation, the C8 estimate, and the counting-function coordination numbers follow the published scheme; the parameter data is committed under tools/data/ (see tools/gen_d3_tables.py).

Function Documentation

◆ D3Preset()

Result< D3Parameters > excgrid::D3Preset ( std::string_view name)

The standard D3 zero-damping parameter set of one method family (transcribed from the published D3 parameter data).

Parameters
nameOne of "b3lyp", "pbe", "pbe0", "bp86" (the b-p set), "blyp", "revpbe", "pbesol", "b97d", "tpss", "bpbe", "bhandhlyp", "b3pw91", "hf".
Returns
The parameter set, or kInvalidArgument for an unknown name.

◆ GrimmeD3()

Result< D3Result > excgrid::GrimmeD3 ( const Geometry & geometry,
const D3Parameters & parameters )

The D3 energy and its analytic coordinate gradient in one pass.

Parameters
geometryThe molecule.
parametersThe functional's parameter set.
Returns
The energy and the gradient, or kUnsupported for an out-of-table element.

◆ GrimmeD3Energy()

Result< double > excgrid::GrimmeD3Energy ( const Geometry & geometry,
const D3Parameters & parameters )

The D3 dispersion energy of the geometry, in Hartree.

Parameters
geometryThe molecule.
parametersThe functional's parameter set.
Returns
The energy (negative, attractive), or kUnsupported for an element above the table's range.