25 #include "./base/base_uses.f90"
31 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'qs_kernel_types'
33 LOGICAL,
PARAMETER,
PRIVATE :: debug_this_module = .false.
35 INTEGER,
PARAMETER,
PRIVATE :: nderivs = 3
36 INTEGER,
PARAMETER,
PRIVATE :: maxspins = 2
38 PUBLIC :: full_kernel_env_type, kernel_env_type
46 TYPE full_kernel_env_type
48 TYPE(xc_rho_set_type),
POINTER :: xc_rho_set => null()
50 TYPE(xc_rho_set_type),
POINTER :: xc_rho1_set => null()
52 TYPE(xc_derivative_set_type) :: xc_deriv_set
55 TYPE(section_vals_type),
POINTER :: xc_section => null()
58 TYPE(xc_rho_cflags_type) :: xc_rho1_cflags
60 INTEGER :: deriv_method_id
62 INTEGER :: rho_smooth_id
65 REAL(kind=
dp) :: alpha, beta
67 LOGICAL :: deriv2_analytic
68 LOGICAL :: deriv3_analytic
70 TYPE(lri_environment_type),
POINTER :: lri_env => null()
71 TYPE(lri_density_type),
POINTER :: lri_density => null()
73 TYPE(hfx_type),
DIMENSION(:, :),
POINTER :: x_data => null()
74 TYPE(section_vals_type),
POINTER :: hfxsr_section => null()
75 TYPE(admm_type),
POINTER :: admm_env => null()
76 TYPE(admm_control_type),
POINTER :: admm_control => null()
77 END TYPE full_kernel_env_type
84 TYPE(full_kernel_env_type),
POINTER :: full_kernel => null()
85 TYPE(full_kernel_env_type),
POINTER :: admm_kernel => null()
86 TYPE(stda_env_type),
POINTER :: stda_kernel => null()
87 END TYPE kernel_env_type
98 TYPE(full_kernel_env_type),
POINTER :: kernel_env
100 IF (
ASSOCIATED(kernel_env))
THEN
101 IF (
ASSOCIATED(kernel_env%xc_rho1_set))
THEN
103 DEALLOCATE (kernel_env%xc_rho1_set)
106 IF (
ASSOCIATED(kernel_env%xc_rho_set))
THEN
108 DEALLOCATE (kernel_env%xc_rho_set)
110 IF (
ASSOCIATED(kernel_env%x_data))
THEN
113 IF (
ASSOCIATED(kernel_env%admm_env))
THEN
116 IF (
ASSOCIATED(kernel_env%admm_control))
THEN
Types and set/get functions for auxiliary density matrix methods.
subroutine, public admm_env_release(admm_env)
releases the ADMM environment, cleans up all types
Defines control structures, which contain the parameters and the settings for the DFT-based calculati...
subroutine, public admm_control_release(admm_control)
...
Types and set/get functions for HFX.
subroutine, public hfx_release(x_data)
This routine deallocates all data structures
Defines the basic variable types.
integer, parameter, public dp
contains the types and subroutines for dealing with the lri_env lri : local resolution of the identit...
subroutine, public release_kernel_env(kernel_env)
Release kernel environment.
Simplified Tamm Dancoff approach (sTDA).
represent a group ofunctional derivatives
subroutine, public xc_dset_release(derivative_set)
releases a derivative set
subroutine, public xc_rho_set_release(rho_set, pw_pool)
releases the given rho_set