35#include "./base/base_uses.f90"
41 INTEGER,
PARAMETER,
PRIVATE :: nelem = 106
52 INTEGER,
DIMENSION(0:nelem), &
53 PARAMETER,
PRIVATE :: zval = [-1, &
55 1, 2, 3, 4, 5, 6, 7, 8, &
56 1, 2, 3, 4, 5, 6, 7, 8, &
57 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2, 3, 4, 5, 6, 7, 8, &
58 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2, 3, 4, 5, 6, 7, 8, &
59 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, &
60 4, 5, 6, 7, 8, 9, 10, 11, 2, 3, 4, 5, 6, 7, 8, &
61 -1, -1, -1, 4, -1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
66 REAL(KIND=
dp),
DIMENSION(0:nelem), &
67 PARAMETER,
PRIVATE :: eneg = [0.00_dp, &
69 0.98_dp, 1.57_dp, 2.04_dp, 2.55_dp, 3.04_dp, 3.44_dp, 3.98_dp, 4.50_dp, &
70 0.93_dp, 1.31_dp, 1.61_dp, 1.90_dp, 2.19_dp, 2.58_dp, 3.16_dp, 3.50_dp, &
71 0.82_dp, 1.00_dp, 1.36_dp, 1.54_dp, 1.63_dp, 1.66_dp, 1.55_dp, 1.83_dp, &
72 1.88_dp, 1.91_dp, 1.90_dp, 1.65_dp, 1.81_dp, 2.01_dp, 2.18_dp, 2.55_dp, &
74 0.82_dp, 0.95_dp, 1.22_dp, 1.33_dp, 1.60_dp, 2.16_dp, 1.90_dp, 2.20_dp, &
75 2.28_dp, 2.20_dp, 1.93_dp, 1.69_dp, 1.78_dp, 1.96_dp, 2.05_dp, 2.10_dp, &
77 0.79_dp, 0.89_dp, 1.10_dp, &
78 1.12_dp, 1.13_dp, 1.14_dp, 1.15_dp, 1.17_dp, 1.18_dp, 1.20_dp, 1.21_dp, &
79 1.22_dp, 1.23_dp, 1.24_dp, 1.25_dp, 1.26_dp, 1.27_dp, &
80 1.30_dp, 1.50_dp, 2.36_dp, 1.90_dp, 2.20_dp, 2.20_dp, 2.28_dp, 2.54_dp, &
81 2.00_dp, 2.04_dp, 2.33_dp, 2.02_dp, 2.00_dp, 2.20_dp, 2.20_dp, &
82 0.70_dp, 0.89_dp, 1.10_dp, &
83 1.30_dp, 1.50_dp, 1.38_dp, 1.36_dp, 1.28_dp, 1.30_dp, 1.30_dp, 1.30_dp, &
84 1.30_dp, 1.30_dp, 1.30_dp, 1.30_dp, 1.30_dp, 1.50_dp, &
85 1.50_dp, 1.50_dp, 1.50_dp]
90 INTEGER,
DIMENSION(1:5, 0:nelem) :: occupation = reshape([0,0,0,0,0, &
91 1,0,0,0,0, 2,0,0,0,0, &
92 1,0,0,0,0, 2,0,0,0,0, 2,1,0,0,0, 2,2,0,0,0, 2,3,0,0,0, 2,4,0,0,0, 2,5,0,0,0, 2,6,0,0,0, &
93 1,0,0,0,0, 2,0,0,0,0, 2,1,0,0,0, 2,2,0,0,0, 2,3,0,0,0, 2,4,0,0,0, 2,5,0,0,0, 2,6,0,0,0, &
94 1,0,0,0,0, 2,0,0,0,0, 2,0,1,0,0, 2,0,2,0,0, 2,0,3,0,0, 2,0,4,0,0, 2,0,5,0,0, 2,0,6,0,0, &
95 2,0,7,0,0, 2,0,8,0,0, 2,0,9,0,0, 2,0,0,0,0, 2,1,0,0,0, 2,2,0,0,0, 2,3,0,0,0, 2,4,0,0,0, 2,5,0,0,0, 2,6,0,0,0, &
96 1,0,0,0,0, 2,0,0,0,0, 2,0,1,0,0, 2,0,2,0,0, 2,0,3,0,0, 2,0,4,0,0, 2,0,5,0,0, 2,0,6,0,0, &
97 2,0,7,0,0, 2,0,8,0,0, 2,0,9,0,0, 2,0,0,0,0, 2,1,0,0,0, 2,2,0,0,0, 2,3,0,0,0, 2,4,0,0,0, 2,5,0,0,0, 2,6,0,0,0, &
98 1,0,0,0,0, 2,0,0,0,0, 2,0,1,0,0, &
99 2,0,1,0,0, 2,0,1,0,0, 2,0,1,0,0, 2,0,1,0,0, 2,0,1,0,0, 2,0,1,0,0, 2,0,1,0,0, 2,0,1,0,0, &
100 2,0,1,0,0, 2,0,1,0,0, 2,0,1,0,0, 2,0,1,0,0, 2,0,1,0,0, 2,0,1,0,0, &
101 2,0,2,0,0, 2,0,3,0,0, 2,0,4,0,0, 2,0,5,0,0, 2,0,6,0,0, 2,0,7,0,0, 2,0,8,0,0, 2,0,9,0,0, &
102 2,0,0,0,0, 2,1,0,0,0, 2,2,0,0,0, 2,3,0,0,0, 2,4,0,0,0, 2,5,0,0,0, 2,6,0,0,0, &
103 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, &
104 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, &
105 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, &
106 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0], [5, nelem+1])
115 REAL(KIND=
dp),
DIMENSION(0:nelem), &
116 PARAMETER,
PRIVATE :: crad = [0.00_dp, &
118 1.30_dp, 0.99_dp, 0.84_dp, 0.75_dp, 0.71_dp, 0.64_dp, 0.60_dp, 0.62_dp, &
119 1.60_dp, 1.40_dp, 1.24_dp, 1.14_dp, 1.09_dp, 1.04_dp, 1.00_dp, 1.01_dp, &
120 2.00_dp, 1.74_dp, 1.59_dp, 1.48_dp, 1.44_dp, 1.30_dp, 1.29_dp, 1.24_dp, &
121 1.18_dp, 1.17_dp, 1.22_dp, 1.20_dp, 1.23_dp, 1.20_dp, 1.20_dp, 1.18_dp, &
123 2.15_dp, 1.90_dp, 1.76_dp, 1.64_dp, 1.56_dp, 1.46_dp, 1.38_dp, 1.36_dp, &
124 1.34_dp, 1.30_dp, 1.36_dp, 1.40_dp, 1.42_dp, 1.40_dp, 1.40_dp, 1.37_dp, &
126 2.38_dp, 2.06_dp, 1.94_dp, &
127 1.84_dp, 1.90_dp, 1.88_dp, 1.86_dp, 1.85_dp, 1.83_dp, 1.82_dp, 1.81_dp, &
128 1.80_dp, 1.79_dp, 1.77_dp, 1.77_dp, 1.78_dp, 1.74_dp, &
129 1.64_dp, 1.58_dp, 1.50_dp, 1.41_dp, 1.36_dp, 1.32_dp, 1.30_dp, 1.30_dp, &
130 1.32_dp, 1.44_dp, 1.45_dp, 1.50_dp, 1.42_dp, 1.48_dp, 1.46_dp, &
131 2.42_dp, 2.11_dp, 2.01_dp, &
132 1.90_dp, 1.84_dp, 1.83_dp, 1.80_dp, 1.80_dp, 1.51_dp, 0.96_dp, 1.54_dp, &
133 1.83_dp, 1.50_dp, 1.50_dp, 1.50_dp, 1.50_dp, 1.50_dp, &
134 1.50_dp, 1.50_dp, 1.50_dp]
139 REAL(KIND=
dp),
DIMENSION(0:nelem), &
140 PARAMETER,
PRIVATE :: clmt = [0.00_dp, &
142 1.05_dp, 2.05_dp, 3.00_dp, 4.00_dp, 3.00_dp, 2.00_dp, 1.25_dp, 1.00_dp, &
143 1.05_dp, 2.05_dp, 3.00_dp, 4.00_dp, 3.00_dp, 2.00_dp, 1.25_dp, 1.00_dp, &
144 1.05_dp, 2.05_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, &
145 3.50_dp, 3.50_dp, 3.50_dp, 2.50_dp, 2.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, &
147 1.05_dp, 2.05_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, &
148 3.50_dp, 3.50_dp, 3.50_dp, 2.50_dp, 2.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, &
150 1.05_dp, 2.05_dp, 3.00_dp, &
151 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, &
152 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, &
153 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, &
154 2.50_dp, 2.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 1.25_dp, 1.00_dp, &
155 1.05_dp, 2.05_dp, 3.00_dp, &
156 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, &
157 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, &
158 3.00_dp, 3.00_dp, 3.00_dp]
163 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'xtb_parameters'
183 parameter_file_path, parameter_file_name, &
187 INTEGER,
INTENT(IN) :: gfn_type
188 CHARACTER(LEN=2),
INTENT(IN) :: element_symbol
189 CHARACTER(LEN=*),
INTENT(IN) :: parameter_file_path, parameter_file_name
192 SELECT CASE (gfn_type)
194 CALL xtb0_parameters_init(param, element_symbol, parameter_file_path, &
195 parameter_file_name, para_env)
197 CALL xtb1_parameters_init(param, element_symbol, parameter_file_path, &
198 parameter_file_name, para_env)
200 cpabort(
"gfn_type = 2 not yet supported")
202 cpabort(
"Wrong gfn_type")
215 SUBROUTINE xtb0_parameters_init(param, element_symbol, parameter_file_path, parameter_file_name, &
219 CHARACTER(LEN=2),
INTENT(IN) :: element_symbol
220 CHARACTER(LEN=*),
INTENT(IN) :: parameter_file_path, parameter_file_name
223 CHARACTER(len=2) :: esym
224 CHARACTER(len=default_string_length) :: aname, atag, filename
225 INTEGER :: i, l, zin, znum
226 LOGICAL :: at_end, found
229 filename = adjustl(trim(parameter_file_path))//adjustl(trim(parameter_file_name))
230 CALL parser_create(parser, filename, apply_preprocessing=.false., para_env=para_env)
240 IF (aname ==
"$Z")
THEN
242 IF (zin == znum)
THEN
247 cpabort(
"Incomplete xTB parameter file")
254 CALL xtb_get_shells(atag, param%nshell, param%nval, param%lval)
256 DO i = 1, param%nshell
260 DO i = 1, param%nshell
271 param%kcn(1) = param%kcn(1)*0.1_dp
274 param%kcn(2) = param%kcn(2)*0.1_dp
277 param%kcn(3) = param%kcn(3)*0.1_dp
303 cpabort(
"Unknown parameter in xTB file")
313 param%typ =
"STANDARD"
314 param%symbol = element_symbol
315 param%defined = .true.
317 param%aname =
ptable(znum)%name
318 param%lmax = maxval(param%lval(1:param%nshell))
320 DO i = 1, param%nshell
322 param%natorb = param%natorb + (2*l + 1)
324 param%zeff = zval(znum)
326 esym = element_symbol
328 IF (
"X " == esym)
THEN
330 param%symbol = element_symbol
331 param%defined = .false.
339 param%defined = .false.
340 CALL cp_warn(__location__,
"xTB parameters for element "//element_symbol// &
341 " were not found in the parameter file "//adjustl(trim(filename)))
346 END SUBROUTINE xtb0_parameters_init
356 SUBROUTINE xtb1_parameters_init(param, element_symbol, parameter_file_path, parameter_file_name, &
360 CHARACTER(LEN=2),
INTENT(IN) :: element_symbol
361 CHARACTER(LEN=*),
INTENT(IN) :: parameter_file_path, parameter_file_name
364 CHARACTER(len=2) :: esym
365 CHARACTER(len=default_string_length) :: aname, atag, filename
366 INTEGER :: i, l, zin, znum
367 LOGICAL :: at_end, found
370 filename = adjustl(trim(parameter_file_path))//adjustl(trim(parameter_file_name))
371 CALL parser_create(parser, filename, apply_preprocessing=.false., para_env=para_env)
381 IF (aname ==
"$Z")
THEN
383 IF (zin == znum)
THEN
388 cpabort(
"Incomplete xTB parameter file")
395 CALL xtb_get_shells(atag, param%nshell, param%nval, param%lval)
397 DO i = 1, param%nshell
401 DO i = 1, param%nshell
427 cpabort(
"Unknown parameter in xTB file")
437 param%typ =
"STANDARD"
438 param%symbol = element_symbol
439 param%defined = .true.
441 param%aname =
ptable(znum)%name
442 param%lmax = maxval(param%lval(1:param%nshell))
444 DO i = 1, param%nshell
446 param%natorb = param%natorb + (2*l + 1)
448 param%zeff = zval(znum)
450 esym = element_symbol
452 IF (
"X " == esym)
THEN
454 param%symbol = element_symbol
455 param%defined = .false.
463 param%defined = .false.
464 CALL cp_warn(__location__,
"xTB parameters for element "//element_symbol// &
465 " were not found in the parameter file "//adjustl(trim(filename)))
470 END SUBROUTINE xtb1_parameters_init
481 SUBROUTINE xtb_spinpol_init(param, gfn_type, element_symbol, parameter_file_path, spinpol_param_file_name, &
485 INTEGER,
INTENT(IN) :: gfn_type
486 CHARACTER(LEN=2),
INTENT(IN) :: element_symbol
487 CHARACTER(LEN=*),
INTENT(IN) :: parameter_file_path, &
488 spinpol_param_file_name
491 CHARACTER(len=default_string_length) :: filename
496 SELECT CASE (gfn_type)
498 cpabort(
"gfn_type = 0: No spin polarisation possible!")
502 cpabort(
"gfn_type = 2 not yet supported")
504 cpabort(
"Wrong gfn_type")
507 filename = adjustl(trim(parameter_file_path))//adjustl(trim(spinpol_param_file_name))
508 CALL parser_create(parser, filename, apply_preprocessing=.false., para_env=para_env)
517 IF (zin == znum)
THEN
524 param%wall(2, 1) = param%wall(1, 2)
525 param%wall(3, 1) = param%wall(1, 3)
526 param%wall(3, 2) = param%wall(2, 3)
541 INTEGER,
INTENT(IN) :: gfn_type
546 SELECT CASE (gfn_type)
548 cpabort(
"gfn_type = 0: No spin polarisation possible!")
552 cpabort(
"gfn_type = 2 not yet supported")
554 cpabort(
"Wrong gfn_type")
557 IF (param%defined)
THEN
558 IF (
ASSOCIATED(xtb_control%spinpol_type))
THEN
559 DO i = 1,
SIZE(xtb_control%spinpol_type)
560 IF (xtb_control%spinpol_type(i) == param%z)
THEN
561 param%wall(1, 1) = xtb_control%spinpol_vals(1, i)
562 param%wall(1, 2) = xtb_control%spinpol_vals(2, i)
563 param%wall(2, 2) = xtb_control%spinpol_vals(3, i)
564 param%wall(1, 3) = xtb_control%spinpol_vals(4, i)
565 param%wall(2, 3) = xtb_control%spinpol_vals(5, i)
566 param%wall(3, 3) = xtb_control%spinpol_vals(6, i)
567 param%wall(2, 1) = param%wall(1, 2)
568 param%wall(3, 1) = param%wall(1, 3)
569 param%wall(3, 2) = param%wall(2, 3)
586 INTEGER :: i, is, l, na
587 REAL(kind=
dp),
DIMENSION(5) :: kp
589 IF (param%defined)
THEN
593 DO is = 1, param%nshell
604 param%electronegativity = eneg(i)
605 IF (param%en == 0.0_dp) param%en = eneg(i)
607 param%rcov = crad(i)*
bohr
609 param%occupation(:) = occupation(:, i)
611 IF (abs(param%zeff - sum(param%occupation)) > 1.e-10_dp)
THEN
612 CALL cp_abort(__location__,
"Element <"//trim(param%aname)//
"> has inconsistent shell occupations")
615 param%hen = param%hen/
evolt
617 param%xgamma = 0.1_dp*param%xgamma
618 param%kpoly(:) = 0.01_dp*param%kpoly(:)
619 param%kappa(:) = 0.1_dp*param%kappa(:)
621 param%xgamma = -2.0_dp*param%xgamma
623 kp(:) = param%kpoly(:)
624 param%kpoly(:) = 0.0_dp
625 DO is = 1, param%nshell
627 param%kpoly(is) = kp(l + 1)
630 param%kx = 0.1_dp*param%kx
631 IF (param%kx < -5._dp)
THEN
633 SELECT CASE (param%z)
637 param%kx = 0.1_dp*0.381742_dp
639 param%kx = 0.1_dp*0.321944_dp
641 param%kx = 0.1_dp*0.220000_dp
645 param%chmax = clmt(i)
660 INTEGER,
INTENT(IN) :: ngauss
662 CHARACTER(LEN=6),
DIMENSION(:),
POINTER :: symbol
664 INTEGER,
DIMENSION(:),
POINTER :: lq, nq
665 REAL(kind=
dp),
DIMENSION(:),
POINTER :: zet
668 IF (
ASSOCIATED(param))
THEN
669 IF (param%defined)
THEN
670 NULLIFY (sto_basis_set)
672 nshell = param%nshell
674 ALLOCATE (symbol(1:nshell))
677 SELECT CASE (param%lval(i))
679 WRITE (symbol(i),
'(I1,A1)') param%nval(i),
"S"
681 WRITE (symbol(i),
'(I1,A1)') param%nval(i),
"P"
683 WRITE (symbol(i),
'(I1,A1)') param%nval(i),
"D"
685 WRITE (symbol(i),
'(I1,A1)') param%nval(i),
"F"
687 cpabort(
'BASIS SET OUT OF RANGE (lval)')
692 ALLOCATE (nq(nshell), lq(nshell), zet(nshell))
693 nq(1:nshell) = param%nval(1:nshell)
694 lq(1:nshell) = param%lval(1:nshell)
695 zet(1:nshell) = param%zeta(1:nshell)
696 CALL set_sto_basis_set(sto_basis_set, name=param%aname, nshell=nshell, symbol=symbol, &
697 nq=nq, lq=lq, zet=zet)
703 DEALLOCATE (symbol, nq, lq, zet)
707 cpabort(
"The pointer param is not associated")
721 INTEGER,
INTENT(IN) :: za, zb
731 IF (xtb_control%kab_nval > 0)
THEN
732 DO j = 1, xtb_control%kab_nval
733 IF ((za == xtb_control%kab_types(1, j) .AND. &
734 zb == xtb_control%kab_types(2, j)) .OR. &
735 (za == xtb_control%kab_types(2, j) .AND. &
736 zb == xtb_control%kab_types(1, j)))
THEN
738 kab = xtb_control%kab_vals(j)
744 IF (.NOT. custom)
THEN
745 IF (za == 1 .OR. zb == 1)
THEN
762 ELSE IF (za == 5 .OR. zb == 5)
THEN
769 ELSE IF (za == 7 .OR. zb == 7)
THEN
778 ELSE IF (za > 20 .AND. za < 30)
THEN
780 IF (zb > 20 .AND. zb < 30)
THEN
783 ELSE IF ((zb > 38 .AND. zb < 48) .OR. (zb > 56 .AND. zb < 80))
THEN
785 kab = 0.50_dp*(1.20_dp + 1.10_dp)
787 ELSE IF ((za > 38 .AND. za < 48) .OR. (za > 56 .AND. za < 80))
THEN
789 IF (zb > 20 .AND. zb < 30)
THEN
791 kab = 0.50_dp*(1.20_dp + 1.10_dp)
792 ELSE IF ((zb > 38 .AND. zb < 48) .OR. (zb > 56 .AND. zb < 80))
THEN
809 SUBROUTINE xtb_get_shells(atag, nshell, nval, lval)
810 CHARACTER(len=*) :: atag
812 INTEGER,
DIMENSION(:) :: nval, lval
814 CHARACTER(LEN=1) :: ltag
815 CHARACTER(LEN=10) :: aotag
818 aotag = adjustl(trim(atag))
819 nshell = len(trim(aotag))/2
822 READ (aotag(j:j), fmt=
"(i1)") nval(i)
823 READ (aotag(j + 1:j + 1), fmt=
"(A1)") ltag
836 END SUBROUTINE xtb_get_shells
850 CASE (1:2, 6:10, 14:18, 32:36, 50:54, 82:86)
866 IF (z >= 21 .AND. z <= 24) isearly3d = .true.
878 REAL(kind=
dp) :: pparm
881 IF ((za > 20 .AND. za < 30) .OR. (za > 38 .AND. za < 48) .OR. (za > 56 .AND. za < 80))
THEN
882 IF ((zb > 20 .AND. zb < 30) .OR. (zb > 38 .AND. zb < 48) .OR. (zb > 56 .AND. zb < 80))
THEN
884 IF (za == 29 .OR. za == 47 .OR. za == 79)
THEN
885 IF (za == 29 .OR. za == 47 .OR. za == 79)
THEN
subroutine, public deallocate_sto_basis_set(sto_basis_set)
...
subroutine, public allocate_sto_basis_set(sto_basis_set)
...
subroutine, public create_gto_from_sto_basis(sto_basis_set, gto_basis_set, ngauss, ortho)
...
subroutine, public set_sto_basis_set(sto_basis_set, name, nshell, symbol, nq, lq, zet)
...
Defines control structures, which contain the parameters and the settings for the DFT-based calculati...
Utility routines to read data from files. Kept as close as possible to the old parser because.
subroutine, public parser_get_next_line(parser, nline, at_end)
Read the next input line and broadcast the input information. Skip (nline-1) lines and skip also all ...
Utility routines to read data from files. Kept as close as possible to the old parser because.
subroutine, public parser_release(parser)
releases the parser
subroutine, public parser_create(parser, file_name, unit_nr, para_env, end_section_label, separator_chars, comment_char, continuation_char, quote_char, section_char, parse_white_lines, initial_variables, apply_preprocessing)
Start a parser run. Initial variables allow to @SET stuff before opening the file.
Defines the basic variable types.
integer, parameter, public dp
integer, parameter, public default_string_length
Interface to the message passing library MPI.
Periodic Table related data definitions.
type(atom), dimension(0:nelem), public ptable
subroutine, public get_ptable_info(symbol, number, amass, ielement, covalent_radius, metallic_radius, vdw_radius, found)
Pass information about the kind given the element symbol.
Definition of physical constants:
real(kind=dp), parameter, public evolt
real(kind=dp), parameter, public bohr
Utilities for string manipulations.
elemental subroutine, public uppercase(string)
Convert all lower case characters in a string to upper case.
subroutine, public xtb_parameters_set(param)
Read atom parameters for xTB Hamiltonian from input file.
logical function, public metal(z)
...
logical function, public early3d(z)
...
subroutine, public xtb_parameters_init(param, gfn_type, element_symbol, parameter_file_path, parameter_file_name, para_env)
...
subroutine, public xtb_spinpol_ext(param, gfn_type, xtb_control)
...
subroutine, public init_xtb_basis(param, gto_basis_set, ngauss)
...
real(kind=dp) function, public pp_gfn0(za, zb)
...
subroutine, public xtb_spinpol_init(param, gfn_type, element_symbol, parameter_file_path, spinpol_param_file_name, para_env)
...
real(kind=dp) function, public xtb_set_kab(za, zb, xtb_control)
...
Definition of the xTB parameter types.
stores all the informations relevant to an mpi environment