dftd3_disp Module



Interfaces

public interface get_dispersion

Calculate dispersion energy

  • 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


Subroutines

public subroutine get_pairwise_dispersion(mol, disp, param, cutoff, energy2, energy3)

Wrapper to handle the evaluation of pairwise representation of the 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) :: energy2(:,:)

Pairwise representation of additive dispersion energy

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

Pairwise representation of non-additive dispersion energy