26#include "./base/base_uses.f90"
32 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'exstates_types'
42 REAL(kind=
dp) :: evalue = 0.0_dp
43 TYPE(
cp_fm_type),
POINTER,
DIMENSION(:) :: evect => null()
44 TYPE(
cp_fm_type),
POINTER,
DIMENSION(:) :: cpmos => null()
45 REAL(kind=
dp) :: xsval = 0.0_dp, gsval = 0.0_dp, gsmin = 0.0_dp
56 REAL(kind=
dp) :: evalue = 0.0_dp
57 INTEGER :: xc_kernel_method = -1
58 REAL(kind=
dp) :: eps_delta_rho = 1.e-02_dp
59 INTEGER :: diff_order = -1
60 LOGICAL :: debug_forces = .false.
61 TYPE(
cp_fm_type),
POINTER,
DIMENSION(:) :: evect => null()
62 TYPE(
cp_fm_type),
POINTER,
DIMENSION(:) :: cpmos => null()
65 TYPE(
dbcsr_p_type),
DIMENSION(:),
POINTER :: matrix_pe_admm => null()
67 TYPE(
dbcsr_p_type),
DIMENSION(:),
POINTER :: matrix_px1_admm => null()
68 TYPE(
dbcsr_p_type),
DIMENSION(:),
POINTER :: matrix_px1_asymm => null()
69 TYPE(
dbcsr_p_type),
DIMENSION(:),
POINTER :: matrix_px1_admm_asymm => null()
89 IF (
ASSOCIATED(ex_env))
THEN
114 IF (
ASSOCIATED(ex_env))
THEN
116 NULLIFY (ex_env%matrix_pe)
118 NULLIFY (ex_env%matrix_hz)
120 NULLIFY (ex_env%matrix_pe_admm)
122 NULLIFY (ex_env%matrix_px1)
124 NULLIFY (ex_env%matrix_px1_admm)
126 NULLIFY (ex_env%matrix_px1_asymm)
128 NULLIFY (ex_env%matrix_px1_admm_asymm)
130 NULLIFY (ex_env%matrix_wx1)
144 IF (
ASSOCIATED(ex_env))
THEN
145 IF (
ASSOCIATED(ex_env%vh_rspace%pw_grid))
THEN
146 CALL ex_env%vh_rspace%release()
148 IF (
ASSOCIATED(ex_env%vxc_rspace))
THEN
149 DO iab = 1,
SIZE(ex_env%vxc_rspace)
150 CALL ex_env%vxc_rspace(iab)%release()
152 DEALLOCATE (ex_env%vxc_rspace)
153 NULLIFY (ex_env%vxc_rspace)
155 IF (
ASSOCIATED(ex_env%vtau_rspace))
THEN
156 DO iab = 1,
SIZE(ex_env%vtau_rspace)
157 CALL ex_env%vtau_rspace(iab)%release()
159 DEALLOCATE (ex_env%vtau_rspace)
160 NULLIFY (ex_env%vtau_rspace)
162 IF (
ASSOCIATED(ex_env%vadmm_rspace))
THEN
163 DO iab = 1,
SIZE(ex_env%vadmm_rspace)
164 CALL ex_env%vadmm_rspace(iab)%release()
166 DEALLOCATE (ex_env%vadmm_rspace)
167 NULLIFY (ex_env%vadmm_rspace)
169 IF (
ASSOCIATED(ex_env%local_rho_set))
THEN
171 NULLIFY (ex_env%local_rho_set)
173 IF (
ASSOCIATED(ex_env%local_rho_set_admm))
THEN
175 NULLIFY (ex_env%local_rho_set_admm)
192 LOGICAL,
INTENT(IN) :: excited_state
195 cpassert(.NOT.
ASSOCIATED(ex_env))
197 ex_env%evalue = 0.0_dp
198 NULLIFY (ex_env%evect)
199 IF (excited_state)
THEN
202 i_val=ex_env%xc_kernel_method)
204 l_val=ex_env%debug_forces)
206 r_val=ex_env%eps_delta_rho)
208 i_val=ex_env%diff_order)
213 ex_env%wfn_history%evalue = 0.0_dp
214 ex_env%wfn_history%state = ex_env%state
215 ex_env%wfn_history%xsval = 1.0_dp
216 ex_env%wfn_history%gsval = 1.0_dp
217 ex_env%wfn_history%gsmin = 1.0_dp
218 NULLIFY (ex_env%wfn_history%cpmos)
219 NULLIFY (ex_env%wfn_history%evect)
DBCSR operations in CP2K.
represent a full matrix distributed on many processors
Types for excited states potential energies.
subroutine, public exstate_create(ex_env, excited_state, dft_section)
Allocates and intitializes exstate_env.
subroutine, public exstate_release(ex_env)
...
subroutine, public exstate_matrix_release(ex_env)
...
subroutine, public exstate_potential_release(ex_env)
...
Defines the basic variable types.
integer, parameter, public dp
subroutine, public local_rho_set_release(local_rho_set)
...
Contains information on the excited states energy.