Skip to content

Commit d2af74c

Browse files
timduignanclaude
andcommitted
Soften LatentSpinHead claims; document fp64 energy default
- Don't assert per-atom spins are physical observables (we haven't validated this; reword as "auxiliary per-atom features that take the system's spin multiplicity into account") in MODELS.md and README.md. - Add a note in the README orbmol-v2 update that energies are now fp64 by default for kJ/mol resolution against OMol25-scale references; opt out via fp64_energy=False on predict(). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 7ac3c29 commit d2af74c

2 files changed

Lines changed: 4 additions & 3 deletions

File tree

MODELS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ See below for more explanation of this naming convention. Both models have `inf`
1616

1717
* `orbmol-v2`
1818

19-
OrbMol-v2 extends the OrbMol architecture with **learnable per-atom electrostatics**: a `LatentChargeHead` predicts per-atom partial charges (constrained to sum to the system total charge), a `LatentSpinHead` predicts per-atom spins (constrained to sum to 2S = `spin_multiplicity − 1`), and a `CoulombModule` adds a long-range Coulomb energy on top of the GNN — direct bare-1/r Coulomb sum for non-periodic systems, Particle Mesh Ewald via `nvalchemiops` for periodic systems. The energy head (`ChargeConditionedEnergyHead`) is conditioned on the predicted charges and spins per-atom.
19+
OrbMol-v2 extends the OrbMol architecture with **learnable per-atom electrostatics**: a `LatentChargeHead` predicts per-atom partial charges (constrained to sum to the system total charge), and a `CoulombModule` adds a long-range Coulomb energy on top of the GNN — direct bare-1/r Coulomb sum for non-periodic systems, Particle Mesh Ewald via `nvalchemiops` for periodic systems. The energy head (`ChargeConditionedEnergyHead`) is conditioned on these per-atom charges (and on auxiliary per-atom features from a `LatentSpinHead` that take the system's spin multiplicity into account; these are not asserted to be physically meaningful per-atom spins).
2020

2121
Trained on OMol25 and OPoly26 (ωB97M-V/def2-TZVPD); supports both periodic and non-periodic systems. Stress is enabled via `model.enable_stress()` if needed.
2222

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,10 @@ Alternatively, you can use Docker to run orb-models; [see instructions below](#d
2323

2424
**May 2026**: Release of OrbMol-v2 — extends the OrbMol architecture with learnable per-atom electrostatics:
2525

26-
* New `LatentChargeHead` and `LatentSpinHead` predict per-atom charges and spins (constrained to sum to the system total charge / 2S = `spin_multiplicity − 1`), and a `CoulombModule` adds long-range Coulomb energy on top of the GNN — direct Coulomb sum for non-periodic systems, Particle Mesh Ewald via `nvalchemiops` for periodic.
27-
* The energy head (`ChargeConditionedEnergyHead`) is conditioned on the predicted charges and spins per atom.
26+
* New `LatentChargeHead` predicts per-atom charges (constrained to sum to the system total charge), and a `CoulombModule` adds long-range Coulomb energy on top of the GNN — direct Coulomb sum for non-periodic systems, Particle Mesh Ewald via `nvalchemiops` for periodic.
27+
* The energy head (`ChargeConditionedEnergyHead`) is conditioned on these per-atom charges (and on a `LatentSpinHead` that conditions on the system's spin multiplicity; we do not claim its outputs correspond to physically meaningful per-atom spins).
2828
* Trained on OMol25 and OPoly26 (ωB97M-V/def2-TZVPD); load with `pretrained.orbmol_v2(device="cuda")`.
29+
* `model.predict(...)["energy"]` now returns **fp64** by default. OMol25 reference energies reach ~1e4–1e5 eV, where fp32's ~0.01 eV step destroys kJ/mol resolution; fp64 preserves it. Pass `fp64_energy=False` to `predict` (or `False` to `EnergyHead.predict(..., fp64=False)`) to opt out.
2930

3031
**February 2026**: Improved GPU-accelerated graph construction with [ALCHEMI Toolkit-Ops](https://github.com/NVIDIA/nvalchemi-toolkit-ops) and batched simulation with [TorchSim](https://github.com/TorchSim/torch-sim):
3132

0 commit comments

Comments
 (0)