dftd3_damping_cso Module



Derived Types

type, public, extends(damping_param) ::  cso_damping_param

CSO (C6-Scaled Only) damping model

Components

Type Visibility Attributes Name Initial
real(kind=wp), public :: a1
real(kind=wp), public :: a2
real(kind=wp), public :: a3
real(kind=wp), public :: a4
real(kind=wp), public :: alp
real(kind=wp), public :: s6
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

Whether the damping function can be evaluated by Ewald summation


Subroutines

public subroutine new_cso_damping(self, param)

Create new CSO damping model

Arguments

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

CSO damping parameters

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

Parameters