From 3434f53b4e0c242010927297233fdade95604362 Mon Sep 17 00:00:00 2001 From: Philip Top Date: Mon, 9 Feb 2026 05:59:44 -0800 Subject: [PATCH 1/2] update a few constants and uncertainties with 2022 CODATA --- units/unit_definitions.hpp | 2 +- units/units.hpp | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/units/unit_definitions.hpp b/units/unit_definitions.hpp index 0e40939e..3738490e 100644 --- a/units/unit_definitions.hpp +++ b/units/unit_definitions.hpp @@ -826,7 +826,7 @@ namespace precise { 33.5, precise::mega* precise::J}; // liter of gasoline equivalent constexpr precise_unit foeb{6.05e6, btu_59}; - constexpr precise_unit hartree{4.3597447222071e-18, J}; + constexpr precise_unit hartree{4.3597447222060e-18, J}; constexpr precise_unit tonhour{3.5168528421, kWh}; constexpr precise_unit scf_mol{1.1953, mol}; diff --git a/units/units.hpp b/units/units.hpp index 40413ff3..f648e169 100644 --- a/units/units.hpp +++ b/units/units.hpp @@ -2212,14 +2212,15 @@ namespace constants { constexpr precise_measurement H0{ 69.8, precise::km / precise::s / (precise::mega * precise::distance::parsec)}; + /// constant values from https://physics.nist.gov/cgi-bin/cuu /// Mass of an electron - constexpr precise_measurement me{9.1093837015e-31, precise::kg}; + constexpr precise_measurement me{9.1093837139e-31, precise::kg}; /// Mass of a proton - constexpr precise_measurement mp{1.67262192369e-27, precise::kg}; + constexpr precise_measurement mp{1.67262192595e-27, precise::kg}; /// Mass of a neutron - constexpr precise_measurement mn{1.67492749804e-27, precise::kg}; + constexpr precise_measurement mn{1.67492750056e-27, precise::kg}; /// Bohr radius - constexpr precise_measurement a0{5.29177210903e-11, precise::m}; + constexpr precise_measurement a0{5.29177210544e-11, precise::m}; /// Faraday's constant constexpr precise_measurement F = Na * e; @@ -2247,11 +2248,11 @@ namespace constants { } // namespace planck /// measurements related to an electron or atomic measurements namespace atomic { // https://www.bipm.org/en/publications/si-brochure/table7.html - constexpr precise_measurement length{5.29177210903e-11, precise::m}; + constexpr precise_measurement length=a0; constexpr precise_measurement mass = me; constexpr precise_measurement time{2.4188843265857e-17, precise::s}; constexpr precise_measurement charge = e; - constexpr precise_measurement energy{4.3597443419e-18, precise::J}; + constexpr precise_measurement energy{precise::energy::hartree.multiplier(), precise::J}; constexpr precise_measurement action{ 1.054571817e-34, precise::J* precise::s}; @@ -2277,10 +2278,10 @@ namespace constants { 2.8e-40}; constexpr uncertain_measurement mp{ measurement_cast(constants::mp), - 0.51e-36}; + 0.52e-36}; constexpr uncertain_measurement mn{ measurement_cast(constants::mn), - 0.95e-36}; + 0.85e-36}; constexpr uncertain_measurement alpha{ measurement_cast(constants::alpha), 1.1e-12}; @@ -2299,6 +2300,9 @@ namespace constants { constexpr uncertain_measurement H0{ measurement_cast(constants::H0), 1.7}; + constexpr uncertain_measurement a0{ + measurement_cast(constants::a0), + 8.2e-21}; } // namespace uncertain } // namespace constants From 633ac2701512598a4f7177bc4f4aafce18940a30 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 9 Feb 2026 14:02:54 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- units/units.hpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/units/units.hpp b/units/units.hpp index f648e169..3af69f4b 100644 --- a/units/units.hpp +++ b/units/units.hpp @@ -2248,11 +2248,13 @@ namespace constants { } // namespace planck /// measurements related to an electron or atomic measurements namespace atomic { // https://www.bipm.org/en/publications/si-brochure/table7.html - constexpr precise_measurement length=a0; + constexpr precise_measurement length = a0; constexpr precise_measurement mass = me; constexpr precise_measurement time{2.4188843265857e-17, precise::s}; constexpr precise_measurement charge = e; - constexpr precise_measurement energy{precise::energy::hartree.multiplier(), precise::J}; + constexpr precise_measurement energy{ + precise::energy::hartree.multiplier(), + precise::J}; constexpr precise_measurement action{ 1.054571817e-34, precise::J* precise::s};