29#include "./base/base_uses.f90"
36 LOGICAL,
PRIVATE,
PARAMETER :: debug_this_module = .true.
37 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'qs_p_env_types'
59 LOGICAL :: orthogonal_orbitals = .false.
66 TYPE(
cp_fm_type),
DIMENSION(:),
POINTER :: m_epsilon => null()
67 TYPE(
cp_fm_type),
DIMENSION(:),
POINTER :: psi0d => null()
68 TYPE(
cp_fm_type),
DIMENSION(:),
POINTER :: s_psi0 => null()
69 TYPE(
cp_fm_type),
DIMENSION(:),
POINTER :: smo_inv => null()
73 INTEGER,
DIMENSION(2) :: n_mo = -1, &
81 TYPE(
cp_fm_type),
DIMENSION(:),
POINTER :: ps_psi0 => null()
84 LOGICAL :: new_preconditioner = .false.
104 IF (
ASSOCIATED(p_env%kpp1_env))
THEN
106 DEALLOCATE (p_env%kpp1_env)
107 NULLIFY (p_env%kpp1_env)
113 IF (
ASSOCIATED(p_env%rho1_xc))
THEN
115 DEALLOCATE (p_env%rho1_xc)
117 IF (
ASSOCIATED(p_env%rho1))
THEN
119 DEALLOCATE (p_env%rho1)
121 IF (
ASSOCIATED(p_env%rho1_admm))
THEN
123 DEALLOCATE (p_env%rho1_admm)
130 IF (
ASSOCIATED(p_env%local_rho_set))
THEN
133 IF (
ASSOCIATED(p_env%hartree_local))
THEN
136 IF (
ASSOCIATED(p_env%local_rho_set_admm))
THEN
139 IF (
ASSOCIATED(p_env%PS_psi0))
THEN
142 IF (
ASSOCIATED(p_env%preconditioner))
THEN
143 DO ip = 1,
SIZE(p_env%preconditioner, 1)
146 DEALLOCATE (p_env%preconditioner)
DBCSR operations in CP2K.
represent a full matrix distributed on many processors
subroutine, public hartree_local_release(hartree_local)
...
subroutine, public destroy_preconditioner(preconditioner_env)
...
computes preconditioners, and implements methods to apply them currently used in qs_ot
basis types for the calculation of the perturbation of density theory.
subroutine, public kpp1_release(kpp1_env)
releases a kpp1_env (see doc/ReferenceCounting.html)
subroutine, public local_rho_set_release(local_rho_set)
...
basis types for the calculation of the perturbation of density theory.
subroutine, public p_env_release(p_env)
relases the given p_env (see doc/ReferenceCounting.html)
superstucture that hold various representations of the density and keeps track of which ones are vali...
subroutine, public qs_rho_release(rho_struct)
releases a rho_struct by decreasing the reference count by one and deallocating if it reaches 0 (to b...
environment that keeps the informations and temporary val to build the kpp1 kernel matrix
Represent a qs system that is perturbed. Can calculate the linear operator and the rhs of the system ...
keeps the density in various representations, keeping track of which ones are valid.