diff --git a/metatomic-torch/src/model.cpp b/metatomic-torch/src/model.cpp index 7bc7e347..dac2b65a 100644 --- a/metatomic-torch/src/model.cpp +++ b/metatomic-torch/src/model.cpp @@ -1141,6 +1141,7 @@ static std::map KNOWN_QUANTITIES = { {"A/fs", 1e1}, {"m/s", 1e6}, {"nm/ps", 1e3}, + {"(eV/u)^(1/2)", 101.80506}, }, { // alternative names }}}, diff --git a/python/metatomic_torch/metatomic/torch/ase_calculator.py b/python/metatomic_torch/metatomic/torch/ase_calculator.py index 84e5d4d9..76964aaa 100644 --- a/python/metatomic_torch/metatomic/torch/ase_calculator.py +++ b/python/metatomic_torch/metatomic/torch/ase_calculator.py @@ -65,7 +65,7 @@ def _get_charges(atoms: ase.Atoms) -> np.ndarray: "velocities": { "quantity": "velocity", "getter": ase.Atoms.get_velocities, - "unit": "nm/fs", + "unit": "(eV/u)^(1/2)", }, "charges": { "quantity": "charge", diff --git a/python/metatomic_torch/tests/ase_calculator.py b/python/metatomic_torch/tests/ase_calculator.py index f0ae7be7..a1d1e57f 100644 --- a/python/metatomic_torch/tests/ase_calculator.py +++ b/python/metatomic_torch/tests/ase_calculator.py @@ -866,6 +866,8 @@ def test_additional_input(atoms): expected = ARRAY_QUANTITIES[name]["getter"](atoms).reshape(values.shape) if name == "velocities": - expected *= 10.0 # ase velocity is in nm/fs + expected /= ( + ase.units.Angstrom / ase.units.fs + ) # ase velocity is in (eV/u)^(1/2) and we want A/fs assert np.allclose(values, expected)