Optimized power 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 | :: | bet | ||||
| 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(optimizedpower_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(optimizedpower_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(optimizedpower_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(optimizedpower_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.
Only meaningful for damping functions reporting support for the Ewald summation, all others contribute no terms.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(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(optimizedpower_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(optimizedpower_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(optimizedpower_damping_param), | intent(in) | :: | self |
Damping parameters |
Whether the three-body term contributes
Whether the damping function can be evaluated by Ewald summation
Whether the damping function has a known reciprocal space representation.
Damping functions which are not rational in the interatomic distance, or whose damping radius depends on the C6 coefficient, cannot be brought into the separable form required by the Ewald summation.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(damping_param), | intent(in) | :: | self |
Damping parameters |
Whether the damping function can be evaluated in reciprocal space
type, extends(damping_param) :: optimizedpower_damping_param real(wp) :: s6 real(wp) :: s8 real(wp) :: s9 real(wp) :: a1 real(wp) :: a2 real(wp) :: alp real(wp) :: bet 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 !> Evaluate ATM three-body contribution to the hessian procedure :: get_dispersion3_hessian end type optimizedpower_damping_param