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:
objectParsed 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.