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()
78 TYPE(
cp_fm_type),
POINTER,
DIMENSION(:, :) :: bse_w_matrix_mo => null()
79 REAL(kind=
dp),
ALLOCATABLE,
DIMENSION(:) :: gw_eigen
92 IF (
ASSOCIATED(ex_env))
THEN
106 IF (
ALLOCATED(ex_env%gw_eigen)) &
107 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%local_rho_set))
THEN
181 NULLIFY (ex_env%local_rho_set)
183 IF (
ASSOCIATED(ex_env%local_rho_set_admm))
THEN
185 NULLIFY (ex_env%local_rho_set_admm)
202 LOGICAL,
INTENT(IN) :: excited_state
205 cpassert(.NOT.
ASSOCIATED(ex_env))
207 ex_env%evalue = 0.0_dp
208 NULLIFY (ex_env%evect)
209 NULLIFY (ex_env%cpmos)
210 NULLIFY (ex_env%bse_w_matrix_MO)
211 IF (excited_state)
THEN
214 i_val=ex_env%xc_kernel_method)
216 l_val=ex_env%debug_forces)
218 r_val=ex_env%eps_delta_rho)
220 i_val=ex_env%diff_order)
225 ex_env%wfn_history%evalue = 0.0_dp
226 ex_env%wfn_history%state = ex_env%state
227 ex_env%wfn_history%xsval = 1.0_dp
228 ex_env%wfn_history%gsval = 1.0_dp
229 ex_env%wfn_history%gsmin = 1.0_dp
230 NULLIFY (ex_env%wfn_history%cpmos)
231 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.