dftd3_damping_optimizedpower Module



Derived Types

type, public, extends(damping_param) ::  optimizedpower_damping_param

Optimized power damping model

Components

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

Whether the damping function can be evaluated by Ewald summation


Subroutines

public subroutine new_optimizedpower_damping(self, param)

Create new optimized power damping model

Arguments

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

Optimized power damping parameters

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

Parameters