16 #include "./base/base_uses.f90"
19 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'fist_energy_types'
25 REAL(kind=
dp) :: kin, pot, e_gspace, e_self, e_neut, e_bonded, e_induction
26 REAL(kind=
dp) :: kin_shell, harm_shell
27 END TYPE fist_energy_type
31 PUBLIC :: fist_energy_type
48 TYPE(fist_energy_type),
POINTER :: fist_energy
50 IF (.NOT.
ASSOCIATED(fist_energy))
THEN
51 ALLOCATE (fist_energy)
54 CALL init_fist_energy(fist_energy)
66 TYPE(fist_energy_type),
POINTER :: fist_energy
68 IF (
ASSOCIATED(fist_energy))
THEN
69 DEALLOCATE (fist_energy)
71 CALL cp_abort(__location__, &
72 "The fist_energy pointer is not associated "// &
73 "and cannot be deallocated.")
85 SUBROUTINE init_fist_energy(fist_energy)
86 TYPE(fist_energy_type),
POINTER :: fist_energy
88 IF (
ASSOCIATED(fist_energy))
THEN
89 fist_energy%kin = 0.0_dp
90 fist_energy%pot = 0.0_dp
91 fist_energy%e_gspace = 0.0_dp
92 fist_energy%e_self = 0.0_dp
93 fist_energy%e_neut = 0.0_dp
94 fist_energy%e_bonded = 0.0_dp
95 fist_energy%e_induction = 0.0_dp
96 fist_energy%kin_shell = 0.0_dp
97 fist_energy%harm_shell = 0.0_dp
99 CALL cp_abort(__location__, &
100 "The fist_energy pointer is not associated "// &
101 "and cannot be initialised.")
104 END SUBROUTINE init_fist_energy
subroutine, public allocate_fist_energy(fist_energy)
Allocate and/or initialise a Fist energy data structure.
subroutine, public deallocate_fist_energy(fist_energy)
Deallocate a Fist energy data structure.
Defines the basic variable types.
integer, parameter, public dp