Rational (Becke-Johnson) damping model
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=wp), | public | :: | a1 | ||||
| real(kind=wp), | public | :: | a2 | ||||
| real(kind=wp), | public | :: | alp | ||||
| real(kind=wp), | public | :: | s6 | ||||
| real(kind=wp), | public | :: | s8 | ||||
| real(kind=wp), | public | :: | s9 |
Evaluate pair kernel and its derivatives
Pair dispersion kernel and its derivatives w.r.t. squared distance and C6
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(rational_damping_param), | intent(in) | :: | self |
Damping parameters |
||
| integer, | intent(in) | :: | izp |
Species indices of the pair |
||
| integer, | intent(in) | :: | jzp |
Species indices of the pair |
||
| real(kind=wp), | intent(in) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for C8 extrapolation |
||
| real(kind=wp), | intent(in) | :: | r2 |
Squared distance of the pair |
||
| real(kind=wp), | intent(in) | :: | c6 |
C6 coefficient of the pair |
||
| real(kind=wp), | intent(out) | :: | e |
Pair energy and its derivatives |
||
| real(kind=wp), | intent(out) | :: | er |
Pair energy and its derivatives |
||
| real(kind=wp), | intent(out) | :: | ec |
Pair energy and its derivatives |
||
| real(kind=wp), | intent(out) | :: | err |
Pair energy and its derivatives |
||
| real(kind=wp), | intent(out) | :: | erc |
Pair energy and its derivatives |
||
| real(kind=wp), | intent(out) | :: | ecc |
Pair energy and its derivatives |
Evaluation of the dispersion energy expression
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(zero_damping_param), | intent(in) | :: | self |
Damping parameters |
||
| 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) | :: | width |
Width of smooth cutoff |
||
| real(kind=wp), | intent(in) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for C8 extrapolation |
||
| 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 |
|
| type(work_partition), | intent(in), | optional | :: | partition |
Work partition of the atom pairs, defaults to the complete work |
Evaluation of the dispersion energy expression
deprecated: removed with the v2 API, use the interface with an explicit width
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(damping_param), | intent(in) | :: | self |
Damping parameters |
||
| 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) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for C8 extrapolation |
||
| 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 |
Evaluation of the dispersion energy expression
deprecated: removed with the v2 API, use the interface with an explicit width
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(damping_param), | intent(in) | :: | self |
Damping parameters |
||
| 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) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for C8 extrapolation |
||
| 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 |
Evaluate the two-body dispersion energy by Ewald summation
Evaluate the two-body dispersion energy by summation over the reciprocal lattice.
Requires a separable representation of the C6 coefficients in the dispersion model and a damping function supporting the Ewald summation.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(damping_param), | intent(in) | :: | self |
Damping parameters |
||
| class(structure_type), | intent(in) | :: | mol |
Molecular structure data |
||
| class(d3_model), | intent(in) | :: | disp |
Dispersion model |
||
| real(kind=wp), | intent(in) | :: | gwvec(:,:) |
Weighting function for the atomic reference systems |
||
| real(kind=wp), | intent(in), | optional | :: | gwdcn(:,:) |
Derivative of the weighting function w.r.t. the coordination number |
|
| real(kind=wp), | intent(inout) | :: | energies(:) |
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 |
|
| type(error_type), | intent(out), | allocatable | :: | error |
Error handling |
|
| type(work_partition), | intent(in), | optional | :: | partition |
Work partition of the reciprocal space summation |
Evaluate pairwise dispersion energy expression
Evaluation of the dispersion energy expression
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(rational_damping_param), | intent(in) | :: | self |
Damping parameters |
||
| 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) | :: | width |
Width of smooth cutoff |
||
| real(kind=wp), | intent(in) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for C8 extrapolation |
||
| 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 |
|
| type(work_partition), | intent(in), | optional | :: | partition |
Work partition of the atom pairs, defaults to the complete work |
Evaluation of the dispersion energy expression
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(zero_damping_param), | intent(in) | :: | self |
Damping parameters |
||
| 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) | :: | width |
Width of smooth cutoff |
||
| real(kind=wp), | intent(in) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for C8 extrapolation |
||
| 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 |
|
| type(work_partition), | intent(in), | optional | :: | partition |
Work partition of the atom pairs, defaults to the complete work |
Evaluation of the dispersion energy expression
deprecated: removed with the v2 API, use the interface with an explicit width
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(damping_param), | intent(in) | :: | self |
Damping parameters |
||
| 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) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for C8 extrapolation |
||
| 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 |
Evaluation of the dispersion energy expression
deprecated: removed with the v2 API, use the interface with an explicit width
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(damping_param), | intent(in) | :: | self |
Damping parameters |
||
| 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) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for C8 extrapolation |
||
| 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 |
Evaluate ATM three-body contribution to the hessian
Evaluation of the three-body contribution to the hessian
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(rational_damping_param), | intent(in) | :: | self |
Damping parameters |
||
| 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) | :: | width |
Width of smooth cutoff |
||
| real(kind=wp), | intent(in) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for C8 extrapolation |
||
| real(kind=wp), | intent(in) | :: | c6(:,:) |
C6 coefficients for all atom pairs. |
||
| real(kind=wp), | intent(in) | :: | dc6dcn(:,:) |
Derivatives of the C6 w.r.t. the coordination number |
||
| real(kind=wp), | intent(in) | :: | d2c6dcn2(:,:) |
Derivatives of the C6 w.r.t. the coordination number |
||
| real(kind=wp), | intent(in) | :: | d2c6dcnij(:,:) |
Derivatives of the C6 w.r.t. the coordination number |
||
| real(kind=wp), | intent(inout) | :: | hessian(:,:) |
Second derivative of the energy w.r.t. the Cartesian coordinates |
||
| real(kind=wp), | intent(inout) | :: | dEdcn(:) |
Derivative of the energy w.r.t. the coordination number |
||
| real(kind=wp), | intent(inout) | :: | dEdcndr(:,:) |
Mixed derivative w.r.t. coordination number and Cartesian coordinates |
||
| real(kind=wp), | intent(inout) | :: | dEdcndcn(:,:) |
Second derivative w.r.t. the coordination numbers |
||
| type(work_partition), | intent(in), | optional | :: | partition |
Work partition of the atom pairs, defaults to the complete work |
Evaluate ATM three-body dispersion energy expression
Evaluation of the dispersion energy expression
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(rational_damping_param), | intent(in) | :: | self |
Damping parameters |
||
| 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) | :: | width |
Width of smooth cutoff |
||
| real(kind=wp), | intent(in) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for C8 extrapolation |
||
| 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 |
|
| type(work_partition), | intent(in), | optional | :: | partition |
Work partition of the atom pairs, defaults to the complete work |
Reciprocal space representation of the damped pair potential
Reciprocal space representation of the damped pair potential
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(rational_damping_param), | intent(in) | :: | self |
Damping parameters |
||
| integer, | intent(in) | :: | izp |
Species indices of the pair |
||
| integer, | intent(in) | :: | jzp |
Species indices of the pair |
||
| real(kind=wp), | intent(in) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for C8 extrapolation |
||
| type(fourier_term), | intent(out) | :: | terms(:) |
Terms of the damped pair potential |
||
| integer, | intent(out) | :: | nterm |
Number of terms of the damped pair potential |
Evaluation of the dispersion energy expression projected on atomic pairs
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(zero_damping_param), | intent(in) | :: | self |
Damping parameters |
||
| 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) | :: | width |
Width of smooth cutoff |
||
| real(kind=wp), | intent(in) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for r4 over r2 operator |
||
| real(kind=wp), | intent(in) | :: | c6(:,:) |
C6 coefficients for all atom pairs. |
||
| real(kind=wp), | intent(inout) | :: | energy(:,:) |
Dispersion energy |
Evaluation of the pairwise representation of the dispersion energy
deprecated: removed with the v2 API, use the interface with an explicit width
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(damping_param), | intent(in) | :: | self |
Damping parameters |
||
| 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) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for r4 over r2 operator |
||
| real(kind=wp), | intent(in) | :: | c6(:,:) |
C6 coefficients for all atom pairs. |
||
| real(kind=wp), | intent(inout) | :: | energy(:,:) |
Pairwise representation of the dispersion energy |
Evaluation of the pairwise representation of the dispersion energy
deprecated: removed with the v2 API, use the interface with an explicit width
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(damping_param), | intent(in) | :: | self |
Damping parameters |
||
| 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) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for r4 over r2 operator |
||
| real(kind=wp), | intent(in) | :: | c6(:,:) |
C6 coefficients for all atom pairs. |
||
| real(kind=wp), | intent(inout) | :: | energy(:,:) |
Pairwise representation of the dispersion energy |
Evaluate pairwise representation of additive dispersion energy
Evaluation of the dispersion energy expression projected on atomic pairs
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(rational_damping_param), | intent(in) | :: | self |
Damping parameters |
||
| 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) | :: | width |
Width of smooth cutoff |
||
| real(kind=wp), | intent(in) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for r4 over r2 operator |
||
| real(kind=wp), | intent(in) | :: | c6(:,:) |
C6 coefficients for all atom pairs. |
||
| real(kind=wp), | intent(inout) | :: | energy(:,:) |
Dispersion energy |
Evaluation of the dispersion energy expression
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(zero_damping_param), | intent(in) | :: | self |
Damping parameters |
||
| 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) | :: | width |
Width of smooth cutoff |
||
| real(kind=wp), | intent(in) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for r4 over r2 operator |
||
| real(kind=wp), | intent(in) | :: | c6(:,:) |
C6 coefficients for all atom pairs. |
||
| real(kind=wp), | intent(inout) | :: | energy(:,:) |
Dispersion energy |
Evaluation of the pairwise representation of the dispersion energy
deprecated: removed with the v2 API, use the interface with an explicit width
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(damping_param), | intent(in) | :: | self |
Damping parameters |
||
| 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) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for r4 over r2 operator |
||
| real(kind=wp), | intent(in) | :: | c6(:,:) |
C6 coefficients for all atom pairs. |
||
| real(kind=wp), | intent(inout) | :: | energy(:,:) |
Pairwise representation of the dispersion energy |
Evaluation of the pairwise representation of the dispersion energy
deprecated: removed with the v2 API, use the interface with an explicit width
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(damping_param), | intent(in) | :: | self |
Damping parameters |
||
| 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) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for r4 over r2 operator |
||
| real(kind=wp), | intent(in) | :: | c6(:,:) |
C6 coefficients for all atom pairs. |
||
| real(kind=wp), | intent(inout) | :: | energy(:,:) |
Pairwise representation of the dispersion energy |
Evaluate pairwise representation of non-additive dispersion energy
Evaluation of the dispersion energy expression
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(rational_damping_param), | intent(in) | :: | self |
Damping parameters |
||
| 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) | :: | width |
Width of smooth cutoff |
||
| real(kind=wp), | intent(in) | :: | rvdw(:,:) |
Van-der-Waals radii for damping function |
||
| real(kind=wp), | intent(in) | :: | r4r2(:) |
Expectation values for r4 over r2 operator |
||
| real(kind=wp), | intent(in) | :: | c6(:,:) |
C6 coefficients for all atom pairs. |
||
| real(kind=wp), | intent(inout) | :: | energy(:,:) |
Dispersion energy |
Whether the three-body term contributes to the energy
Whether the three-body term contributes to the energy
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(rational_damping_param), | intent(in) | :: | self |
Damping parameters |
Whether the three-body term contributes
Rational damping has a closed form Fourier transform
Rational damping has a closed form Fourier transform
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(rational_damping_param), | intent(in) | :: | self |
Damping parameters |
Whether the damping function can be evaluated in reciprocal space
type, extends(damping_param) :: rational_damping_param real(wp) :: s6 real(wp) :: s8 real(wp) :: s9 real(wp) :: a1 real(wp) :: a2 real(wp) :: alp contains !> Evaluate pairwise dispersion energy expression procedure :: get_dispersion2_impl => get_dispersion2 !> Evaluate ATM three-body dispersion energy expression procedure :: get_dispersion3_impl => get_dispersion3 !> Whether the three-body term contributes to the energy procedure :: has_threebody !> Evaluate pairwise representation of additive dispersion energy procedure :: get_pairwise_dispersion2_impl => get_pairwise_dispersion2 !> Evaluate pairwise representation of non-additive dispersion energy procedure :: get_pairwise_dispersion3_impl => get_pairwise_dispersion3 !> Evaluate pair kernel and its derivatives procedure :: get_damping_kernel !> Rational damping has a closed form Fourier transform procedure :: supports_ewald !> Reciprocal space representation of the damped pair potential procedure :: get_fourier_terms !> Evaluate ATM three-body contribution to the hessian procedure :: get_dispersion3_hessian end type rational_damping_param