17#include "./base/base_uses.f90"
23 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'qs_energy_types'
26 REAL(kind=
dp) :: core = 0.0_dp, &
27 core_overlap = 0.0_dp, &
28 core_overlap0 = 0.0_dp, &
31 dispersion = 0.0_dp, &
38 exc_aux_fit = 0.0_dp, &
40 exc1_aux_fit = 0.0_dp, &
42 hartree_1c = 0.0_dp, &
45 image_charge = 0.0_dp, &
53 efield_core = 0.0_dp, &
54 s2_restraint = 0.0_dp, &
56 sccs_hartree = 0.0_dp, &
66 nonscf_correction = 0.0_dp, &
71 singles_corr = 0.0_dp, &
73 excited_state = 0.0_dp, &
78 surf_dipole = 0.0_dp, &
79 embed_corr = 0.0_dp, &
80 xtb_xb_inter = 0.0_dp, &
81 xtb_nonbonded = 0.0_dp
82 REAL(kind=
dp),
DIMENSION(:),
POINTER :: ddapc_restraint => null()
108 CHARACTER(len=*),
PARAMETER :: routinen =
'allocate_qs_energy'
112 CALL timeset(routinen, handle)
119 CALL timestop(handle)
134 IF (
ASSOCIATED(
qs_energy%ddapc_restraint))
THEN
139 CALL cp_abort(__location__, &
140 "The qs_energy pointer is not associated "// &
141 "and cannot be deallocated")
200 IF (.NOT.
ASSOCIATED(
qs_energy%ddapc_restraint))
THEN
205 CALL cp_abort(__location__, &
206 "The qs_energy pointer is not associated "// &
207 "and cannot be initialised")
Add the DFT+U contribution to the Hamiltonian matrix.
Defines the basic variable types.
integer, parameter, public dp
Routines to calculate MP2 energy.
compute mulliken charges we (currently) define them as c_i = 1/2 [ (PS)_{ii} + (SP)_{ii} ]
subroutine, public init_qs_energy(qs_energy)
Initialise a Quickstep energy data structure.
subroutine, public deallocate_qs_energy(qs_energy)
Deallocate a Quickstep energy data structure.
subroutine, public allocate_qs_energy(qs_energy)
Allocate and/or initialise a Quickstep energy data structure.
Perform a QUICKSTEP wavefunction optimization (single point)