GrimmeDFTD2

class GrimmeDFTD2(global_scale_factor=None, damping_factor=None, maximum_neighbour_distance=None, element_parameters=None)

Class for determining the Grimme DFT-D2 dispersion correction of the energy, forces, and stress.

Parameters:
  • global_scale_factor (float) – The global scale factor of the DFT functional.
    Default: 0.75
  • damping_factor (float) – The damping factor.
    Default: 20.0
  • maximum_neighbour_distance (PhysicalQuantity of type length.) – The max interaction distance to consider.
    Default: 30.0 * Angstrom
  • element_parameters (dict) – Parameter for updating R0 and C6 values for specific elements. This should be given as a dictionary mapping PeriodicTableElement objects to tuples of R0 and C6 parameters.
    Default: No elements are updated.
dampingFactor()
Returns:The damping factor.
Return type:float
elementParameters()

This method gets the element parameters as a dictionary mapping PeriodicTableElement objects to tuples of R0 and C6 parameters.

Returns:The element parameters.
Return type:dict
globalScaleFactor()
Returns:The global scale factor.
Return type:float
maximumNeighbourDistance()
Returns:The maximum neighbour distance.
Return type:PhysicalQuantity of type length
setDampingFactor(damping_factor)

Set the damping factor.

Parameters:damping_factor (float) – Set the damping factor.
setElementParameters(element_parameters)

Set parameters R0 and C6 values for specific elements. This should be given as a dictionary mapping PeriodicTableElement objects to tuples of R0 and C6 parameters.

Parameters:element_parameters (dict) – Set the element parameters.
setGlobalScaleFactor(global_scale_factor)

Set the global scale factor.

Parameters:global_scale_factor (float) – Set the global scale factor.
setMaximumNeighbourDistance(maximum_neighbour_distance)

Set maximum neighbour distance.

Parameters:maximum_neighbour_distance (PhysicalQuantity of type length) – Set maximum neighbour distance.

Usage Examples

Extend an LCAOCalculator with the DFT-D2 semiempirical dispersion correction by Grimme [Gri06]:

# Grimme DFTD2
# Change/update R0 and C6 for Silicon
correction_extension = GrimmeDFTD2(
    global_scale_factor=0.75,
    damping_factor=20.0,
    maximum_neighbour_distance=30.0*Ang,
    element_parameters={
        Silicon: [1.716*Ang, 9.23*J*nm**6/mol],
        },
    )
# Apply correction to calculator
calculator = LCAOCalculator(correction_extension=correction_extension)

Notes

Recommended values of the global_scale_factor (\(s_6\)) for standard GGA functionals available in the ATK-DFT package: 0.75 (PBE), 1.2 (BLYP), 1.05 (BP86). More can be found in the original publication [Gri06].

[Gri06](1, 2) S. Grimme. Semiempirical GGA-type density functional constructed with a long-range dispersion correction. J. Comput. Chem., 27(15):1787–1799, 2006. doi:10.1002/jcc.20495.