Skip to content

grimme-lab/xtb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Semiempirical Extended Tight-Binding Program Package

License Latest Version DOI Github Downloads All Releases

This is the offical repository of the xtb program package developed by the Grimme group in Bonn.

Extended Tight Binding

Installation

Build Status

Statically linked binaries (Intel Compiler) can be found at the latest release page, a version for Linux (Intel 18.0.2, GLIBC 2.19) and Windows (Intel 2022) is provided. The xtb program and library are packaged on conda-forge for Linux (x86_64, aarch64, ppc64le) and MacOS (x86_64, arm64). For homebrew users a custom tap is available at grimme-lab/homebrew-qc providing prebuilt MacOS/x86_64 binaries, for MacOS/arm64 binaries will be compiled on installation automatically.

Bleeding edge releases (Linux only) of the latest source from this repository are available on the continuous release tag.

This projects supports two build systems, meson and CMake. A short guide on the usage of each is given here, follow the linked instructions for a more detailed information (meson guide, CMake guide).

Compilers:

  1. ifort(<=2021.10.0), icc(<=2021.10.0)
  2. gfortran(<=13.2.0), gcc(<=13.2.0)

Meson

Using meson as build system requires you to install a fairly new version like 0.62 or newer. To use the default backend of meson you have to install ninja version 1.7 or newer.

export FC=ifort CC=icc
meson setup build --buildtype release --optimization 2 -Dfortran_link_args="-qopenmp"
ninja -C build test

Important

Compilation with meson on macOS differs slightly from the protocol for Linux-based systems. Different BLAS libraries can lead to deviating results in rare cases – please stick to the following instructions.

Setting up meson on macOS

Compiling with meson on macOS

  1. Use Homebrew for Package Management: Install dependencies like gcc, gfortran, and openblas using Homebrew. Further information on how to setup brew. Example:
    brew install gcc gfortran openblas
  2. meson setup call with appropriate environment variables: Use the following adapted meson setup call to compile xtb on macOS. Obviously, the paths to the libraries might differ on your system.
    LDFLAGS="-L/opt/homebrew/opt/openblas/lib" CPPFLAGS="-I/opt/homebrew/opt/openblas/include" FC=gfortran-14 CC=gcc-14 meson setup _build --buildtype release -Dlapack=openblas

Make sure the testsuite is running without errors.

To install the xtb binaries to /usr/local use (might require sudo)

ninja -C build install

For more information on the build with meson see the instructions here.

CMake

The CMake build system requires both make and CMake to be installed, the latter has to be version 3.9 or newer.

Building xtb with CMake works with the following chain of commands:

cmake -B build -DCMAKE_BUILD_TYPE=Release
make -C build
make -C build test

To install the xtb binaries to /usr/local use (might require sudo)

make -C build install

For more detailed information on the build with CMake see the instructions here.

Conda

Conda Version

Installing xtb from the conda-forge channel can be achieved by adding conda-forge to your channels with:

conda config --add channels conda-forge

Once the conda-forge channel has been enabled, xtb can be installed with:

conda install xtb

It is possible to list all of the versions of xtb available on your platform with:

conda search xtb --channel conda-forge

Documentation

Documentation Status

The xtb documentation is hosted at read-the-docs.

Contributing

Please read our contributing guidelines before contributing to this project.

Contributors

We are developing this program to make our research possible. Many of the features that xtb has today have been added because there was a dire need for them and we had many contributors who made these features reality:

Contributors are listed in alphabetical order. Some contributions predate the GitHub release of this project and are not visible in the repository commit history. For the contributor data from the commit history since then look here.

Citations

General Reference to xtb and the implemented GFN methods:

  • C. Bannwarth, E. Caldeweyher, S. Ehlert, A. Hansen, P. Pracht, J. Seibert, S. Spicher, S. Grimme WIREs Comput. Mol. Sci., 2020, 11, e01493. DOI: 10.1002/wcms.1493

for GFN-xTB:

for GFN-FF:

for GBSA and ALPB implicit solvation:

  • S. Ehlert, M. Stahn, S. Spicher, S. Grimme, J. Chem. Theory Comput., 2021, 17, 4250-4261 DOI: 10.1021/acs.jctc.1c00471

for ddCOSMO and CPCM-X implicit solvation:

for DFT-D4:

  • E. Caldeweyher, C. Bannwarth and S. Grimme, J. Chem. Phys., 2017, 147, 034112. DOI: 10.1063/1.4993215
  • E. Caldeweyher, S. Ehlert, A. Hansen, H. Neugebauer, S. Spicher, C. Bannwarth and S. Grimme, J. Chem. Phys., 2019, 150, 154122. DOI: 10.1063/1.5090222
  • E. Caldeweyher, J.-M. Mewes, S. Ehlert and S. Grimme, Phys. Chem. Chem. Phys., 2020, 22, 8499-8512. DOI: 10.1039/D0CP00502A

for sTDA-xTB:

  • S. Grimme and C. Bannwarth, J. Chem. Phys., 2016, 145, 054103. DOI: 10.1063/1.4959605

in the mass-spec context:

for metadynamics refer to:

for SPH calculations refer to:

for ONIOM refer to:

  • C. Plett, A. Katbashev, S. Ehlert, S. Grimme, M. Bursch, Phys. Chem. Chem. Phys., 2023, 25, 17860-17868. DOI: 10.1039/D3CP02178E

All references are available in bibtex format.

License

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.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in xtb by you, as defined in the GNU Lesser General Public license, shall be licensed as above, without any additional terms or conditions.