https://github.com/grimme-lab/g-xtb
Development versions of the g-xTB method. Final implementation will not happen here but in tblite (https://github.com/tblite/tblite).
https://github.com/grimme-lab/g-xtb
dft sqm
Last synced: 4 months ago
JSON representation
Development versions of the g-xTB method. Final implementation will not happen here but in tblite (https://github.com/tblite/tblite).
- Host: GitHub
- URL: https://github.com/grimme-lab/g-xtb
- Owner: grimme-lab
- License: gpl-3.0
- Created: 2025-06-24T09:40:57.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-08-12T10:46:44.000Z (10 months ago)
- Last Synced: 2025-08-12T12:38:26.911Z (10 months ago)
- Topics: dft, sqm
- Homepage: https://chemrxiv.org/engage/chemrxiv/article-details/685434533ba0887c335fc974
- Size: 27 MB
- Stars: 93
- Watchers: 6
- Forks: 6
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🚧 g-xTB — Development Version
This is a preliminary version of g-xTB, a general-purpose semiempirical quantum mechanical method approximating ωB97M-V/def2-TZVPPD properties.
## 📄 Preprint
See the preprint at ChemRxiv: https://chemrxiv.org/engage/chemrxiv/article-details/685434533ba0887c335fc974
## 📦 Installation
> [!WARNING]
> `gxtb` currently works only on Linux-based machines.
Place the `gxtb` binary in a directory belonging to your `$PATH` variable (e.g., `$USER/bin/`).
Place the following parameter and basis files into a dedicated directory, which you export in the `$GXTBHOME` variable:
- `.gxtb` — parameter file (`-p`)
- `.eeq` — electronegativity equilibration parameters (`-e`)
- `.basisq` — atom-in-molecule AO basis (`-b`)
If `$GXTBHOME` is not defined, the `gxtb` binary searches first in your home directory `$HOME` and then in the current directory (`./`). You can overwrite the location of the parameter files with the resepctive command-line flags (`-p`, `-e`, and `-b`).
## Usage
By default, `gxtb` expects a coordinate file in TURBOMOLE format (`coord`) using atomic units (i.e. Bohr).
### Run examples
```
gxtb # default: coord file = TURBOMOLE format
gxtb -c # explicit coordinate file (TURBOMOLE or XYZ)
gxtb -c # XYZ file supported
```
Place the following optional control files in your working directory:
- `.CHRG` # Integer charge of the system (default: neutral)
- `.UHF` # Integer number of open shells (e.g., 2 for triplet, 0 for singlet UKS)
If `.CHRG` or `.UHF` are not present:
- Even electrons: neutral singlet (RKS)
- Odd electrons: neutral doublet (UKS)
## ⚙️ Additional Features
### Numerical Gradient
```
gxtb -grad
```
Or if a file named `.GRAD` is present, a numerical gradient is computed (expensive!).
Molecular symmetry is exploited to speed up calculations.
### Geometry Optimization with `xtb`
To optimize geometries using xtb with gxtb as a driver:
```
xtb struc.xyz --driver "gxtb -grad -c xtbdriver.xyz" --opt
```
Or with a `coord` file in TURBOMOLE format:
```
xtb coord --driver "gxtb -grad -c xtbdriver.coord" --opt
```
💡 You may use `--opt loose` for faster convergence, as there is currently no analytical nuclear gradient — gradients are evaluated numerically and can be noisy.
### Numerical Hessian
```
gxtb -hess
```
Computes a numerical Hessian (very expensive).
## Current Coverage
- Reasonably parameterized for elements Z = 1–58, 71–89, and 92
- A revised dispersion model (`revD4`) is in progress and may slightly affect final results
## 📊 Output and Analysis
- All computed properties aim to approximate ωB97M-V/def2-TZVPPD
- EEQ_BC charges mimic Hirshfeld charges from that reference
- Use the `-molden` flag to write a `.molden` file with orbitals and basis info:
```
gxtb -molden
```
Useful for visualization and post-processing.