Extended tight binding

Extended tight binding#

[Input: recipes/xtb/]

This chapter will investigate some basic usage of the extended tight binding (xTB) methods.BCE+21

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.

Listing 1 dftb_in.hsd#
Geometry = xyzFormat {
<<< "struc.xyz"
}

Hamiltonian = xTB {
  Method = "GFN1-xTB"
}

Options { WriteDetailedOut = No }
Analysis { CalculateForces = Yes }
ParserOptions { ParserVersion = 10 }
Parallel { UseOmpThreads = Yes }
Listing 2 dftb_in.hsd#
Geometry = xyzFormat {
<<< "struc.xyz"
}

Hamiltonian = xTB {
  Method = "GFN2-xTB"
}

Options { WriteDetailedOut = No }
Analysis { CalculateForces = Yes }
ParserOptions { ParserVersion = 10 }
Parallel { UseOmpThreads = Yes }
Listing 3 dftb_in.hsd#
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:

Listing 4 struc.xyz#
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:

  1. the version of the library used for evaluating xTB, as well as details on the parametrization of the xTB Hamiltonian and the included interactions

  2. the electronic temperature defaulting to 300K with the xTB Hamiltonian

  3. 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,KV21 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

Listing 5 GFN1(Si)-xTB 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

Listing 6 dftb_in.hsd#
Geometry = xyzFormat {
<<< "struc.xyz"
}

Hamiltonian = xTB {
  ParameterFile = "gfn1-si-xtb.toml"
}

Options = { WriteDetailedOut = No }
Analysis { CalculateForces = Yes }
ParserOptions = { ParserVersion = 10 }
Parallel = { UseOmpThreads = Yes }

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