get_dispersion Interface

public interface get_dispersion

Calculate dispersion energy


Module Procedures

private subroutine get_dispersion_atomic(mol, disp, param, cutoff, energies, gradient, sigma)

Calculate atom-resolved dispersion energies.

Arguments

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

Molecular structure data

class(d3_model), intent(in) :: disp

Dispersion model

class(damping_param), intent(in) :: param

Damping parameters

type(realspace_cutoff), intent(in) :: cutoff

Realspace cutoffs

real(kind=wp), intent(out) :: energies(:)

Dispersion energy

real(kind=wp), intent(out), optional, contiguous :: gradient(:,:)

Dispersion gradient

real(kind=wp), intent(out), optional, contiguous :: sigma(:,:)

Dispersion virial

private subroutine get_dispersion_scalar(mol, disp, param, cutoff, energy, gradient, sigma)

Calculate scalar dispersion energy.

Arguments

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

Molecular structure data

class(d3_model), intent(in) :: disp

Dispersion model

class(damping_param), intent(in) :: param

Damping parameters

type(realspace_cutoff), intent(in) :: cutoff

Realspace cutoffs

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

Dispersion energy

real(kind=wp), intent(out), optional, contiguous :: gradient(:,:)

Dispersion gradient

real(kind=wp), intent(out), optional, contiguous :: sigma(:,:)

Dispersion virial