31 TYPE(grid_atom_type),
POINTER :: grid_atom => null()
32 END TYPE grid_atom_p_type
34 TYPE harmonics_atom_p_type
35 TYPE(harmonics_atom_type),
POINTER :: harmonics_atom => null()
36 END TYPE harmonics_atom_p_type
54 REAL(
dp),
POINTER,
DIMENSION(:) :: evals_a => null(), &
60 REAL(
dp),
ALLOCATABLE,
DIMENSION(:) :: soc_evals, &
73 INTEGER :: nspins = -1
74 TYPE(grid_atom_p_type),
DIMENSION(:),
POINTER :: grid_atom_set => null()
75 TYPE(harmonics_atom_p_type),
DIMENSION(:),
POINTER :: harmonics_atom_set => null()
89 NULLIFY (soc_env%orb_soc)
90 NULLIFY (soc_env%evals_a)
91 NULLIFY (soc_env%evals_b)
92 NULLIFY (soc_env%dipmat, soc_env%dipmat_ao)
105 IF (
ASSOCIATED(soc_env%orb_soc))
THEN
106 DO i = 1,
SIZE(soc_env%orb_soc)
108 DEALLOCATE (soc_env%orb_soc(i)%matrix)
110 DEALLOCATE (soc_env%orb_soc)
115 IF (
ASSOCIATED(soc_env%evals_a))
NULLIFY (soc_env%evals_a)
116 IF (
ASSOCIATED(soc_env%evals_b))
NULLIFY (soc_env%evals_b)
117 IF (
ASSOCIATED(soc_env%dipmat))
THEN
118 DO i = 1,
SIZE(soc_env%dipmat)
120 DEALLOCATE (soc_env%dipmat(i)%matrix)
122 DEALLOCATE (soc_env%dipmat)
124 IF (
ASSOCIATED(soc_env%dipmat_ao))
THEN
125 DO i = 1,
SIZE(soc_env%dipmat_ao)
127 DEALLOCATE (soc_env%dipmat_ao(i)%matrix)
129 DEALLOCATE (soc_env%dipmat_ao)
131 IF (
ALLOCATED(soc_env%soc_evals))
DEALLOCATE (soc_env%soc_evals)
132 IF (
ALLOCATED(soc_env%soc_osc))
DEALLOCATE (soc_env%soc_osc)
133 IF (
ALLOCATED(soc_env%CdS))
THEN
134 DO i = 1,
SIZE(soc_env%CdS, 1)
135 DO j = 1,
SIZE(soc_env%CdS, 2)
139 DEALLOCATE (soc_env%CdS)
141 IF (
ALLOCATED(soc_env%SC))
THEN
142 DO i = 1,
SIZE(soc_env%SC)
146 DEALLOCATE (soc_env%SC, soc_env%ediff)
161 ALLOCATE (soc_atom_env)
163 soc_atom_env%nspins = 1
164 NULLIFY (soc_atom_env%grid_atom_set)
165 NULLIFY (soc_atom_env%harmonics_atom_set)
166 NULLIFY (soc_atom_env%orb_sphi_so)
167 NULLIFY (soc_atom_env%soc_pp)
180 IF (
ASSOCIATED(soc_atom_env%grid_atom_set))
THEN
181 DO i = 1,
SIZE(soc_atom_env%grid_atom_set)
182 IF (
ASSOCIATED(soc_atom_env%grid_atom_set(i)%grid_atom))
THEN
186 DEALLOCATE (soc_atom_env%grid_atom_set)
189 IF (
ASSOCIATED(soc_atom_env%harmonics_atom_set))
THEN
190 DO i = 1,
SIZE(soc_atom_env%harmonics_atom_set)
191 IF (
ASSOCIATED(soc_atom_env%harmonics_atom_set(i)%harmonics_atom))
THEN
195 DEALLOCATE (soc_atom_env%harmonics_atom_set)
198 IF (
ASSOCIATED(soc_atom_env%orb_sphi_so))
THEN
199 DO i = 1,
SIZE(soc_atom_env%orb_sphi_so)
200 IF (
ASSOCIATED(soc_atom_env%orb_sphi_so(i)%array))
THEN
201 DEALLOCATE (soc_atom_env%orb_sphi_so(i)%array)
204 DEALLOCATE (soc_atom_env%orb_sphi_so)
212 DEALLOCATE (soc_atom_env)
various utilities that regard array of different kinds: output, allocation,... maybe it is not a good...
subroutine, public dbcsr_release(matrix)
...
DBCSR operations in CP2K.
represent a full matrix distributed on many processors
Defines the basic variable types.
integer, parameter, public dp
Interface to the Libint-Library or a c++ wrapper.
subroutine, public cp_libint_static_cleanup()
subroutine, public deallocate_grid_atom(grid_atom)
Deallocate a Gaussian-type orbital (GTO) basis set data set.
subroutine, public deallocate_harmonics_atom(harmonics)
Deallocate the spherical harmonics set for the atom grid.
subroutine, public soc_env_create(soc_env)
...
subroutine, public soc_atom_release(soc_atom_env)
...
subroutine, public soc_atom_create(soc_atom_env)
...
subroutine, public soc_env_release(soc_env)
...
represent a pointer to a 2d array