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, &
32 dispersion = 0.0_dp, &
33 dispersion_sc = 0.0_dp, &
40 exc_aux_fit = 0.0_dp, &
42 exc1_aux_fit = 0.0_dp, &
44 hartree_1c = 0.0_dp, &
47 image_charge = 0.0_dp, &
55 efield_core = 0.0_dp, &
56 s2_restraint = 0.0_dp, &
58 sccs_hartree = 0.0_dp, &
68 nonscf_correction = 0.0_dp, &
73 singles_corr = 0.0_dp, &
75 excited_state = 0.0_dp, &
80 surf_dipole = 0.0_dp, &
81 embed_corr = 0.0_dp, &
82 xtb_xb_inter = 0.0_dp, &
83 xtb_nonbonded = 0.0_dp
84 REAL(kind=
dp),
DIMENSION(:),
POINTER :: ddapc_restraint => null()
110 CHARACTER(len=*),
PARAMETER :: routinen =
'allocate_qs_energy'
114 CALL timeset(routinen, handle)
121 CALL timestop(handle)
136 IF (
ASSOCIATED(
qs_energy%ddapc_restraint))
THEN
141 CALL cp_abort(__location__, &
142 "The qs_energy pointer is not associated "// &
143 "and cannot be deallocated")
203 IF (.NOT.
ASSOCIATED(
qs_energy%ddapc_restraint))
THEN
208 CALL cp_abort(__location__, &
209 "The qs_energy pointer is not associated "// &
210 "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)