From f49c262546eccd50d6151390829d18009ccbaa43 Mon Sep 17 00:00:00 2001 From: GardevoirX Date: Tue, 17 Feb 2026 22:40:48 +0100 Subject: [PATCH 1/4] Add support for atomic units --- metatomic-torch/src/model.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/metatomic-torch/src/model.cpp b/metatomic-torch/src/model.cpp index dac2b65a..ccd13c92 100644 --- a/metatomic-torch/src/model.cpp +++ b/metatomic-torch/src/model.cpp @@ -1108,6 +1108,7 @@ static std::map KNOWN_QUANTITIES = { }}}, {"force", Quantity{/* name */ "force", /* baseline */ "eV/Angstrom", { {"eV/Angstrom", 1.0}, + {"Hartree/Bohr", 0.019446904} }, { // alternative names {"eV/A", "eV/Angstrom"}, @@ -1123,6 +1124,7 @@ static std::map KNOWN_QUANTITIES = { {"u*A/ps", 1000.0}, {"(eV*u)^(1/2)", 10.1805057179}, {"kg*m/s", 1.6605390666e-22}, + {"hbar/Bohr", 83.32476}, }, { // alternative names }}}, @@ -1130,6 +1132,7 @@ static std::map KNOWN_QUANTITIES = { {"u", 1.0}, {"kilogram", 1.66053906892e-27}, {"gram", 1.66053906892e-24}, + {"m_e", 1822.8885}, }, { // alternative names {"Dalton", "u"}, @@ -1142,6 +1145,7 @@ static std::map KNOWN_QUANTITIES = { {"m/s", 1e6}, {"nm/ps", 1e3}, {"(eV/u)^(1/2)", 101.80506}, + {"Bohr*Hartree/hbar", 0.45710289}, }, { // alternative names }}}, From 187b044a7013130fa952b429a67a3c55c35db8f9 Mon Sep 17 00:00:00 2001 From: GardevoirX Date: Wed, 18 Feb 2026 11:26:25 +0100 Subject: [PATCH 2/4] Update documentation --- docs/src/torch/reference/misc.rst | 12 +++++++----- metatomic-torch/src/model.cpp | 1 + 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/docs/src/torch/reference/misc.rst b/docs/src/torch/reference/misc.rst index 432d3d56..1643841b 100644 --- a/docs/src/torch/reference/misc.rst +++ b/docs/src/torch/reference/misc.rst @@ -28,13 +28,15 @@ one of the registered unit. +----------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | **energy** | ``eV``, ``meV``, ``Hartree``, ``kcal/mol``, ``kJ/mol``, ``Joule`` (``J``), ``Rydberg`` (``Ry``) | +----------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ -| **force** | ``eV/Angstrom`` (``eV/A``, ``eV/Angstrom``) | +| **force** | ``eV/Angstrom`` (``eV/A``), ``Hartree/Bohr`` | +----------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ -| **pressure** | ``eV/Angstrom^3`` (``eV/A^3``, ``eV/Angstrom^3``) | +| **pressure** | ``eV/Angstrom^3`` (``eV/A^3``) | +----------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ -| **momentum** | ``u*A/fs``, ``u*A/ps``, ``(eV*u)^(1/2)``, ``kg*m/s`` | +| **momentum** | ``u*A/fs``, ``u*A/ps``, ``(eV*u)^(1/2)``, ``kg*m/s``, ``hbar/Bohr`` | +----------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ -| **mass** | ``u`` (``u``, ``Dalton``), ``kg`` (``kg``, ``kilogram``), ``g`` (``g``, ``gram``) | +| **mass** | ``u`` (``Dalton``), ``kg`` (``kilogram``), ``g`` (``gram``), ``m_e`` (``electron_mass``) | +----------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ -| **velocity** | ``nm/fs``, ``A/fs``, ``m/s``, ``nm/ps`` | +| **velocity** | ``nm/fs``, ``A/fs``, ``m/s``, ``nm/ps``, ``Bohr*Hartree/hbar`` | ++----------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **charge** | ``e``, ``Coulomb`` (``C``) | +----------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/metatomic-torch/src/model.cpp b/metatomic-torch/src/model.cpp index ccd13c92..96343c6d 100644 --- a/metatomic-torch/src/model.cpp +++ b/metatomic-torch/src/model.cpp @@ -1138,6 +1138,7 @@ static std::map KNOWN_QUANTITIES = { {"Dalton", "u"}, {"kg", "kilogram"}, {"g", "gram"}, + {"m_e", "electron_mass"}, }}}, {"velocity", Quantity{/* name */ "velocity", /* baseline */ "nm/fs", { {"nm/fs", 1.0}, From cc8a15068a91604e4107a691d7965fcf92a39ef6 Mon Sep 17 00:00:00 2001 From: GardevoirX Date: Wed, 18 Feb 2026 11:32:19 +0100 Subject: [PATCH 3/4] Formatting --- docs/src/torch/reference/misc.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/torch/reference/misc.rst b/docs/src/torch/reference/misc.rst index 1643841b..1c8e72f1 100644 --- a/docs/src/torch/reference/misc.rst +++ b/docs/src/torch/reference/misc.rst @@ -38,5 +38,5 @@ one of the registered unit. +----------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | **velocity** | ``nm/fs``, ``A/fs``, ``m/s``, ``nm/ps``, ``Bohr*Hartree/hbar`` | +----------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ -| **charge** | ``e``, ``Coulomb`` (``C``) | +| **charge** | ``e``, ``Coulomb`` (``C``) | +----------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ From 51260fe3f8b10a179358020ace190c5f31f25002 Mon Sep 17 00:00:00 2001 From: GardevoirX Date: Wed, 18 Feb 2026 13:40:36 +0100 Subject: [PATCH 4/4] Minor --- docs/src/torch/reference/misc.rst | 2 +- metatomic-torch/src/model.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/src/torch/reference/misc.rst b/docs/src/torch/reference/misc.rst index 1c8e72f1..e2cf5df9 100644 --- a/docs/src/torch/reference/misc.rst +++ b/docs/src/torch/reference/misc.rst @@ -34,7 +34,7 @@ one of the registered unit. +----------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | **momentum** | ``u*A/fs``, ``u*A/ps``, ``(eV*u)^(1/2)``, ``kg*m/s``, ``hbar/Bohr`` | +----------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ -| **mass** | ``u`` (``Dalton``), ``kg`` (``kilogram``), ``g`` (``gram``), ``m_e`` (``electron_mass``) | +| **mass** | ``u`` (``Dalton``), ``kg`` (``kilogram``), ``g`` (``gram``), ``electron_mass`` (``m_e``) | +----------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | **velocity** | ``nm/fs``, ``A/fs``, ``m/s``, ``nm/ps``, ``Bohr*Hartree/hbar`` | +----------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/metatomic-torch/src/model.cpp b/metatomic-torch/src/model.cpp index 96343c6d..a7b6bee2 100644 --- a/metatomic-torch/src/model.cpp +++ b/metatomic-torch/src/model.cpp @@ -1132,13 +1132,13 @@ static std::map KNOWN_QUANTITIES = { {"u", 1.0}, {"kilogram", 1.66053906892e-27}, {"gram", 1.66053906892e-24}, - {"m_e", 1822.8885}, + {"electron_mass", 1822.8885}, }, { // alternative names {"Dalton", "u"}, {"kg", "kilogram"}, {"g", "gram"}, - {"m_e", "electron_mass"}, + {"electron_mass", "m_e"}, }}}, {"velocity", Quantity{/* name */ "velocity", /* baseline */ "nm/fs", { {"nm/fs", 1.0},