NN-xTB

NN-xTB module helpers for the Rush Python client.

NN-xTB reparameterizes xTB with a neural network to approach DFT-level accuracy while keeping xTB-like speed. It supports arbitrary charge and spin states and is well-suited for large-scale screening where fast, per-atom forces or vibrational frequencies are needed. Frequency calculations are more expensive.

class rush.nnxtb.NnxtbResults(energy_mev, forces_mev_per_angstrom=None, frequencies_inv_cm=None)[source]

Bases: object

Parsed nn-xTB results.

Use this to load JSON output from the Rush object store. When calling nnxtb(…, collect=True), the return value includes a path to the JSON output. After reading the json into a dict, you can pass it to this class like NnxtbResults(**data).

Parameters:
  • energy_mev (float)

  • forces_mev_per_angstrom (list[tuple[float, float, float]] | None)

  • frequencies_inv_cm (list[float] | None)

energy_mev: float
forces_mev_per_angstrom: list[tuple[float, float, float]] | None
frequencies_inv_cm: list[float] | None
rush.nnxtb.nnxtb(topology_path, compute_forces=None, compute_frequencies=None, multiplicity=None, run_spec=RunSpec(gpus=1, storage=100), run_opts=RunOpts(), collect=False)[source]

Run NN-xTB on the system in the QDX topology file at topology_path.

Parameters:
  • topology_path (Path | str) – Path to a TRC topology JSON file.

  • compute_forces (bool | None) – Whether to compute per-atom forces. Defaults to true.

  • compute_frequencies (bool | None) – Whether to compute vibrational frequencies. Defaults to false.

  • multiplicity (int | None) – Spin multiplicity. Defaults to 1 (singlet).

  • run_spec (RunSpec) – Rush compute resources to request.

  • run_opts (RunOpts) – Rush run metadata.

  • collect – Whether to wait for completion and return outputs.