dftd3_damping_zero Module



Derived Types

type, public, extends(damping_param) ::  zero_damping_param

Zero (Chai-Head-Gordon) damping model

Components

Type Visibility Attributes Name Initial
real(kind=wp), public :: alp
real(kind=wp), public :: rs6
real(kind=wp), public :: rs8
real(kind=wp), public :: s6
real(kind=wp), public :: s8
real(kind=wp), public :: s9

Type-Bound Procedures

procedure, public :: get_damping_kernel

Evaluate pair kernel and its derivatives

generic, public :: get_dispersion2 => get_dispersion2_impl, get_dispersion2_compat
procedure, public :: get_dispersion2_compat
procedure, public :: get_dispersion2_ewald

Evaluate the two-body dispersion energy by Ewald summation

procedure, public :: get_dispersion2_impl => get_dispersion2

Evaluate pairwise dispersion energy expression

generic, public :: get_dispersion3 => get_dispersion3_impl, get_dispersion3_compat
procedure, public :: get_dispersion3_compat
procedure, public :: get_dispersion3_hessian

Evaluate ATM three-body contribution to the hessian

procedure, public :: get_dispersion3_impl => get_dispersion3

Evaluate ATM three-body dispersion energy expression

procedure, public :: get_fourier_terms

Reciprocal space representation of the damped pair potential

generic, public :: get_pairwise_dispersion2 => get_pairwise_dispersion2_impl, get_pairwise_dispersion2_compat
procedure, public :: get_pairwise_dispersion2_compat
procedure, public :: get_pairwise_dispersion2_impl => get_pairwise_dispersion2

Evaluate pairwise representation of additive dispersion energy

generic, public :: get_pairwise_dispersion3 => get_pairwise_dispersion3_impl, get_pairwise_dispersion3_compat
procedure, public :: get_pairwise_dispersion3_compat
procedure, public :: get_pairwise_dispersion3_impl => get_pairwise_dispersion3

Evaluate pairwise representation of non-additive dispersion energy

procedure, public :: has_threebody

Whether the three-body term contributes to the energy

procedure, public :: supports_ewald

Zero damping has a closed form Fourier transform for integer exponents


Subroutines

public subroutine new_zero_damping(self, param)

Create new zero damping model

Arguments

Type IntentOptional Attributes Name
type(zero_damping_param), intent(out) :: self

Zero damping parameters

type(d3_param), intent(in) :: param

Parameters