XTB(1)
okay bestie π this is the manual for xtb(1) β the program that performs semiempirical quantummechanical calculations, for version 6.0 and newer. let's get into it! π«Ά
β¨ NAME β¨
xtb β performs semiempirical quantummechanical calculations, for version 6.0 and newer. π
πΈ SYNOPSIS πΈ
xtb [OPTIONS] FILE [OPTIONS]
π DESCRIPTION π
okay so bestie, the xtb(1) program does semiempirical quantummechanical calculations. The underlying effective Hamiltonian is derived from density functional tight binding (DFTB). This implementation of the xTB Hamiltonian is currently compatible with the zeroth, first and second level parametrisation for geometries, frequencies and non-covalent interactions (GFN) as well as with the ionisation potential and electron affinity (IPEA) parametrisation of the GFN1 Hamiltonian. The generalized born (GB) model with solvent accessable surface area (SASA) is also available in this version. Ground state calculations for the simplified Tamm-Dancoff approximation (sTDA) with the vTB model are currently not implemented. π«Ά
π¦ GEOMETRY INPUT π¦
The wide variety of input formats for the geometry are supported by using the mctc-lib. Supported formats are:
- Xmol/xyz files (
xyz,log) - Turbomoleβs coord, riperβs periodic coord (
tmol,coord) - DFTB+ genFormat geometry inputs as cluster, supercell or fractional (
gen) - VASPβs POSCAR/CONTCAR input files (
vasp,poscar,contcar) - Protein Database files, only single files (
pdb) - Connection table files, molfile (
mol) and structure data format (sdf) - Gaussianβs external program input (
ein) - JSON input with
qcschema_moleculeorqcschema_inputstructure (json) - FHI-AIMS' input files (
geometry.in) - Q-Chem molecule block inputs (
qchem)
For a full list visit: https://grimme-lab.github.io/mctc-lib/page/index.html
xtb(1) reads additionally .CHRG and .UHF files if present.
π INPUT SOURCES π
xtb(1) gets its information from different sources. The one with highest priority is the commandline with all allowed flags and arguments described below. The secondary source is the xcontrol(7) system, which can in principle use as many input files as wished. The xcontrol(7) system is the successor of the set-block as present in version 5.8.2 and earlier. This implementation of xtb(1) reads the xcontrol(7) from two of three possible sources, the local xcontrol file or the FILE used to specify the geometry and the global configuration file found in the XTBPATH.
β¨ OPTIONS β¨
-c, --chrg INTβ specify molecular charge asINT, overrides.CHRGfile and xcontrol option. π-c, --chrg INT:INTβ specify charges for inner region:outer region for oniom calculation, overrides.CHRGfile and xcontrol option. π-u, --uhf INTβ specify number of unpaired electrons asINT, overrides.UHFfile and xcontrol option. π--gfn INTβ specify parametrisation of GFN-xTB (default =2). β¨--gfnff, --gffβ specify parametrisation of GFN-FF. πΈ--tbliteβ use tblite library as implementation for xTB. π¦--ceh*β calculate CEH (Charge-Extended HΓΌckel model) charges and write them toceh.chargesfile. π--ptbβ performs single-point calculation with the density tight-binding method PTB. Provides electronic structure and properties, such as, e.g., atomic charges, bond orders, and dipole moments, but does not provide any energy-related properties, such as, e.g., total energy, nuclear gradients, or vibrational frequencies. π--spinpolβ enables spin-polarization for xTB methods (tblite required). π₯--oniom METHOD LISTβ use subtractive embedding via ONIOM method.METHODis given ashigh:lowwherehighcan beorca,turbomole,gfn2,gfn1, orgfnffandlowcan begfn2,gfn1, orgfnff. The inner region is given as comma-separated indices directly in the commandline or in a file with each index on a separate line. π§--etemp, --temp REALβ electronic temperature for SCC (default =300K). π‘οΈ--espβ calculate electrostatic potential on VdW-grid. β‘--stmβ calculate STM image. πΌοΈ-a, --acc REALβ accuracy for SCC calculation, lower is better (default =1.0). π―--iterations, --maxiterations INTβ maximum number of SCC iterations per single point calculation (default =250). π--vparam FILEβ Parameter file for xTB calculation. π--alpb SOLVENT [STATE]β analytical linearized Poisson-Boltzmann (ALPB) model, available solvents areacetone,acetonitrile,aniline,benzaldehyde,benzene,ch2cl2,chcl3,cs2,dioxane,dmf,dmso,ether,ethylacetate,furane,hexandecane,hexane,methanol,nitromethane,octanol,woctanol,phenol,toluene,thf,water. The solvent input is not case-sensitive. The Gsolv reference state can be chosen asreference,bar1M, orgsolv(default). π-g, --gbsa SOLVENT [STATE]β generalized born (GB) model with solvent accessable surface (SASA) model, available solvents areacetone,acetonitrile,benzene(only GFN1-xTB),CH2Cl2,CHCl3,CS2,DMF(only GFN2-xTB),DMSO,ether,H2O,methanol,n-hexane(only GFN2-xTB),THFandtoluene. The solvent input is not case-sensitive. The Gsolv reference state can be chosen asreference,bar1M, orgsolv(default). π§--cosmo SOLVENT/EPSILONβ domain decomposition conductor-like screening model (ddCOSMO) available solvents are all solvents that are available for alpb. Additionally, the dielectric constant can be set manually or an ideal conductor can be chosen by setting epsilon to infinity. π--tmcosmo SOLVENT/EPSILONβ same as--cosmo, but uses TM convention for writing the.cosmofiles. β¨--cpcmx SOLVENTβ extended conduction-like polarizable continuum solvation model (CPCM-X), available solvents are all solvents included in the Minnesota Solvation Database. ποΈ--cmaβ shifts molecule to center of mass and transforms cartesian coordinates into the coordinate system of the principle axis (not affected by βisotopesβ-file). βοΈ--popβ requests printout of Mulliken population analysis. π--moldenβ requests printout of molden file. π§¬--alphaβ requests the extension of electrical properties to static molecular dipole polarizabilities. β‘--ramanβ requests Raman spectrum calculation via combination of GFN2-xTB and PTB using the temperatureREAL(default298.15 K) and the wavelength of the incident laser which must be given in nmREAL(default514 nm). π--dipoleβ requests dipole printout. π§²--wboβ requests Wiberg bond order printout. π--lmoβ requests localization of orbitals. π--fodβ requests FOD calculation. π«
π RUNTYPS π
Note π You can only select one runtyp, only the first runtyp will be used from the program, use implemented composite runtyps to perform several operations at once.
--scc, --spβ performs a single point calculation. π―--vipβ performs calculation of ionisation potential. This needs the.param_ipea.xtbparameters and a GFN1 Hamiltonian. β‘--veaβ performs calculation of electron affinity. This needs the.param_ipea.xtbparameters and a GFN1 Hamiltonian. π--vipeaβ performs calculation of electron affinity and ionisation potential. This needs the.param_ipea.xtbparameters and a GFN1 Hamiltonian. π₯--vfukuiβ performs calculation of Fukui indices. π§ͺ--vomegaβ performs calculation of electrophilicity index. This needs the.param_ipea.xtbparameters and a GFN1 Hamiltonian. π--gradβ performs a gradient calculation. π-o, --opt [LEVEL]β callancopt(3)to perform a geometry optimization, levels fromcrude,sloppy,loose,normal(default),tight,verytighttoextremecan be chosen. ποΈ--hessβ perform a numerical hessian calculation on input geometry. πΆ--ohess [LEVEL]β perform a numerical hessian calculation on anancopt(3)optimized geometry. π΅--bhess [LEVEL]β perform a biased numerical hessian calculation on anancopt(3)optimized geometry. πΌ--mdβ molecular dynamics simulation on start geometry. π¬--metadyn [int]β meta dynamics simulation on start geometry, savingintsnapshots of the trajectory to bias the simulation. π--omdβ molecular dynamics simulation onancopt(3)optimized geometry, a loose optimization level will be chosen. πββοΈ--metaopt [LEVEL]β callancopt(3)to perform a geometry optimization, then try to find other minimas by meta dynamics. π--path [FILE]β use meta dynamics to calculate a path from the input geometry to the given product structure. π€οΈ--reactorβ experimental. π§ͺ--modef INTβ modefollowing algorithm.INTspecifies the mode that should be used for the modefollowing. ποΈ--dipro [REAL]β the dimer projection method for the calculation of electronic coupling integrals between two fragments.REALsets the threshold for nearly degenerate orbitals to still be considered (default =0.1 eV). π§²
π GENERAL π
-I, --input FILEβ useFILEas input source forxcontrol(7)instructions. π--namespace STRINGβ give thisxtb(1)run a namespace. All files, even temporary ones, will be named according toSTRING(might not work everywhere). π·οΈ--[no]copyβ copies the xcontrol file at startup (default =true). π--[no]restartβ restarts calculation fromxtbrestart(default =true). π-P, --parallel INTβ number of parallel processes. β‘--defineβ performs automatic check of input and terminate. β--jsonβ writextbout.jsonfile. π--citationβ print citation and terminate. π--licenseβ print license and terminate. π-v, --verboseβ be more verbose (not supported in every unit). π£οΈ-s, --silentβ clutter the screen less (not supported in every unit). π€«--ceasefilesβ reduce the amount of output and files written (e.g.xtbtopo.mol). ποΈ--strictβ turns all warnings into hard errors. β οΈ-h, --helpβ show help page. π--cutβ create inner region for oniom calculation without performing any calcultion. βοΈ
πΈ ENVIRONMENT VARIABLES πΈ
okay so xtb(1) goes looking for its parameter files through a path-like variable, and bestie, you are the one who has to provide it β it's called XTBPATH, and you write it in exactly the same syntax as the system PATH variable. no cap.
- if
XTBPATHisn't set,xtb(1)will try to generate it from theXTBHOMEvariable β which is deprecated, fyi π - and if
XTBHOMEisn't set either, it gets generated from theHOMEvariable.
so technically?? storing your parameter files in the user's home directory is sufficient, but it might lead to some cluttering. like, it works, but the vibe is messy π«
since theXTBHOMEvariable is deprecated with version 6.0 and newer,xtb(1)will issue a warning ifXTBHOMEis not part of theXTBPATH, becauseXTBHOMEis simply not used in production runs. periodt.
π LOCAL FILES π
xtb(1) accesses a whole bunch of local files in the current working directory, and it also writes some output into specific files. lowkey important: not all input and output files allow the --namespace option β so keep that in mind, queen π
β¨ INPUT β¨
.CHRGβ molecular charge asint.UHFβ Number of unpaired electrons asintmdrestartβ contains restart information for MD,--namespacecompatiblepchargeβ point charge input, format isreal real real real [int]. The firstrealis used as partial charge, the next three entries are the cartesian coordinates and the last is an optional atom type. Note that the point charge input is not affected by a CMA transformation. Also parallel Hessian calculations will fail due to I/O errors when using point charge embedding πxcontrolβ default input file in--copymode, seexcontrol(7)for details, set by--inputxtbrestartβ contains restart information for SCC,--namespacecompatible
π OUTPUT π
chargesβ contains Mulliken partial charges calculated in SCCceh.chargesβ contains CEH (Charge-Extended HΓΌckel) chargeswboβ contains Wiberg bond order calculated in SCC,--namespacecompatibleenergyβ total energy in Turbomole formatgradientβ geometry, energy and gradient in Turbomole formathessianβ contains the (not mass weighted) cartesian Hessian,--namespacecompatiblextbtopo.molβ topology information written in molfile formatxtbopt.xyz,xtbopt.coordβ optimized geometry in the same format as the input geometryxtbhess.coordβ distorted geometry if imaginary frequency was foundxtbopt.logβ contains all structures obtained in the geometry optimization with the respective energy in the comment line in a XMOL formatted trajectoryxtbsiman.log,xtb.trj.intβ trajectories from MDscoord.intβ coordinate dump of MDfod.cubβ FOD on a cube-type gridspindensity.cubβ spindensity on a cube-type griddensity.cubβ density on a cube-type gridmolden.inputβ MOs and occupation for visualisation and sTDA-xTB calculationspcgradβ gradient of the point chargesxtb_esp.cosmoβ ESP fake cosmo outputxtb_esp_profile.datβ ESP histogramm datavibspectrumβ Turbomole style vibrational spectrum data groupg98.out,g98l.out,g98_canmode.out,g98_locmode.outβ g98 fake output with normal or local modes.tmpxtbmodefβ input for mode followingcoordprot.0β protonated speciesxtblmoinfoβ centers of the localized molecular orbitalslmocent.coordβ centers of the localized molecular orbitalstmpxxβ number of recommended modes for mode followingxtb_normalmodes,xtb_localmodesβ binary dump for mode following
π¦ TOUCH π¦
(these are the lil' marker files that get created, iykyk)
xtbmdokβ generated by successful MD.xtbokβ generated after each successfulxtb(1)run.sccnotconvergedβ generated after failed SCC withprintlevel=2
π WARNINGS π
okay bestie, listen up, because xtb(1) can generate two types of warnings and you should NOT ignore them π
The first warning section is printed immediately after the normal banner at startup, summing up the evaluation of all input sources (commandline, xcontrol, xtbrc). To check these warnings exclusively before running an expensive calculation, an input check is implemented via the --define flag. Please, study these warnings carefully! fr fr.
After xtb(1) has evaluated all the input sources, it immediately enters production mode. Severe errors will lead to an abnormal termination, which is signalled by the printout to STDERR and a non-zero return value (usually 128) π
All non-fatal errors are summerized at the end of the calculation in one block, right before the timing analysis.
To aid the user in fixing the problems generating these warnings, here's a brief summary of each warning with its respective string representation in the output:
ANCopt failed to converge the optimizationβ geometry optimization has failed to converge in the given number of optimization cycles. This is not neccessary a problem if only a small number of cycles was given for the optimization on purpose. All further calculations are done on the last geometry of the optimization.Hessian on incompletely optimized geometry!β This warning will be issued twice: once before the Hessian calculation starts (it would otherwise take some time before this warning could be detected) and in the warning block in the end. The warning will be generated if the gradient norm on the given geometry is higher than a certain threshold.
π EXIT STATUS π
0β normal termination ofxtb(1)β¨128β Failure (termination via error stop generates128as return value)
π BUGS π
please report all bugs with an example input, --copy dump of internal settings and the used geometry, as well as the --verbose output to xtb@thch.uni-bonn.de π«Ά
β RESOURCES β
Main web site: http://grimme.uni-bonn.de/software/xtb
π COPYING π
Copyright Β© 2017-2023 Stefan Grimme
xtb is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
xtb is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with xtb. If not, see https://www.gnu.org/licenses/.
aaaaand that's the whole page, bestie!! π this beauty is dated 09/16/2025 and belongs to XTB(1) β go forth and do iconic computational chemistry, mwah πβ¨
π¦ where this page comes from
- ubuntu resolute: xtb 6.7.1-3 Β· LGPL-3.0-or-later
- ubuntu stonking: xtb 6.7.1-3 Β· LGPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms