dftd3_damping_atm Module



Functions

public elemental function triple_scale(ii, jj, kk) result(triple)

Logic exercise to distribute a triple energy to atomwise energies.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ii

Atom indices

integer, intent(in) :: jj

Atom indices

integer, intent(in) :: kk

Atom indices

Return Value real(kind=wp)

Fraction of energy


Subroutines

public subroutine get_atm_dispersion(mol, trans, cutoff, s9, rs9, alp, rvdw, c6, dc6dcn, energy, dEdcn, gradient, sigma)

Evaluation of the dispersion energy expression

Arguments

Type IntentOptional Attributes Name
class(structure_type), intent(in) :: mol

Molecular structure data

real(kind=wp), intent(in) :: trans(:,:)

Lattice points

real(kind=wp), intent(in) :: cutoff

Real space cutoff

real(kind=wp), intent(in) :: s9

Scaling for dispersion coefficients

real(kind=wp), intent(in) :: rs9

Scaling for van-der-Waals radii in damping function

real(kind=wp), intent(in) :: alp

Exponent of zero damping function

real(kind=wp), intent(in) :: rvdw(:,:)

Van-der-Waals radii for all element pairs

real(kind=wp), intent(in) :: c6(:,:)

C6 coefficients for all atom pairs.

real(kind=wp), intent(in), optional :: dc6dcn(:,:)

Derivative of the C6 w.r.t. the coordination number

real(kind=wp), intent(inout) :: energy(:)

Dispersion energy

real(kind=wp), intent(inout), optional :: dEdcn(:)

Derivative of the energy w.r.t. the coordination number

real(kind=wp), intent(inout), optional :: gradient(:,:)

Dispersion gradient

real(kind=wp), intent(inout), optional :: sigma(:,:)

Dispersion virial

public subroutine get_atm_dispersion_derivs(mol, trans, cutoff, s9, rs9, alp, rvdw, c6, dc6dcn, energy, dEdcn, gradient, sigma)

Evaluation of the dispersion energy expression

Arguments

Type IntentOptional Attributes Name
class(structure_type), intent(in) :: mol

Molecular structure data

real(kind=wp), intent(in) :: trans(:,:)

Lattice points

real(kind=wp), intent(in) :: cutoff

Real space cutoff

real(kind=wp), intent(in) :: s9

Scaling for dispersion coefficients

real(kind=wp), intent(in) :: rs9

Scaling for van-der-Waals radii in damping function

real(kind=wp), intent(in) :: alp

Exponent of zero damping function

real(kind=wp), intent(in) :: rvdw(:,:)

Van-der-Waals radii for all element pairs

real(kind=wp), intent(in) :: c6(:,:)

C6 coefficients for all atom pairs.

real(kind=wp), intent(in) :: dc6dcn(:,:)

Derivative of the C6 w.r.t. the coordination number

real(kind=wp), intent(inout) :: energy(:)

Dispersion energy

real(kind=wp), intent(inout) :: dEdcn(:)

Derivative of the energy w.r.t. the coordination number

real(kind=wp), intent(inout) :: gradient(:,:)

Dispersion gradient

real(kind=wp), intent(inout) :: sigma(:,:)

Dispersion virial

public subroutine get_atm_dispersion_energy(mol, trans, cutoff, s9, rs9, alp, rvdw, c6, energy)

Evaluation of the dispersion energy expression

Arguments

Type IntentOptional Attributes Name
class(structure_type), intent(in) :: mol

Molecular structure data

real(kind=wp), intent(in) :: trans(:,:)

Lattice points

real(kind=wp), intent(in) :: cutoff

Real space cutoff

real(kind=wp), intent(in) :: s9

Scaling for dispersion coefficients

real(kind=wp), intent(in) :: rs9

Scaling for van-der-Waals radii in damping function

real(kind=wp), intent(in) :: alp

Exponent of zero damping function

real(kind=wp), intent(in) :: rvdw(:,:)

Van-der-Waals radii for all element pairs

real(kind=wp), intent(in) :: c6(:,:)

C6 coefficients for all atom pairs.

real(kind=wp), intent(inout) :: energy(:)

Dispersion energy

public subroutine get_atm_pairwise_dispersion(mol, trans, cutoff, s9, rs9, alp, rvdw, c6, energy)

Evaluation of the dispersion energy expression

Arguments

Type IntentOptional Attributes Name
class(structure_type), intent(in) :: mol

Molecular structure data

real(kind=wp), intent(in) :: trans(:,:)

Lattice points

real(kind=wp), intent(in) :: cutoff

Real space cutoff

real(kind=wp), intent(in) :: s9

Scaling for dispersion coefficients

real(kind=wp), intent(in) :: rs9

Scaling for van-der-Waals radii in damping function

real(kind=wp), intent(in) :: alp

Exponent of zero damping function

real(kind=wp), intent(in) :: rvdw(:,:)

Van-der-Waals radii for all element pairs

real(kind=wp), intent(in) :: c6(:,:)

C6 coefficients for all atom pairs.

real(kind=wp), intent(inout) :: energy(:,:)

Dispersion energy