Extended tight binding
Contents
Extended tight binding#
This chapter will investigate some basic usage of the extended tight binding (xTB) methods.1
Calculation setup#
To make use of the extended tight binding Hamiltonian, the xTB
group is set for the Hamiltonian
group in the dftb_in.hsd
.
Geometry = xyzFormat {
<<< "struc.xyz"
}
Hamiltonian = xTB {
Method = "GFN1-xTB"
}
Options = { WriteDetailedOut = No }
Analysis { CalculateForces = Yes }
ParserOptions = { ParserVersion = 10 }
Parallel = { UseOmpThreads = Yes }
Geometry = xyzFormat {
<<< "struc.xyz"
}
Hamiltonian = xTB {
Method = "GFN2-xTB"
}
Options = { WriteDetailedOut = No }
Analysis { CalculateForces = Yes }
ParserOptions = { ParserVersion = 10 }
Parallel = { UseOmpThreads = Yes }
Geometry = xyzFormat {
<<< "struc.xyz"
}
Hamiltonian = xTB {
Method = "IPEA1-xTB"
}
Options = { WriteDetailedOut = No }
Analysis { CalculateForces = Yes }
ParserOptions = { ParserVersion = 10 }
Parallel = { UseOmpThreads = Yes }
An example system with several different elements can be this molecule of the mindless benchmark set from the GMTKN55:
16
B -1.13576381337600 -0.98202961096942 -2.56980581042078
H -2.89480383887347 -1.74750462627723 -3.07466766480399
H 0.07938441849184 -0.62480818078894 1.84272518265394
O -1.96523775652147 -1.74460816960886 -3.35123084552876
H 0.01912967435543 -0.95917085328398 -2.88492767970168
H -2.52429913698613 -0.24161634723993 -1.14793605775399
N -1.54407294273763 -0.22352221164400 -1.42361819339963
F -1.11622101351633 1.53510256289205 0.89960198176580
P 1.77611523371161 1.47255734021745 -0.33769639710754
C 1.08471699983285 -0.31339718179699 2.16471012248487
B 2.15253245085189 0.42393522953050 1.30750032241123
Al 0.58550528991043 2.38969712908435 1.55714018268996
O 1.08447068317195 1.05336164655914 2.67000171275574
H 3.28629053073312 0.41143699628234 1.66551653182095
F 1.45890228919135 -1.16927127643663 3.17247594554108
Al -0.34664906823946 0.71983755348018 -0.48978933340718
For GFN2-xTB we will find the following printout for the initialization.
...
Starting initialization...
--------------------------------------------------------------------------------
OpenMP threads: 4
Chosen random seed: 1344338798
Mode: Static calculation
Self consistent charges: Yes
SCC-tolerance: 0.100000E-04
Max. scc iterations: 100
Shell resolved Hubbard: Yes
Spin polarisation: No
Nr. of up electrons: 28.500000
Nr. of down electrons: 28.500000
Periodic boundaries: No
Electronic solver: Relatively robust
Mixer: Broyden mixer
Mixing parameter: 0.200000
Maximal SCC-cycles: 100
Nr. of chrg. vec. in memory: 100
tblite library version: 0.2.1
-> parametrization: GFN2-xTB
-> repulsion: Yes
-> dispersion: Yes
-> halogen bonding: No
-> electrostatics: Yes
-> isotropic: Yes
-> anisotropic: Yes
-> third-order: Yes
Electronic temperature: 0.950045E-03 H 0.258520E-01 eV
Initial charges: Set automatically (system chrg: 0.000E+00)
Included shells: B: s, p
H: s
O: s, p
N: s, p
F: s, p
P: s, p, d
C: s, p
Al: s, p, d
Extra options:
Mulliken analysis
Force calculation
Force type original
--------------------------------------------------------------------------------
...
Three notable points can be found in the output:
the version of the library used for evaluating xTB, as well as details on the parametrization of the xTB Hamiltonian and the included interactions
the electronic temperature defaulting to 300K with the xTB Hamiltonian
the availability of parameters for all the contained elements
Exercise
Perform a few trial calculation with the available xTB Hamiltonians. Try to check a few larger systems as well.
Taxol molecule
113
C -2.26190362167063 -2.23274871515243 -0.34190733362876
C -0.95456098689486 -2.37695454268952 -0.57691720259526
C -0.37073732103448 -2.46433327240285 -1.96135470513670
H -0.41194130784284 -1.47597800037112 -2.43138059888576
H -0.94656125167399 -3.16068995746486 -2.57045179275739
H 0.66842644119588 -2.78880057328767 -1.90936385963964
C -0.00016207531929 -2.26877165199453 0.57330072167658
C -0.34829449712608 -0.97827553540687 1.33009459882379
H 0.01109943313599 -0.13551629263028 0.73731772561181
H 0.16838552404973 -0.97253756746775 2.28912996370670
C -1.85893224394126 -0.81026345247231 1.59480485119117
O -2.09770605966482 -0.84061168802268 2.99558018472920
H -2.03950726056567 0.07099522638439 3.36452409511852
C -2.68014178809399 -2.02945799558582 1.09658529964912
C -4.14339828717231 -1.71909922541134 1.40976642056161
H -4.53902595149693 -0.90072211338406 0.82675240558458
H -4.77431961418713 -2.58813415687901 1.26043363052764
H -4.19019507646917 -1.43792090898570 2.46226258158012
C -2.34683567528364 -3.28067596105746 1.95168067406062
H -1.67572538285061 -3.02192454833861 2.76826385272635
H -1.89917575532925 -4.06245114628146 1.34367048942152
H -3.26146448189256 -3.67917417958271 2.38598767343407
C -2.34639164857028 0.54339223254471 1.03033796600632
H -3.27100952991996 0.80886637194193 1.55042804108020
O -1.33052949111167 1.50426572011390 1.31721122471823
C -1.21509455620725 1.96613110661377 2.51874969847408
O -1.83012681874458 1.60912524580610 3.51477294717956
C -0.18987688088814 3.03605230210500 2.59442435919408
C 0.00832899175311 3.68661255088857 3.80877412661576
C 0.95178772078573 4.69095438229710 3.92052638513519
C 1.70851869740174 5.05200729469005 2.81560436023413
C 1.52118817478704 4.40770847828074 1.60213404758872
C 0.57697411413239 3.40243291944411 1.49201296630779
H 0.41662609581964 2.88831438660841 0.54950063706763
H 2.11642233730867 4.69179621902942 0.74084766415095
H 2.44874414910769 5.83992148313697 2.90165670972236
H 1.10175674438479 5.19672707064917 4.86853767337483
H -0.59587295693050 3.38682557490628 4.66099948254686
C -2.55222499871792 0.69918633986789 -0.50995521967761
H -1.86309477217822 0.01093512761788 -0.99373502172831
C -2.08019374633758 2.10823011355873 -0.90117488634351
C -2.55661378655687 3.26627514291862 -0.02206071105077
H -3.19251371639452 3.01066256127990 0.82354990805305
H -1.74875954827032 3.92714542906296 0.29821804958285
O -3.32361972050627 3.84411901817690 -1.10322352777608
C -2.75910686767183 2.89339297511699 -2.03963336207423
C -3.83260478912206 2.25828551705607 -2.88881858111899
H -3.62835989651982 2.39632492680399 -3.95081655619850
H -4.78201150041827 2.74811280449107 -2.66267413636231
C -3.98725059124100 0.77149125041999 -2.61295786251850
O -5.22509981286263 0.42167923619522 -3.19636532504308
H -5.60338777092674 -0.33725080568793 -2.71029884853608
H -3.15848920485993 0.23110800719778 -3.08988880419871
C -3.94874381609669 0.40341749738402 -1.09781556022962
C -4.31403062698241 -1.06845821849688 -1.23559306268395
O -5.46730824921587 -1.37539731259632 -1.42291224832408
C -3.16940688196012 -2.00025422378842 -1.52128596073916
H -2.56008628127861 -1.42302325961245 -2.23078661873523
O -3.46688123391754 -3.12710150334685 -2.32419591594549
C -4.26703545212573 -4.09254410692390 -2.04267258972991
O -4.43065439408332 -4.97092059095515 -2.87958001566486
C -4.98071885619310 -4.18722479150635 -0.71113528278304
H -5.58114498737944 -5.09138828914589 -0.69988734973086
H -5.62533266122613 -3.32415413277582 -0.58051013330245
H -4.25691939668289 -4.22982538680672 0.09481008712761
C -5.07518604081354 1.16877387027910 -0.40455960793867
H -5.06235208120400 0.99821995654290 0.67005764986687
H -4.98900416807055 2.23898058193758 -0.58314514997154
H -6.02531255586048 0.81099135338798 -0.80297212686910
H -2.00590752974238 3.38307870871891 -2.66035432379169
O -0.67428930774075 2.17371266689630 -1.05009019448311
C -0.15210346921377 1.44852486559195 -1.98368047843702
O -0.72846762068478 0.66557311000637 -2.71893747900941
C 1.33754218473599 1.69785449183155 -2.08076702178496
H 1.75105754926356 1.08172484345258 -2.87504989398818
H 1.81746747191693 1.43711436732152 -1.14097557303593
H 1.52896786986216 2.74708554797121 -2.28759822779882
H -0.12217156539345 -3.10952089692694 1.25599950211545
O 1.33385430727247 -2.25262620282775 0.10259397091073
C 2.18583559863485 -2.69480834809498 0.96519647740345
O 1.97506781517084 -3.03852936023556 2.11881325370133
C 3.60531421670553 -2.77012815376632 0.44547071961222
O 4.40619994338439 -3.32196935889856 1.47019593752540
H 3.80441494412930 -3.45808597263640 2.22626881684654
H 3.66270434359231 -3.39955941294499 -0.44768416007918
C 4.12599705372900 -1.36164184366329 0.09280168923320
N 3.32960241513642 -0.86728091800343 -0.99832944071139
C 3.78057443409672 -0.54116647103130 -2.23059974248466
O 3.04215736615235 -0.49739181490405 -3.19842731717708
C 5.21422892212231 -0.18253147399184 -2.35444289723476
C 5.87582516895670 0.61411387446773 -1.42595677001613
C 7.19735276149193 0.97418571930306 -1.62854358196679
C 7.86924363190920 0.54369211104811 -2.76134630886935
C 7.21198661152069 -0.23268009942841 -3.70371179743003
C 5.88898892602259 -0.58240577531325 -3.50429602695658
H 5.35815759360643 -1.17972272118238 -4.23997551843760
H 7.73339483774093 -0.55828989847416 -4.59752172511528
H 8.90589087887168 0.82209042978918 -2.91596886003763
H 7.70659950948429 1.59609385235223 -0.90001452504522
H 5.34662073139270 0.96722785471406 -0.54804547099080
H 2.35372603597705 -1.13581656250778 -0.92805997792707
C 4.05164267592348 -0.49223807721407 1.31558083515360
C 3.00893439484731 0.39835201685449 1.52213310312531
C 2.93219960150823 1.13038964927044 2.69505538510186
C 3.89950617571995 0.97631191063620 3.67471628636534
C 4.94268142758468 0.08492562945832 3.47898204736814
C 5.01391626805056 -0.64590838002696 2.30553542679038
H 5.81600993424474 -1.35931646572247 2.14772196574119
H 5.70046843397824 -0.04140120095247 4.24465748987104
H 3.83916582620011 1.54999966309067 4.59276451640817
H 2.11144231507796 1.82037338403752 2.84748797399134
H 2.25083747473477 0.52037131490303 0.75600605502183
H 5.16226233179803 -1.44693032750892 -0.23098830761639
Do you notice a difference in computational cost of the xTB methods? Is this difference expected and how can it be explained?
Using parameter files#
For the silicon element a reparametrization of the GFN1-xTB Hamiltonian was proposed, which is not directly available as Method
keyword.
Instead a ParameterFile
can be provided.
To obtain the parameter file for the GFN1(Si)-xTB method,5 we start by creating the GFN1-xTB parameter file from the internal parametrization storage
❯ tblite param --method gfn1 --output gfn1-si-xtb.toml
GFN1-xTB
S. Grimme, C. Bannwarth, P. Shushkov, J. Chem. Theory Comput., 2017, 13, 1989-2009. DOI: 10.1021/acs.jctc.7b00118
[Info] Parameter file written to 'gfn1-si-xtb.toml'
Checking the publication for the silicon reparametrization, we find the following block should replace the original silicon parameters
[element.Si]
shells = [ "3s", "3p", "3d" ]
levels = [ -20.800315425903165, -3.5264076861641520, -3.3208643706317353 ]
slater = [ 2.3371570152493040, 1.5763458252396125, 2.4738420884260743 ]
ngauss = [ 6, 6, 4 ]
refocc = [ 2.0000000000000000E+00, 2.0000000000000000E+00, 0.0000000000000000E+00 ]
shpoly = [ 1.4825308771746826e-1, -8.62884770910867e-2, 3.657238734895316e-1 ]
kcn = [ 0.12480189255541899, -0.010579223058492456, -0.016604321853158677 ]
gam = 2.251140760209364
lgam = [ 0.502801760750610, 0.395446383965421, 1.607202745178966 ]
gam3 = 1.1249948730457175
zeff = 21.35692801920323
arep = 1.0359397134915551
xbond = 0.0000000000000000E+00
en = 2.089192666371941
dkernel = 0.0000000000000000E+00
qkernel = 0.0000000000000000E+00
mprad = 0.0000000000000000E+00
mpvcn = 0.0000000000000000E+00
Furthermore, a new element-pair scaling is added for silicon–oxygen pairs under hamiltonian.xtb.kpair
, replacing the default scaling of 1.0 by
# ...
[hamiltonian.xtb.kpair]
# ...
Si-O = 0.9689382911964309
# ...
Finally, it would be diligent to properly update the meta
entry to correctly identify the parametrization
[meta]
name = "GFN1(Si)-xTB"
reference = """S. Grimme, C. Bannwarth, P. Shushkov, J. Chem. Theory Comput., 2017, 13, 1989-2009. DOI: 10.1021/acs.jctc.7b00118
L. Komissarov, Toon Verstraelen, J. Chem. Inf. Mod. ASAP. DOI: 10.1021/acs.jcim.1c01170"""
The modified parameter file can now be used in DFTB+ with
Geometry = xyzFormat {
<<< "struc.xyz"
}
Hamiltonian = xTB {
ParameterFile = "gfn1-si-xtb.toml"
}
Options = { WriteDetailedOut = No }
Analysis { CalculateForces = Yes }
ParserOptions = { ParserVersion = 10 }
Parallel = { UseOmpThreads = Yes }
Difference between GFN1-xTB and GFN1(Si)-xTB parameter file
--- gfn1-xtb.toml
+++ gfn1-si-xtb.toml
@@ -1,6 +1,7 @@
[meta]
-name = "GFN1-xTB"
-reference = "S. Grimme, C. Bannwarth, P. Shushkov, J. Chem. Theory Comput., 2017, 13, 1989-2009. DOI: 10.1021/acs.jctc.7b00118"
+name = "GFN1(Si)-xTB"
+reference = """S. Grimme, C. Bannwarth, P. Shushkov, J. Chem. Theory Comput., 2017, 13, 1989-2009. DOI: 10.1021/acs.jctc.7b00118
+L. Komissarov, Toon Verstraelen, J. Chem. Inf. Mod. ASAP. DOI: 10.1021/acs.jcim.1c01170"""
version = 1
format = 1
[hamiltonian]
@@ -19,6 +20,7 @@
B-H = 9.4999999999999996E-01
N-H = 1.0400000000000000E+00
Si-N = 1.0100000000000000E+00
+Si-O = 0.9689382911964309
P-B = 9.6999999999999997E-01
Sc-Sc = 1.1000000000000001E+00
Ti-Sc = 1.1000000000000001E+00
@@ -1154,19 +1156,19 @@
mpvcn = 0.0000000000000000E+00
[element.Si]
shells = [ "3s", "3p", "3d" ]
-levels = [ -1.4506128000000000E+01, -7.5573370000000013E+00, -2.5081129999999998E+00 ]
-slater = [ 1.5219600000000000E+00, 1.6091380000000000E+00, 1.1689710000000000E+00 ]
+levels = [ -20.800315425903165, -3.5264076861641520, -3.3208643706317353 ]
+slater = [ 2.3371570152493040, 1.5763458252396125, 2.4738420884260743 ]
ngauss = [ 6, 6, 4 ]
refocc = [ 2.0000000000000000E+00, 2.0000000000000000E+00, 0.0000000000000000E+00 ]
-shpoly = [ -1.4201582000000001E-01, -3.8933430000000005E-02, 2.5499221000000000E-01 ]
-kcn = [ 8.7036768000000000E-02, -2.2672010999999999E-02, -1.2540565000000000E-02 ]
-gam = 4.3833100000000003E-01
-lgam = [ 1.0000000000000000E+00, 4.0741660000000002E-01, 1.0000000000000000E+00 ]
-gam3 = 1.5000000000000002E-01
-zeff = 1.6898358999999999E+01
-arep = 9.4816500000000004E-01
+shpoly = [ 1.4825308771746826e-1, -8.62884770910867e-2, 3.657238734895316e-1 ]
+kcn = [ 0.12480189255541899, -0.010579223058492456, -0.016604321853158677 ]
+gam = 2.251140760209364
+lgam = [ 0.502801760750610, 0.395446383965421, 1.607202745178966 ]
+gam3 = 1.1249948730457175
+zeff = 21.35692801920323
+arep = 1.0359397134915551
xbond = 0.0000000000000000E+00
-en = 1.8999999999999999E+00
+en = 2.089192666371941
dkernel = 0.0000000000000000E+00
qkernel = 0.0000000000000000E+00
mprad = 0.0000000000000000E+00
Tip
The specification of the parameter file format can be found in the tblite documentation.
Summary#
You learned…
to setup a calculation with the extended tight binding Hamiltonian
perform single point evaluations on various element combinations with xTB
export parameter files and manipulate the parametrization data
Literature#
- 1
Christoph Bannwarth, Eike Caldeweyher, Sebastian Ehlert, Andreas Hansen, Philipp Pracht, Jakob Seibert, Sebastian Spicher, and Stefan Grimme. Extended tight‐binding quantum chemistry methods. WIREs Comput. Mol. Sci., 11:e1493, 2021. doi:10.1002/wcms.1493.
- 2
Stefan Grimme, Christoph Bannwarth, and Philip Shushkov. A robust and accurate tight-binding quantum chemical method for structures, vibrational frequencies, and noncovalent interactions of large molecular systems parametrized for all spd-block elements (z = 1–86). J. Chem. Theory Comput., 13(5):1989–2009, 2017. doi:10.1021/acs.jctc.7b00118.
- 3
Christoph Bannwarth, Sebastian Ehlert, and Stefan Grimme. GFN2-xTB—an accurate and broadly parametrized self-consistent tight-binding quantum chemical method with multipole electrostatics and density-dependent dispersion contributions. J. Chem. Theory Comput., 15(3):1652–1671, 2019. doi:10.1021/acs.jctc.8b01176.
- 4
Vilhjálmur Ásgeirsson, Christoph A Bauer, and Stefan Grimme. Quantum chemical calculation of electron ionization mass spectra for general organic and inorganic molecules. Chem. Sci., 8(7):4879–4895, 2017. doi:10.1039/c7sc00601b.
- 5
Leonid Komissarov and Toon Verstraelen. Improving the silicon interactions of GFN-xTB. J. Chem. Inf. Mod., 61(12):5931–5937, 2021. doi:10.1021/acs.jcim.1c01170.