25#include "./base/base_uses.f90"
31 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'exstates_types'
41 REAL(kind=
dp) :: evalue = 0.0_dp
42 TYPE(
cp_fm_type),
POINTER,
DIMENSION(:) :: evect => null()
43 TYPE(
cp_fm_type),
POINTER,
DIMENSION(:) :: cpmos => null()
44 REAL(kind=
dp) :: xsval = 0.0_dp, gsval = 0.0_dp, gsmin = 0.0_dp
55 REAL(kind=
dp) :: evalue = 0.0_dp
56 LOGICAL :: debug_forces = .false.
57 TYPE(
cp_fm_type),
POINTER,
DIMENSION(:) :: evect => null()
58 TYPE(
cp_fm_type),
POINTER,
DIMENSION(:) :: cpmos => null()
61 TYPE(
dbcsr_p_type),
DIMENSION(:),
POINTER :: matrix_pe_admm => null()
63 TYPE(
dbcsr_p_type),
DIMENSION(:),
POINTER :: matrix_px1_admm => null()
64 TYPE(
dbcsr_p_type),
DIMENSION(:),
POINTER :: matrix_px1_asymm => null()
65 TYPE(
dbcsr_p_type),
DIMENSION(:),
POINTER :: matrix_px1_admm_asymm => null()
75 TYPE(
cp_fm_type),
POINTER,
DIMENSION(:, :) :: bse_w_matrix_mo => null()
76 TYPE(
cp_fm_type),
POINTER,
DIMENSION(:, :) :: bse_a_matrix_mo => null()
77 REAL(kind=
dp),
ALLOCATABLE,
DIMENSION(:) :: gw_eigen
90 IF (
ASSOCIATED(ex_env))
THEN
105 IF (
ALLOCATED(ex_env%gw_eigen))
THEN
106 DEALLOCATE (ex_env%gw_eigen)
122 IF (
ASSOCIATED(ex_env))
THEN
124 NULLIFY (ex_env%matrix_ks)
126 NULLIFY (ex_env%matrix_pe)
128 NULLIFY (ex_env%matrix_hz)
130 NULLIFY (ex_env%matrix_pe_admm)
132 NULLIFY (ex_env%matrix_px1)
134 NULLIFY (ex_env%matrix_px1_admm)
136 NULLIFY (ex_env%matrix_px1_asymm)
138 NULLIFY (ex_env%matrix_px1_admm_asymm)
140 NULLIFY (ex_env%matrix_wx1)
154 IF (
ASSOCIATED(ex_env))
THEN
155 IF (
ASSOCIATED(ex_env%vh_rspace%pw_grid))
THEN
156 CALL ex_env%vh_rspace%release()
158 IF (
ASSOCIATED(ex_env%vxc_rspace))
THEN
159 DO iab = 1,
SIZE(ex_env%vxc_rspace)
160 CALL ex_env%vxc_rspace(iab)%release()
162 DEALLOCATE (ex_env%vxc_rspace)
163 NULLIFY (ex_env%vxc_rspace)
165 IF (
ASSOCIATED(ex_env%vtau_rspace))
THEN
166 DO iab = 1,
SIZE(ex_env%vtau_rspace)
167 CALL ex_env%vtau_rspace(iab)%release()
169 DEALLOCATE (ex_env%vtau_rspace)
170 NULLIFY (ex_env%vtau_rspace)
172 IF (
ASSOCIATED(ex_env%vadmm_rspace))
THEN
173 DO iab = 1,
SIZE(ex_env%vadmm_rspace)
174 CALL ex_env%vadmm_rspace(iab)%release()
176 DEALLOCATE (ex_env%vadmm_rspace)
177 NULLIFY (ex_env%vadmm_rspace)
179 IF (
ASSOCIATED(ex_env%vadmm_tau_rspace))
THEN
180 DO iab = 1,
SIZE(ex_env%vadmm_tau_rspace)
181 CALL ex_env%vadmm_tau_rspace(iab)%release()
183 DEALLOCATE (ex_env%vadmm_tau_rspace)
184 NULLIFY (ex_env%vadmm_tau_rspace)
186 IF (
ASSOCIATED(ex_env%local_rho_set))
THEN
188 NULLIFY (ex_env%local_rho_set)
190 IF (
ASSOCIATED(ex_env%local_rho_set_admm))
THEN
192 NULLIFY (ex_env%local_rho_set_admm)
209 LOGICAL,
INTENT(IN) :: excited_state
212 cpassert(.NOT.
ASSOCIATED(ex_env))
214 ex_env%evalue = 0.0_dp
215 NULLIFY (ex_env%evect)
216 NULLIFY (ex_env%cpmos)
217 NULLIFY (ex_env%bse_w_matrix_MO)
218 NULLIFY (ex_env%bse_a_matrix_MO)
219 IF (excited_state)
THEN
222 l_val=ex_env%debug_forces)
226 ex_env%wfn_history%evalue = 0.0_dp
227 ex_env%wfn_history%state = ex_env%state
228 ex_env%wfn_history%xsval = 1.0_dp
229 ex_env%wfn_history%gsval = 1.0_dp
230 ex_env%wfn_history%gsmin = 1.0_dp
231 NULLIFY (ex_env%wfn_history%cpmos)
232 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.