Overview | Use NN-xTB¶
NN-xTB (Neural Network extended Tight Binding) is a GPU-accelerated semi-empirical quantum chemistry method built by QDX. It reparameterizes the GFN2-xTB Hamiltonian with a neural network to approach DFT-level accuracy while retaining the interpretability and speed of tight-binding methods.
NN-xTB fills the gap between fast but approximate classical force fields and accurate but expensive ab initio quantum chemistry. It is designed for workflows where you need quantum-level electronic structure information — energies, forces, vibrational frequencies — but cannot afford the cost of full DFT or wavefunction methods across large numbers of structures.
When to use NN-xTB¶
NN-xTB is a good fit when you need:
Fast single-point energies across large datasets (screening, filtering, ranking)
Per-atom forces for downstream analysis or geometry validation
Vibrational frequencies for thermochemistry or IR spectra prediction
Rapid turnaround — calculations that would take minutes with DFT complete in seconds with NN-xTB
Typical use cases include:
Conformer generation & ranking — generate and optimize thousands of conformers, rank by energy, and pass only the low-energy ones to DFT
Pre-optimization before DFT — cheaply relax rough input geometries from crystal structures, docking, or generative models before handing to a more expensive method, saving many DFT cycles
Thermochemistry at scale — obtain Hessians and frequencies for large datasets where full DFT would be prohibitive
Solvation & pKa estimation — rapid pKa and solubility screening using implicit solvation models
Large and complex systems — supramolecular complexes and other systems where DFT is impractical
Reaction pathway exploration — finding reaction intermediates and mapping energy surfaces
Rule of thumb: Use NN-xTB for fast, approximate answers across many structures. Use EXESS when you need high-accuracy results on specific structures.
How it works¶
NN-xTB extends the GFN2-xTB tight-binding method by replacing key empirical parameters with neural-network-predicted values. This retains the interpretable electronic structure of xTB (orbital energies, charge decomposition) while improving accuracy toward DFT-level results.
Supported features¶
Energy: Total electronic energy in meV
Forces: Per-atom force vectors in meV/A (enabled by default)
Frequencies: Vibrational frequencies in cm^-1 (optional, more expensive)
Charge: Arbitrary molecular charge (integer)
Multiplicity: Arbitrary spin multiplicity (singlet, doublet, triplet, etc.)
Limitations¶
NN-xTB is a semi-empirical method — for high-level ab initio accuracy, use EXESS instead
Output format¶
NN-xTB returns a JSON object with three fields:
Field |
Type |
Description |
|---|---|---|
|
|
Total energy in millielectronvolts |
|
|
Per-atom force vectors (x, y, z) |
|
|
Vibrational frequencies in cm^-1 |
Use run.fetch() to parse this output into an nnxtb.Result dataclass:
from rush import nnxtb
result = nnxtb.energy("molecule_t.json").fetch()
print(f"Energy: {result.energy_mev} meV")
print(f"Forces: {result.forces_mev_per_angstrom}")
print(f"Frequencies: {result.frequencies_inv_cm}")
nnxtb.Result has three fields:
energy_mevforces_mev_per_angstromfrequencies_inv_cm