gau_xtb:A Gaussian interface for xtb code

Latest version:1.0.1 (Release date: 2020-Jul-5)


Dr. Tian Lu (sobereva[at] Beijing Kein Research Center for Natural Sciences, China)


Tian Lu, gau_xtb: A Gaussian interface for xtb code, (accessed month day, year)


In this package, the "" is the shell script that Gaussian will invoke, the "extderi" and "genxyz" are executable files that invoked by "", the corresponding Fortran source codes (.f90) are also provided. The "examples" folder contains some example Gaussian tasks that utilize the gau_xtb interface.


The xtb code developed by Stefan Grimme implements his GFN-xTB theory, which may be regarded as a semi-empirical version of DFT theory. xtb is fairly robust and extremely fast. Unfortunately, the type of tasks supported by xtb is relatively limited. For example, xtb is unable to locate transition state and generate IRC path. In addition, rare visualization tool could be adapted for visualizing output of xtb (e.g. vibrational modes, optimization trajectory).

The very popular quantum chemistry code Gaussian supports "external" keyword, which invokes third-part computational code to yield energy and its derivatives that needed by Gaussian tasks (e.g. single point, optimization, locating transition state, generating IRC, frequency analysis and so on). In addition, there is a nice program GaussView, which fully supports visualizing output of various Gaussian tasks.

Clearly, developing an interface between Gaussian and xtb by making use of the "external" feature must be of great value, since the power of the two codes can be fully integrated, making rapid and robust calculation of various tasks for large system possible. The xtb_gau is such as interface.

Detailed introduction about gau_xtb can be found in (in Chinese).


# external='./' force
# opt(ts,calcfc,noeigen,nomicro) external='./'
# IRC(maxpoints=20,calcfc) geom=check external='./'
# freq geom=allcheck external='./'

During above Gaussian calculations, energy, force and Hessian will be calculated by xtb code, the output file can be normally visualized via GaussView.

Notice 1: Parallel running of Gaussian must be avoided! To guarantee this, you could use %nproc=1.

Notice 2: "opt" and "task" tasks cannot be joined together when using gau_xtb, namely "opt freq" keyword does not work normally.

Notice 3: If your system contains very heavy atom (out of definition range of STO-3G basis set, which is the default basis set of Gaussian), you should add UGBS as keyword, which is a basis set almost covers the entire periodic table. The result will not be thus affected, but the error could be completely bypassed.

Update History

2020-Jul-5, version 1.0.1: Automatically remove .engrad xtbtopo.mol after running

2019-Apr-19, version 1.0: Initial release