17 USE mctc_io,
ONLY: structure_type, new
18 USE tblite_xtb_calculator,
ONLY: xtb_calculator
19 USE tblite_container,
ONLY: container_cache
20 USE tblite_scf_mixer,
ONLY: mixer_type
21 USE tblite_wavefunction_type,
ONLY: wavefunction_type
22 USE tblite_scf_potential,
ONLY: potential_type
23 USE tblite_param,
ONLY: param_record
37#include "./base/base_uses.f90"
42 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'tblite_types'
48 LOGICAL :: use_virial = .false.
49 INTEGER,
ALLOCATABLE :: el_num(:)
51 REAL(kind=
dp) :: accuracy = 1.0_dp
52 REAL(kind=
dp),
DIMENSION(3, 3) :: sigma = -1.0_dp
53 REAL(kind=
dp),
ALLOCATABLE :: e_hal(:)
54 REAL(kind=
dp),
ALLOCATABLE :: e_rep(:)
55 REAL(kind=
dp),
ALLOCATABLE :: e_disp(:)
56 REAL(kind=
dp),
ALLOCATABLE :: e_scd(:)
57 REAL(kind=
dp),
ALLOCATABLE :: e_es(:)
58 REAL(kind=
dp),
ALLOCATABLE :: e_int(:)
59 REAL(kind=
dp),
ALLOCATABLE :: selfenergy(:)
60 REAL(kind=
dp),
ALLOCATABLE :: cn(:)
62 REAL(kind=
dp),
ALLOCATABLE :: grad(:, :)
64 REAL(kind=
dp),
ALLOCATABLE :: dsedcn(:)
65 REAL(kind=
dp),
ALLOCATABLE :: dcndr(:, :, :)
66 REAL(kind=
dp),
ALLOCATABLE :: dcndl(:, :, :)
72 TYPE(
dbcsr_p_type),
DIMENSION(:, :),
POINTER :: rho_ao_kp_ref => null()
82 TYPE(structure_type) :: mol = structure_type()
83 TYPE(xtb_calculator) :: calc = xtb_calculator()
84 TYPE(container_cache) :: cache = container_cache()
85 TYPE(container_cache) :: dcache = container_cache()
86 TYPE(container_cache) :: icache = container_cache()
87 TYPE(wavefunction_type) :: wfn = wavefunction_type()
88 TYPE(potential_type) :: pot = potential_type()
89 CLASS(mixer_type),
ALLOCATABLE :: mixer
90 TYPE(param_record),
ALLOCATABLE :: param
119 IF (
ASSOCIATED(tb_tblite))
THEN
120 IF (
ALLOCATED(tb_tblite%el_num))
DEALLOCATE (tb_tblite%el_num)
122 IF (
ALLOCATED(tb_tblite%e_hal))
DEALLOCATE (tb_tblite%e_hal)
123 IF (
ALLOCATED(tb_tblite%e_rep))
DEALLOCATE (tb_tblite%e_rep)
124 IF (
ALLOCATED(tb_tblite%e_disp))
DEALLOCATE (tb_tblite%e_disp)
125 IF (
ALLOCATED(tb_tblite%e_scd))
DEALLOCATE (tb_tblite%e_scd)
126 IF (
ALLOCATED(tb_tblite%e_es))
DEALLOCATE (tb_tblite%e_es)
127 IF (
ALLOCATED(tb_tblite%e_int))
DEALLOCATE (tb_tblite%e_int)
128 IF (
ALLOCATED(tb_tblite%selfenergy))
DEALLOCATE (tb_tblite%selfenergy)
129 IF (
ALLOCATED(tb_tblite%cn))
DEALLOCATE (tb_tblite%cn)
131 IF (
ALLOCATED(tb_tblite%grad))
DEALLOCATE (tb_tblite%grad)
132 IF (
ALLOCATED(tb_tblite%dsedcn))
DEALLOCATE (tb_tblite%dsedcn)
133 IF (
ALLOCATED(tb_tblite%dcndr))
DEALLOCATE (tb_tblite%dcndr)
134 IF (
ALLOCATED(tb_tblite%dcndL))
DEALLOCATE (tb_tblite%dcndL)
136 IF (
ASSOCIATED(tb_tblite%dipbra)) &
138 IF (
ASSOCIATED(tb_tblite%dipket)) &
140 IF (
ASSOCIATED(tb_tblite%quadbra)) &
142 IF (
ASSOCIATED(tb_tblite%quadket)) &
144 IF (
ASSOCIATED(tb_tblite%rho_ao_kp_ref)) &
147 IF (
ALLOCATED(tb_tblite%mixer))
DEALLOCATE (tb_tblite%mixer)
148 IF (
ALLOCATED(tb_tblite%param))
DEALLOCATE (tb_tblite%param)
151 DEALLOCATE (tb_tblite)
DBCSR operations in CP2K.
Defines the basic variable types.
integer, parameter, public dp
subroutine, public allocate_tblite_type(tb_tblite)
...
subroutine, public deallocate_tblite_type(tb_tblite)
...