Container for quantum chemistry energy components
Stores energy contributions from different levels of theory. Total energy is computed as: scf + mp2%total() + cc%total()
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(cc_energy_t), | public | :: | cc |
Coupled cluster correlation components |
|||
| type(mp2_energy_t), | public | :: | mp2 |
MP2 correlation components |
|||
| real(kind=dp), | public | :: | scf | = | 0.0_dp |
SCF/HF reference energy (Hartree) |
Reset all components to zero
Reset all energy components to zero
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(energy_t), | intent(inout) | :: | this |
Compute total energy from components
Compute total energy from all components
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(energy_t), | intent(in) | :: | this |
type :: energy_t !! Container for quantum chemistry energy components !! !! Stores energy contributions from different levels of theory. !! Total energy is computed as: scf + mp2%total() + cc%total() real(dp) :: scf = 0.0_dp !! SCF/HF reference energy (Hartree) type(mp2_energy_t) :: mp2 !! MP2 correlation components type(cc_energy_t) :: cc !! Coupled cluster correlation components ! add more as needed, also need to modify the total energy function contains procedure :: total => energy_total !! Compute total energy from components procedure :: reset => energy_reset !! Reset all components to zero end type energy_t