(git:ed6f26b)
Loading...
Searching...
No Matches
xtb_hcore.F
Go to the documentation of this file.
1!--------------------------------------------------------------------------------------------------!
2! CP2K: A general program to perform molecular dynamics simulations !
3! Copyright 2000-2025 CP2K developers group <https://cp2k.org> !
4! !
5! SPDX-License-Identifier: GPL-2.0-or-later !
6!--------------------------------------------------------------------------------------------------!
7
8! **************************************************************************************************
9!> \brief Calculation of EHT matrix elements in xTB
10!> Reference: Stefan Grimme, Christoph Bannwarth, Philip Shushkov
11!> JCTC 13, 1989-2009, (2017)
12!> DOI: 10.1021/acs.jctc.7b00118
13!> \author JGH
14! **************************************************************************************************
21 USE kinds, ONLY: dp
22 USE physcon, ONLY: evolt
25 USE qs_kind_types, ONLY: get_qs_kind,&
28 USE xtb_parameters, ONLY: early3d,&
29 metal,&
30 pp_gfn0,&
32 USE xtb_types, ONLY: get_xtb_atom_param,&
34#include "./base/base_uses.f90"
35
36 IMPLICIT NONE
37
38 PRIVATE
39
40 CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'xtb_hcore'
41
43
44CONTAINS
45
46! **************************************************************************************************
47!> \brief ...
48!> \param qs_env ...
49!> \param cnumbers ...
50!> \param charges ...
51!> \param huckel ...
52!> \param dhuckel ...
53!> \param dqhuckel ...
54!> \param calculate_forces ...
55! **************************************************************************************************
56 SUBROUTINE gfn0_huckel(qs_env, cnumbers, charges, huckel, dhuckel, dqhuckel, calculate_forces)
57 TYPE(qs_environment_type), POINTER :: qs_env
58 REAL(kind=dp), DIMENSION(:), INTENT(IN) :: cnumbers, charges
59 REAL(kind=dp), ALLOCATABLE, DIMENSION(:, :) :: huckel, dhuckel, dqhuckel
60 LOGICAL, INTENT(IN) :: calculate_forces
61
62 INTEGER :: i, iatom, ikind, l, natom, nshell
63 INTEGER, ALLOCATABLE, DIMENSION(:) :: kind_of
64 INTEGER, DIMENSION(25) :: lval
65 REAL(kind=dp) :: kqat2
66 REAL(kind=dp), DIMENSION(5) :: hena, kcn, kq
67 TYPE(atomic_kind_type), DIMENSION(:), POINTER :: atomic_kind_set
68 TYPE(dft_control_type), POINTER :: dft_control
69 TYPE(qs_kind_type), DIMENSION(:), POINTER :: qs_kind_set
70 TYPE(xtb_atom_type), POINTER :: xtb_atom_a
71 TYPE(xtb_control_type), POINTER :: xtb_control
72
73 CALL get_qs_env(qs_env=qs_env, &
74 atomic_kind_set=atomic_kind_set, &
75 qs_kind_set=qs_kind_set, &
76 dft_control=dft_control)
77 xtb_control => dft_control%qs_control%xtb_control
78
79 CALL get_qs_env(qs_env=qs_env, natom=natom)
80
81 ALLOCATE (huckel(5, natom))
82 IF (calculate_forces) THEN
83 ALLOCATE (dhuckel(5, natom), dqhuckel(5, natom))
84 END IF
85 CALL get_atomic_kind_set(atomic_kind_set=atomic_kind_set, kind_of=kind_of)
86 DO iatom = 1, natom
87 ikind = kind_of(iatom)
88 CALL get_qs_kind(qs_kind_set(ikind), xtb_parameter=xtb_atom_a)
89 CALL get_xtb_atom_param(xtb_atom_a, nshell=nshell, lval=lval, &
90 kcn=kcn, kq=kq, kqat2=kqat2, hen=hena)
91 kcn = kcn/evolt
92 kq = kq/evolt
93 kqat2 = kqat2/evolt
94 huckel(:, iatom) = 0.0_dp
95 DO i = 1, nshell
96 l = lval(i) + 1
97 huckel(i, iatom) = hena(i) - kcn(l)*cnumbers(iatom) &
98 - kq(l)*charges(iatom) - kqat2*charges(iatom)**2
99 END DO
100 IF (calculate_forces) THEN
101 dhuckel(:, iatom) = 0.0_dp
102 dqhuckel(:, iatom) = 0.0_dp
103 DO i = 1, nshell
104 l = lval(i) + 1
105 dhuckel(i, iatom) = -kcn(l)
106 dqhuckel(i, iatom) = -kq(l) - 2.0_dp*kqat2*charges(iatom)
107 END DO
108 END IF
109 END DO
110
111 END SUBROUTINE gfn0_huckel
112
113! **************************************************************************************************
114!> \brief ...
115!> \param qs_env ...
116!> \param cnumbers ...
117!> \param huckel ...
118!> \param dhuckel ...
119!> \param calculate_forces ...
120! **************************************************************************************************
121 SUBROUTINE gfn1_huckel(qs_env, cnumbers, huckel, dhuckel, calculate_forces)
122 TYPE(qs_environment_type), POINTER :: qs_env
123 REAL(kind=dp), DIMENSION(:), INTENT(IN) :: cnumbers
124 REAL(kind=dp), ALLOCATABLE, DIMENSION(:, :) :: huckel, dhuckel
125 LOGICAL, INTENT(IN) :: calculate_forces
126
127 INTEGER :: i, iatom, ikind, natom, nkind, nshell, za
128 INTEGER, ALLOCATABLE, DIMENSION(:) :: kind_of
129 INTEGER, DIMENSION(25) :: lval
130 REAL(kind=dp) :: kcnd, kcnp, kcns
131 REAL(kind=dp), ALLOCATABLE, DIMENSION(:, :) :: kcnlk
132 REAL(kind=dp), DIMENSION(5) :: hena
133 TYPE(atomic_kind_type), DIMENSION(:), POINTER :: atomic_kind_set
134 TYPE(dft_control_type), POINTER :: dft_control
135 TYPE(qs_kind_type), DIMENSION(:), POINTER :: qs_kind_set
136 TYPE(xtb_atom_type), POINTER :: xtb_atom_a
137 TYPE(xtb_control_type), POINTER :: xtb_control
138
139 CALL get_qs_env(qs_env=qs_env, &
140 atomic_kind_set=atomic_kind_set, &
141 qs_kind_set=qs_kind_set, &
142 dft_control=dft_control)
143 xtb_control => dft_control%qs_control%xtb_control
144
145 CALL get_qs_env(qs_env=qs_env, nkind=nkind, natom=natom)
146
147 kcns = xtb_control%kcns
148 kcnp = xtb_control%kcnp
149 kcnd = xtb_control%kcnd
150
151 ! Calculate Huckel parameters
152 ! Eq 12
153 ! huckel(nshell,natom)
154 ALLOCATE (kcnlk(0:3, nkind))
155 DO ikind = 1, nkind
156 CALL get_atomic_kind(atomic_kind_set(ikind), z=za)
157 IF (metal(za)) THEN
158 kcnlk(0:3, ikind) = 0.0_dp
159 ELSEIF (early3d(za)) THEN
160 kcnlk(0, ikind) = kcns
161 kcnlk(1, ikind) = kcnp
162 kcnlk(2, ikind) = 0.005_dp
163 kcnlk(3, ikind) = 0.0_dp
164 ELSE
165 kcnlk(0, ikind) = kcns
166 kcnlk(1, ikind) = kcnp
167 kcnlk(2, ikind) = kcnd
168 kcnlk(3, ikind) = 0.0_dp
169 END IF
170 END DO
171
172 ALLOCATE (huckel(5, natom))
173 IF (calculate_forces) THEN
174 ALLOCATE (dhuckel(5, natom))
175 END IF
176 CALL get_atomic_kind_set(atomic_kind_set=atomic_kind_set, kind_of=kind_of)
177 DO iatom = 1, natom
178 ikind = kind_of(iatom)
179 CALL get_qs_kind(qs_kind_set(ikind), xtb_parameter=xtb_atom_a)
180 CALL get_xtb_atom_param(xtb_atom_a, nshell=nshell, lval=lval, hen=hena)
181 huckel(:, iatom) = 0.0_dp
182 DO i = 1, nshell
183 huckel(i, iatom) = hena(i)*(1._dp + kcnlk(lval(i), ikind)*cnumbers(iatom))
184 END DO
185 IF (calculate_forces) THEN
186 dhuckel(:, iatom) = 0.0_dp
187 DO i = 1, nshell
188 dhuckel(i, iatom) = hena(i)*kcnlk(lval(i), ikind)
189 END DO
190 END IF
191 END DO
192
193 DEALLOCATE (kcnlk)
194
195 END SUBROUTINE gfn1_huckel
196
197! **************************************************************************************************
198!> \brief ...
199!> \param qs_env ...
200!> \param kijab ...
201! **************************************************************************************************
202 SUBROUTINE gfn0_kpair(qs_env, kijab)
203 TYPE(qs_environment_type), POINTER :: qs_env
204 REAL(kind=dp), ALLOCATABLE, DIMENSION(:, :, :, :) :: kijab
205
206 INTEGER :: i, ikind, j, jkind, la, lb, maxs, na, &
207 natorb_a, natorb_b, nb, nkind, za, zb
208 INTEGER, DIMENSION(25) :: laoa, laob, naoa, naob
209 LOGICAL :: defined
210 REAL(kind=dp) :: ben, den, etaa, etab, kab, kd, kden, &
211 kdiff, ken, kia, kjb, km, kp, kpen, &
212 ks, ksen, ksp, xijab, yijab
213 REAL(kind=dp), DIMENSION(0:3) :: ke, kl
214 REAL(kind=dp), DIMENSION(5) :: zetaa, zetab
215 TYPE(dft_control_type), POINTER :: dft_control
216 TYPE(qs_kind_type), DIMENSION(:), POINTER :: qs_kind_set
217 TYPE(xtb_atom_type), POINTER :: xtb_atom_a, xtb_atom_b
218 TYPE(xtb_control_type), POINTER :: xtb_control
219
220 CALL get_qs_env(qs_env=qs_env, &
221 qs_kind_set=qs_kind_set, &
222 dft_control=dft_control)
223 xtb_control => dft_control%qs_control%xtb_control
224
225 CALL get_qs_env(qs_env=qs_env, nkind=nkind)
226 CALL get_qs_kind_set(qs_kind_set=qs_kind_set, maxsgf=maxs, basis_type="ORB")
227
228 ks = xtb_control%ks
229 kp = xtb_control%kp
230 kd = xtb_control%kd
231 ksp = xtb_control%ksp
232 ksen = xtb_control%ksen
233 kpen = xtb_control%kpen
234 kden = xtb_control%kden
235 ben = xtb_control%ben
236 kdiff = xtb_control%k2sh
237
238 kl(0) = ks
239 kl(1) = kp
240 kl(2) = kd
241 kl(3) = 0.0_dp
242
243 ke(0) = ksen
244 ke(1) = kpen
245 ke(2) = kden
246 ke(3) = 0.0_dp
247
248 ! Calculate KAB parameters and electronegativity correction
249 ALLOCATE (kijab(maxs, maxs, nkind, nkind))
250 kijab = 0.0_dp
251
252 DO ikind = 1, nkind
253 CALL get_qs_kind(qs_kind_set(ikind), xtb_parameter=xtb_atom_a)
254 CALL get_xtb_atom_param(xtb_atom_a, defined=defined, natorb=natorb_a)
255 IF (.NOT. defined .OR. natorb_a < 1) cycle
256 CALL get_xtb_atom_param(xtb_atom_a, z=za, nao=naoa, lao=laoa, &
257 en=etaa, zeta=zetaa)
258 DO jkind = 1, nkind
259 CALL get_qs_kind(qs_kind_set(jkind), xtb_parameter=xtb_atom_b)
260 CALL get_xtb_atom_param(xtb_atom_b, defined=defined, natorb=natorb_b)
261 IF (.NOT. defined .OR. natorb_b < 1) cycle
262 CALL get_xtb_atom_param(xtb_atom_b, z=zb, nao=naob, lao=laob, &
263 en=etab, zeta=zetab)
264 ! Kab
265 kab = pp_gfn0(za, zb)
266 DO j = 1, natorb_b
267 lb = laob(j)
268 nb = naob(j)
269 DO i = 1, natorb_a
270 la = laoa(i)
271 na = naoa(i)
272 kia = kl(la)
273 kjb = kl(lb)
274 km = 0.5_dp*(kia + kjb)*kab
275 IF (za == 1 .AND. na == 2) THEN
276 IF (zb == 1 .AND. nb == 2) THEN
277 km = 0._dp
278 ELSE
279 km = km*kdiff
280 END IF
281 ELSEIF (zb == 1 .AND. nb == 2) THEN
282 km = km*kdiff
283 END IF
284 kijab(i, j, ikind, jkind) = km
285 END DO
286 END DO
287 ! Yab
288 DO j = 1, natorb_b
289 nb = naob(j)
290 kjb = zetab(nb)
291 DO i = 1, natorb_a
292 na = naoa(i)
293 kia = zetaa(na)
294 yijab = 2.0_dp*sqrt(kia*kjb)/(kia + kjb)
295 kijab(i, j, ikind, jkind) = kijab(i, j, ikind, jkind)*yijab
296 END DO
297 END DO
298 ! X
299 den = etaa - etab
300 DO j = 1, natorb_b
301 lb = laob(j)
302 kjb = ke(lb)
303 DO i = 1, natorb_a
304 la = laoa(i)
305 kia = ke(la)
306 ken = 0.5_dp*(kia + kjb)
307 xijab = 1.0_dp + ken*den**2 + ken*ben*den**4
308 kijab(i, j, ikind, jkind) = kijab(i, j, ikind, jkind)*xijab
309 END DO
310 END DO
311 END DO
312 END DO
313
314 END SUBROUTINE gfn0_kpair
315
316! **************************************************************************************************
317!> \brief ...
318!> \param qs_env ...
319!> \param kijab ...
320! **************************************************************************************************
321 SUBROUTINE gfn1_kpair(qs_env, kijab)
322 TYPE(qs_environment_type), POINTER :: qs_env
323 REAL(kind=dp), ALLOCATABLE, DIMENSION(:, :, :, :) :: kijab
324
325 INTEGER :: i, ikind, j, jkind, la, lb, maxs, na, &
326 natorb_a, natorb_b, nb, nkind, za, zb
327 INTEGER, DIMENSION(25) :: laoa, laob, naoa, naob
328 LOGICAL :: defined
329 REAL(kind=dp) :: ena, enb, fen, k2sh, kab, kd, ken, kia, &
330 kjb, kp, ks, ksp
331 REAL(kind=dp), DIMENSION(0:3) :: kl
332 TYPE(dft_control_type), POINTER :: dft_control
333 TYPE(qs_kind_type), DIMENSION(:), POINTER :: qs_kind_set
334 TYPE(xtb_atom_type), POINTER :: xtb_atom_a, xtb_atom_b
335 TYPE(xtb_control_type), POINTER :: xtb_control
336
337 CALL get_qs_env(qs_env=qs_env, &
338 qs_kind_set=qs_kind_set, &
339 dft_control=dft_control)
340 xtb_control => dft_control%qs_control%xtb_control
341
342 CALL get_qs_env(qs_env=qs_env, nkind=nkind)
343 CALL get_qs_kind_set(qs_kind_set=qs_kind_set, maxsgf=maxs, basis_type="ORB")
344
345 ks = xtb_control%ks
346 kp = xtb_control%kp
347 kd = xtb_control%kd
348 ksp = xtb_control%ksp
349 k2sh = xtb_control%k2sh
350 ken = xtb_control%ken
351
352 kl(0) = ks
353 kl(1) = kp
354 kl(2) = kd
355 kl(3) = 0.0_dp
356
357 ! Calculate KAB parameters and electronegativity correction
358 ! kijab -> K_l_l'[A,B] * X_l_l'[ENa, ENb] * Y[xia, xib]
359 ALLOCATE (kijab(maxs, maxs, nkind, nkind))
360 kijab = 0.0_dp
361 DO ikind = 1, nkind
362 CALL get_qs_kind(qs_kind_set(ikind), xtb_parameter=xtb_atom_a)
363 CALL get_xtb_atom_param(xtb_atom_a, defined=defined, natorb=natorb_a)
364 IF (.NOT. defined .OR. natorb_a < 1) cycle
365 CALL get_xtb_atom_param(xtb_atom_a, z=za, nao=naoa, lao=laoa, electronegativity=ena)
366 DO jkind = 1, nkind
367 CALL get_qs_kind(qs_kind_set(jkind), xtb_parameter=xtb_atom_b)
368 CALL get_xtb_atom_param(xtb_atom_b, defined=defined, natorb=natorb_b)
369 IF (.NOT. defined .OR. natorb_b < 1) cycle
370 CALL get_xtb_atom_param(xtb_atom_b, z=zb, nao=naob, lao=laob, electronegativity=enb)
371 ! get Fen = (1+ken*deltaEN^2)
372 fen = 1.0_dp + ken*(ena - enb)**2
373 ! Kab
374 kab = xtb_set_kab(za, zb, xtb_control)
375 DO j = 1, natorb_b
376 lb = laob(j)
377 nb = naob(j)
378 DO i = 1, natorb_a
379 la = laoa(i)
380 na = naoa(i)
381 kia = kl(la)
382 kjb = kl(lb)
383 IF (zb == 1 .AND. nb == 2) kjb = k2sh
384 IF (za == 1 .AND. na == 2) kia = k2sh
385 IF ((zb == 1 .AND. nb == 2) .OR. (za == 1 .AND. na == 2)) THEN
386 kijab(i, j, ikind, jkind) = 0.5_dp*(kia + kjb)
387 ELSE
388 IF ((la == 0 .AND. lb == 1) .OR. (la == 1 .AND. lb == 0)) THEN
389 kijab(i, j, ikind, jkind) = ksp*kab*fen
390 ELSE
391 kijab(i, j, ikind, jkind) = 0.5_dp*(kia + kjb)*kab*fen
392 END IF
393 END IF
394 END DO
395 END DO
396 END DO
397 END DO
398
399 END SUBROUTINE gfn1_kpair
400
401END MODULE xtb_hcore
402
Define the atomic kind types and their sub types.
subroutine, public get_atomic_kind_set(atomic_kind_set, atom_of_kind, kind_of, natom_of_kind, maxatom, natom, nshell, fist_potential_present, shell_present, shell_adiabatic, shell_check_distance, damping_present)
Get attributes of an atomic kind set.
subroutine, public get_atomic_kind(atomic_kind, fist_potential, element_symbol, name, mass, kind_number, natom, atom_list, rcov, rvdw, z, qeff, apol, cpol, mm_radius, shell, shell_active, damping)
Get attributes of an atomic kind.
Defines control structures, which contain the parameters and the settings for the DFT-based calculati...
Defines the basic variable types.
Definition kinds.F:23
integer, parameter, public dp
Definition kinds.F:34
Definition of physical constants:
Definition physcon.F:68
real(kind=dp), parameter, public evolt
Definition physcon.F:183
subroutine, public get_qs_env(qs_env, atomic_kind_set, qs_kind_set, cell, super_cell, cell_ref, use_ref_cell, kpoints, dft_control, mos, sab_orb, sab_all, qmmm, qmmm_periodic, sac_ae, sac_ppl, sac_lri, sap_ppnl, sab_vdw, sab_scp, sap_oce, sab_lrc, sab_se, sab_xtbe, sab_tbe, sab_core, sab_xb, sab_xtb_pp, sab_xtb_nonbond, sab_almo, sab_kp, sab_kp_nosym, particle_set, energy, force, matrix_h, matrix_h_im, matrix_ks, matrix_ks_im, matrix_vxc, run_rtp, rtp, matrix_h_kp, matrix_h_im_kp, matrix_ks_kp, matrix_ks_im_kp, matrix_vxc_kp, kinetic_kp, matrix_s_kp, matrix_w_kp, matrix_s_ri_aux_kp, matrix_s, matrix_s_ri_aux, matrix_w, matrix_p_mp2, matrix_p_mp2_admm, rho, rho_xc, pw_env, ewald_env, ewald_pw, active_space, mpools, input, para_env, blacs_env, scf_control, rel_control, kinetic, qs_charges, vppl, rho_core, rho_nlcc, rho_nlcc_g, ks_env, ks_qmmm_env, wf_history, scf_env, local_particles, local_molecules, distribution_2d, dbcsr_dist, molecule_kind_set, molecule_set, subsys, cp_subsys, oce, local_rho_set, rho_atom_set, task_list, task_list_soft, rho0_atom_set, rho0_mpole, rhoz_set, ecoul_1c, rho0_s_rs, rho0_s_gs, do_kpoints, has_unit_metric, requires_mo_derivs, mo_derivs, mo_loc_history, nkind, natom, nelectron_total, nelectron_spin, efield, neighbor_list_id, linres_control, xas_env, virial, cp_ddapc_env, cp_ddapc_ewald, outer_scf_history, outer_scf_ihistory, x_data, et_coupling, dftb_potential, results, se_taper, se_store_int_env, se_nddo_mpole, se_nonbond_env, admm_env, lri_env, lri_density, exstate_env, ec_env, harris_env, dispersion_env, gcp_env, vee, rho_external, external_vxc, mask, mp2_env, bs_env, kg_env, wanniercentres, atprop, ls_scf_env, do_transport, transport_env, v_hartree_rspace, s_mstruct_changed, rho_changed, potential_changed, forces_up_to_date, mscfg_env, almo_scf_env, gradient_history, variable_history, embed_pot, spin_embed_pot, polar_env, mos_last_converged, eeq, rhs)
Get the QUICKSTEP environment.
Define the quickstep kind type and their sub types.
subroutine, public get_qs_kind(qs_kind, basis_set, basis_type, ncgf, nsgf, all_potential, tnadd_potential, gth_potential, sgp_potential, upf_potential, se_parameter, dftb_parameter, xtb_parameter, dftb3_param, zatom, zeff, elec_conf, mao, lmax_dftb, alpha_core_charge, ccore_charge, core_charge, core_charge_radius, paw_proj_set, paw_atom, hard_radius, hard0_radius, max_rad_local, covalent_radius, vdw_radius, gpw_type_forced, harmonics, max_iso_not0, max_s_harm, grid_atom, ngrid_ang, ngrid_rad, lmax_rho0, dft_plus_u_atom, l_of_dft_plus_u, n_of_dft_plus_u, u_minus_j, u_of_dft_plus_u, j_of_dft_plus_u, alpha_of_dft_plus_u, beta_of_dft_plus_u, j0_of_dft_plus_u, occupation_of_dft_plus_u, dispersion, bs_occupation, magnetization, no_optimize, addel, laddel, naddel, orbitals, max_scf, eps_scf, smear, u_ramping, u_minus_j_target, eps_u_ramping, init_u_ramping_each_scf, reltmat, ghost, floating, name, element_symbol, pao_basis_size, pao_model_file, pao_potentials, pao_descriptors, nelec)
Get attributes of an atomic kind.
subroutine, public get_qs_kind_set(qs_kind_set, all_potential_present, tnadd_potential_present, gth_potential_present, sgp_potential_present, paw_atom_present, dft_plus_u_atom_present, maxcgf, maxsgf, maxco, maxco_proj, maxgtops, maxlgto, maxlprj, maxnset, maxsgf_set, ncgf, npgf, nset, nsgf, nshell, maxpol, maxlppl, maxlppnl, maxppnl, nelectron, maxder, max_ngrid_rad, max_sph_harm, maxg_iso_not0, lmax_rho0, basis_rcut, basis_type, total_zeff_corr, npgf_seg)
Get attributes of an atomic kind set.
Calculation of EHT matrix elements in xTB Reference: Stefan Grimme, Christoph Bannwarth,...
Definition xtb_hcore.F:15
subroutine, public gfn0_kpair(qs_env, kijab)
...
Definition xtb_hcore.F:203
subroutine, public gfn0_huckel(qs_env, cnumbers, charges, huckel, dhuckel, dqhuckel, calculate_forces)
...
Definition xtb_hcore.F:57
subroutine, public gfn1_kpair(qs_env, kijab)
...
Definition xtb_hcore.F:322
subroutine, public gfn1_huckel(qs_env, cnumbers, huckel, dhuckel, calculate_forces)
...
Definition xtb_hcore.F:122
Read xTB parameters.
logical function, public metal(z)
...
logical function, public early3d(z)
...
real(kind=dp) function, public pp_gfn0(za, zb)
...
real(kind=dp) function, public xtb_set_kab(za, zb, xtb_control)
...
Definition of the xTB parameter types.
Definition xtb_types.F:20
subroutine, public get_xtb_atom_param(xtb_parameter, symbol, aname, typ, defined, z, zeff, natorb, lmax, nao, lao, rcut, rcov, kx, eta, xgamma, alpha, zneff, nshell, nval, lval, kpoly, kappa, hen, zeta, xi, kappa0, alpg, occupation, electronegativity, chmax, en, kqat2, kcn, kq)
...
Definition xtb_types.F:199
Provides all information about an atomic kind.
Provides all information about a quickstep kind.