From cf0dfbd66a13af375dd04b14d2fd4f52c231716e Mon Sep 17 00:00:00 2001 From: Jan Behrens Date: Mon, 18 Oct 2021 11:43:19 +0200 Subject: [PATCH] Kommon: updated / checked more physical constants (PDG 2021) --- Kommon/Core/Utility/KConst.h | 275 +++++++++++++++++++---------------- 1 file changed, 146 insertions(+), 129 deletions(-) diff --git a/Kommon/Core/Utility/KConst.h b/Kommon/Core/Utility/KConst.h index e57329887..04f36975c 100644 --- a/Kommon/Core/Utility/KConst.h +++ b/Kommon/Core/Utility/KConst.h @@ -26,401 +26,418 @@ namespace katrin **/ namespace KConst { -//mathematical numbers + +// ================================== +// ====== MATHEMATICAL NUMBERS ====== +// ================================== + template constexpr XFloatT Pi() { return 3.141592653589793238462643383279502884L; -} //!< pi +} //!< pi + +// =================================== +// ====== FUNDAMENTAL CONSTANTS ====== +// =================================== constexpr double C() { return 299792458.0; -} //!< c im m/s, uncertainty: exact +} //!< speed of light (c), unit: m/s, uncertainty: exact, Ref: PDG 2021 constexpr double Q() { return 1.602176634E-19; -} //!< elementary charge in C(>0), uncertainty: exact +} //!< elementary charge (e>0), unit: C, uncertainty: exact, Ref: PDG 2021 constexpr double g() { - return 2.0023193043622; -} //!< electron g-factor (>0) + return 2.00231930436; +} //!< electron g-factor (g), unit: none (converted from (g-2)/2 value), uncertainty: 0.22 ppb, Ref: PDG 2021 constexpr double mu_B() { return 9.2740100782E-24; -} //!< Bohr magneton in J/T, uncertainty: 0.3 ppb +} //!< Bohr magneton (mu_B), unit: A/m^2 (converted from 5.7883818060E-11 MeV/T), uncertainty: 0.3 ppb, Ref: PDG 2021 constexpr double Alpha() { return 7.2973525693E-3; -} //!< fine structure constant alpha, uncertainty: 0.15 ppb +} //!< fine structure constant (alpha), unit: none, uncertainty: 0.15 ppb, Ref: PDG 2021 constexpr double Hbar() { return 1.054571817E-34; -} //!< hbar in J*s, uncertainty: exact to given precision +} //!< hbar, unit: J*s, uncertainty: exact, Ref: PDG 2021 constexpr double Hbar_eV() { - return Hbar() / Q(); -} //!< hbar in eV*s, uncertainty: exact to calculated precision + return 6.582119569E-22; +} //!< hbar, unit: eV*s, uncertainty: exact to calculated precision, Ref: PDG 2021 constexpr double HbarC_eV() { return 197.3269804E-9; -} //!< hbar c in m eV, uncertainty: exact to given precision +} //!< hbar*c, unit: eV, uncertainty: exact to given precision, Ref: PDG 2021 constexpr double kB() { return 1.380649E-23; -} //!< Boltzmann constant J/K, uncertainty: exact +} //!< Boltzmann constant (k_B), unit: J/K, uncertainty: exact, Ref: PDG 2021 constexpr double kB_eV() { return 8.617333262E-5; -} //!< Boltzmann constant eV/K, uncertainty: exact to given precision +} //!< Boltzmann constant (k_B), unit: eV/K, uncertainty: exact to given precision, Ref: PDG 2021 constexpr double N_A() { return 6.02214076E+23; -} //!< Avogadro Constant in 1/mol, uncertainty: exact +} //!< Avogadro's constant (N_A), unit: 1/mol, uncertainty: exact, Ref: PDG 2021 + +constexpr double FermiConstant_eV() +{ + return 1.1663787E-5 * 1E-18 * KConst::HbarC_eV() * KConst::HbarC_eV() * KConst::HbarC_eV(); +} //!< Fermi coupling constant (G_F), unit: eV*m^3, uncertainty: 510 ppb, Ref: PDG 2021 + +// =============================== +// ====== ATOMIC PROPERTIES ====== +// =============================== -//atomic properties constexpr double AtomicMassUnit_kg() { return 1.66053906660E-27; -} //!< unified atomic mass unit in kg, uncertainty: 0.30 ppb +} //!< atomic mass unit (u), unit: kg, uncertainty: 0.30 ppb, Ref: PDG 2021 constexpr double AtomicMassUnit_eV() { return 931.49410242E6; -} //!< unified atomic mass unit in eV/c^2, uncertainty: 0.30 ppb +} //!< atomic mass unit (u), unit: eV/c^2, uncertainty: 0.30 ppb, Ref: PDG 2021 constexpr double BohrRadius() { return 0.529177210903E-10; -} //!< Bohr radius (M_prot -> infinity), uncertainty: 0.15 ppb +} //!< Bohr radius (a_inf, m_prot -> infinity), unit: m, uncertainty: 0.15 ppb, Ref: PDG 2021 constexpr double BohrRadiusSquared() { - return 2.80028520539e-21; -} //!< squared Bohr radius, uncertainty: 0.30 ppb + return 2.80028520539E-21; +} //!< Bohr radius squared (a_inf^2), unit: m^2, uncertainty: 0.30 ppb, Ref: PDG 2021 constexpr double ERyd_eV() { return 13.605693122994; -} //!< Rydberg energy (ionization energy of atomic hydrogen for m_prot -> infinity), uncertainty 0.0019 ppb = 1.9 ppt +} //!< Rydberg energy (ionization energy of atomic hydrogen for m_prot -> infinity), unit: eV, uncertainty: 0.0019 ppb = 1.9 ppt, Ref: PDG 2021 + +// ================================================ +// ====== ELECTROMAGNETIC COUPLING CONSTANTS ====== +// ================================================ -//EM coupling constants constexpr double EpsNull() { return 8.8541878128E-12; -} //!< epsilon0, Constant of Newtons force, uncertainty: 0.15 ppb +} //!< permittivity of free space (epsilon_0), unit: F/m, uncertainty: 0.15 ppb, Ref: PDG 2021 constexpr double FourPiEps() { return 4. * Pi() * EpsNull(); -} //!< 4 pi epsilon0, Constant of Newtons force, uncertainty: 0.15 ppb +} //!< 4*pi*epsilon_0, unit: F/m, uncertainty: 0.15 ppb constexpr double MuNull() { return 4.E-7 * Pi() * 1.00000000055; -} //!< permeability of free space, uncertainty: 0.15 ppb +} //!< permeability of free space (mu_0), unit: N/A^2, uncertainty: 0.15 ppb, Ref: PDG 2021 inline double EtaNull() { return std::sqrt(MuNull() / EpsNull()); -} //!< impedance of free space +} //!< impedance of free space (eta_0) + +// ==================== +// ====== MASSES ====== +// ==================== -//masses constexpr double M_el_kg() { return 9.1093837015E-31; -} //!< electron mass in kg, uncertainty: 0.30 ppb +} //!< electron mass, unit: kg, uncertainty: 0.30 ppb, Ref: PDG 2021 constexpr double M_el_eV() { return 510.99895000E3; -} //!< electron mass in ev/c^2, uncertainty: 0.30 ppb +} //!< electron mass, unit: eV/c^2, uncertainty: 0.30 ppb, Ref: PDG 2021 constexpr double M_mu_kg() { return 1.883531609e-28; -} //!< muon mass in kg, uncertainty: 22.7 ppb, https://pdg.lbl.gov/2020/listings/rpp2020-list-muon.pdf +} //!< muon mass, unit: kg (converted from 0.1134289257 u), uncertainty: 22.0 ppb, Ref: PDG 2021 constexpr double M_mu_eV() { return 105.6583745E6; - -} //!< muon mass in ev/c^2, uncertainty: 22.7 ppb, https://pdg.lbl.gov/2020/listings/rpp2020-list-muon.pdf +} //!< muon mass, unit: eV/c^2, uncertainty: 22.7 ppb, Ref: PDG 2021 constexpr double M_prot_kg() { return 1.67262192369E-27; -} //!< proton mass in kg, uncertainty: 0.31 ppb +} //!< proton mass, unit: kg, uncertainty: 0.31 ppb, Ref: PDG 2021 constexpr double M_prot_eV() { return 938.27208816E6; -} //!< proton mass in ev/c^2, uncertainty: 0.31 ppb +} //!< proton mass, unit: eV/c^2, uncertainty: 0.31 ppb, Ref: PDG 2021 constexpr double M_neut_kg() { - return 1.6749274980E-27; -} //!< neutron mass in kg, uncertainty: 0.57 ppb + return 1.67492749793E-27; +} //!< neutron mass, unit: kg (converted from 1.00866491595 u), uncertainty: 0.48 ppb, Ref: PDG 2021 constexpr double M_neut_eV() { return 939.56542052E6; -} //!< neutron mass in ev/c^2, uncertainty: 0.57 ppb +} //!< neutron mass, unit: eV/c^2, uncertainty: 0.57 ppb, Ref: PDG 2021 constexpr double M_deut_kg() { - return 3.34358377243e-27; -} //!< deuteron mass in kg, uncertainty: 0.30 ppb + return 3.3435837724e-27; +} //!< deuteron mass, unit: kg (converted from 1875.61294257 MeV/c^2), uncertainty: 0.30 ppb, Ref: PDG 2021 constexpr double M_deut_eV() { return 1875.61294257E6; -} //!< deuteron mass in eV/c^2, uncertainty: 0.30 ppb +} //!< deuteron mass, unit: eV/c^2, uncertainty: 0.30 ppb, Ref: PDG 2021 + +// ========================================================= +// ====== TRITIUM PROPERTIES AND ELEMENTAL PROPERTIES ====== +// ========================================================= -//Tritium properties constexpr double M_tPlus_kg() { return 5.0073567446E-27; -} //!ionized tritium atom mass in kg +} //!< ionized tritium atomic mass, unit: kg, Ref: PDG 2006 constexpr double M_tPlus_eV() { return 2.808920E9; -} //!ionized tritium atom mass in eV/c^2 +} //!< ionized tritium atom mass, unit: eV/c^2, Ref: PDG 2006 constexpr double M_H2_kg() { return 2.015650 * AtomicMassUnit_kg(); -} //! , TODO +} //!< H2 mass, unit: kg, Ref: PDG 2006 constexpr double M_H2_eV() { return 2.015650 * AtomicMassUnit_eV(); -} //!, TODO - -//Mass values for H2+, H3+, H-, D-, T2+, and He+ from NIST Chemistry WebBook, NIST Standard Reference Database Number 69, http://webbook.nist.gov/chemistry/ +} //!< H2 mass, unit: eV/c^2, Ref: PDG 2006 constexpr double M_H2Plus_kg() { return 2.01533 * AtomicMassUnit_kg(); -} //!< H2+ mass in kg +} //!< H2+ mass, unit: kg, Ref: NIST Chemistry WebBook, NIST Standard Reference Database Number 69, http://webbook.nist.gov/chemistry/ constexpr double M_H2Plus_eV() { return 2.01533 * AtomicMassUnit_eV(); -} +} //!< H2+ mass, unit: eV/c^2, Ref: NIST Chemistry WebBook, NIST Standard Reference Database Number 69, http://webbook.nist.gov/chemistry/ constexpr double M_H3Plus_kg() { return 3.02327 * AtomicMassUnit_kg(); -} //!< H3+ mass in kg +} //!< H3+ mass, unit: kg, Ref: NIST Chemistry WebBook, NIST Standard Reference Database Number 69, http://webbook.nist.gov/chemistry/ constexpr double M_H3Plus_eV() { return 3.02327 * AtomicMassUnit_eV(); -} +} //!< H3+ mass, unit: eV/c^2, Ref: NIST Chemistry WebBook, NIST Standard Reference Database Number 69, http://webbook.nist.gov/chemistry/ constexpr double M_HMinus_kg() { return 1.00849 * AtomicMassUnit_kg(); -} //!< H- mass in kg +} //!< H- mass, unit: kg, Ref: NIST Chemistry WebBook, NIST Standard Reference Database Number 69, http://webbook.nist.gov/chemistry/ constexpr double M_HMinus_eV() { return 1.00849 * AtomicMassUnit_eV(); -} +} //!< H- mass, unit: eV/c^2, Ref: NIST Chemistry WebBook, NIST Standard Reference Database Number 69, http://webbook.nist.gov/chemistry/ constexpr double M_HePlus_kg() { return 4.002053 * AtomicMassUnit_kg(); -} //!< He+ mass in kg +} //!< He+ mass, unit: kg, Ref: NIST Chemistry WebBook, NIST Standard Reference Database Number 69, http://webbook.nist.gov/chemistry/ constexpr double M_HePlus_eV() { return 4.002053 * AtomicMassUnit_eV(); -} +} //!< He+ mass, unit: eV/c^2, Ref: NIST Chemistry WebBook, NIST Standard Reference Database Number 69, http://webbook.nist.gov/chemistry/ constexpr double M_DMinus_kg() { return 2.0146503577 * AtomicMassUnit_kg(); -} //!< D- mass in kg +} //!< D- mass, unit: kg, Ref: NIST Chemistry WebBook, NIST Standard Reference Database Number 69, http://webbook.nist.gov/chemistry/ constexpr double M_DMinus_eV() { return 2.0146503577 * AtomicMassUnit_eV(); -} +} //!< D- mass, unit: eV/c^2, Ref: NIST Chemistry WebBook, NIST Standard Reference Database Number 69, http://webbook.nist.gov/chemistry/ constexpr double M_D_kg() { return 2.0141017778 * AtomicMassUnit_kg(); -} //!< deuterium atom mass in kg +} //!< deuterium atomic mass, unit: kg, Ref: PDG 2006 constexpr double M_D_eV() { return 2.0141017778 * AtomicMassUnit_eV(); -} //!< deuterium atom mass in eV/c^2 +} //!< deuterium atomic mass, unit: eV/c^2, Ref: PDG 2006 constexpr double M_D2_kg() { return 4.0282035556 * AtomicMassUnit_kg(); -} //!< deuterium molecule mass in kg +} //!< deuterium molecular mass, unit: kg, Ref: PDG 2006 constexpr double M_D2_eV() { return 4.0282035556 * AtomicMassUnit_eV(); -} //!< deuterium molecule mass in eV/c^2 +} //!< deuterium molecular mass, unit: eV/c^2, Ref: PDG 2006 constexpr double M_T_kg() { return 3.0160495 * AtomicMassUnit_kg(); -} //!< tritium atom mass in kg +} //!< tritium atomic mass, unit: kg, Ref: PDG 2006 constexpr double M_T_eV() { return 3.0160495 * AtomicMassUnit_eV(); -} //!< tritium atom mass in eV/c^2 +} //!< tritium atomic mass, unit: eV/c^2, Ref: PDG 2006 constexpr double M_T2_kg() { return 6.032099 * AtomicMassUnit_kg(); -} //!< tritium molecule mass in kg +} //!< tritium molecular mass, unit: kg, Ref: PDG 2006 constexpr double M_T2_eV() { return 6.032099 * AtomicMassUnit_eV(); -} //!< tritium molecule mass in eV/c^2 +} //!< tritium molecular mass, unit: eV/c^2, Ref: PDG 2006 constexpr double M_T2Plus_kg() { return 6.0315499755 * AtomicMassUnit_kg(); -} //!< T2+ mass in kg +} //!< T2+ mass, unit: kg, Ref: NIST Chemistry WebBook, NIST Standard Reference Database Number 69, http://webbook.nist.gov/chemistry/ constexpr double M_T2Plus_eV() { return 6.0315499755 * AtomicMassUnit_eV(); -} +} //!< T2+ mass, unit: eV/c^2, Ref: NIST Chemistry WebBook, NIST Standard Reference Database Number 69, http://webbook.nist.gov/chemistry/ constexpr double M_3He_kg() { return 3.0160293 * AtomicMassUnit_kg(); -} +} //!< 3He mass, unit: kg, Ref: PDG 2006 constexpr double M_3He_eV() { - return 3.01602932243 * AtomicMassUnit_eV(); -} + return 3.0160293 * AtomicMassUnit_eV(); +} //!< 3He mass, unit: eV/c^2, Ref: PDG 2006 + -//Value for 4He mass taken from Atomic Weights and Isotopic Compositions with Relative Atomic Masses, NIST Standard Reference Database 144 -//https://www.nist.gov/pml/atomic-weights-and-isotopic-compositions-relative-atomic-masses -/*constexpr double M_4He_kg() - { - return 4.002603254 * AtomicMassUnit_kg(); - } //!< 4He mass in kg +constexpr double M_4He_kg() +{ + return 4.002603254 * AtomicMassUnit_kg(); +} //!< 4He mass, unit: kg, Ref: Atomic Weights and Isotopic Compositions with Relative Atomic Masses, NIST Standard Reference Database 144, https://www.nist.gov/pml/atomic-weights-and-isotpic-compositions-relative-atomic-masses - constexpr double M_4He_eV() - { - return 4.002603254 * AtomicMassUnit_eV(); - } //!< 4He mass in eV/c^2 - */ +constexpr double M_4He_eV() +{ + return 4.002603254 * AtomicMassUnit_eV(); +} //!< 4He mass, unit: eV/c^2, Ref: Atomic Weights and Isotopic Compositions with Relative Atomic Masses, NIST Standard Reference Database 144, https://www.nist.gov/pml/atomic-weights-and-isotpic-compositions-relative-atomic-masses + +constexpr double M_83Kr_kg() +{ + return 82.914127 * AtomicMassUnit_kg(); +} //!< 83Kr atomic mass, unit: kg, Ref: PDG 2006 + +constexpr double M_83Kr_eV() +{ + return 82.914127 * AtomicMassUnit_eV(); +} //!< 83Kr atomic mass, unit: eV/c^2, Ref: PDG 2006 constexpr double Z_He() -{ //atomic number of Helium +{ return 2.; -} +} //!< atomic number of helium, unit: none, Ref: PDG 2006 constexpr double BindingEnergy_H2() { - return 15.42593; //eV - //Value from NIST Chemistry WebBook: http://webbook.nist.gov/cgi/cbook.cgi?ID=C1333740&Mask=20 + return 15.42593; + //!< H2 binding energy, unit: eV, Ref: NIST Chemistry WebBook, http://webbook.nist.gov/cgi/cbook.cgi?ID=C1333740&Mask=20 } constexpr double BindingEnergy_He() { - return 24.587387; //eV - //Value from NIST Basic Atomic Spectroscopic Data Handbook: http://physics.nist.gov/PhysRefData/Handbook/Tables/heliumtable1.htm + return 24.587387; + //!< He binding energy, unit: eV, Ref: NIST Basic Atomic Spectroscopic Data Handbook, https://physics.nist.gov/PhysRefData/Handbook/Tables/heliumtable1.htm } constexpr double BindingEnergy_H2O() { - return 12.621; //eV - //Value from NIST Chemistry WebBook: https://webbook.nist.gov/cgi/cbook.cgi?ID=C7732185&Units=SI&Mask=20#Ion-Energetics + return 12.621; + //!< H2O binding energy, unit: eV, Ref: NIST Chemistry WebBook, https://webbook.nist.gov/cgi/cbook.cgi?ID=C7732185&Units=SI&Mask=20#Ion-Energetics } -constexpr double Viscosity_T2_30K() -{ - return 2.425E-6; -} //!< tritium viscosity coefficient at T=30K [Pa s] (cite? Sharipov?) - constexpr double Viscosity_D2_30K() { return 2.084E-6; -} //!< deuterium viscosity coefficient at T=30K [Pa s] (https://doi.org/10.1063/1.555778, The Viscosity of Normal Deuterium in the Limit of Zero Density, Journal of Physical and Chemical Reference Data 16, 189 (1987) +} //!< deuterium viscosity coefficient at T = 30 K, unit: Pa*s, Ref: The Viscosity of Normal Deuterium in the Limit of Zero Density, Journal of Physical and Chemical Reference Data 16, 189 (1987) -/** - * temperature slip coefficient, no easy interpolation possible. from Sharipov, Tab 4, S-model - * "Data on the velocity slip and temperature jump coefficients [gas, mass, heat and momentum transfer]" - * https://doi.org/10.1109/ESIME.2004.1304046 - */ -constexpr double TemperatureSlipCoefficient() +constexpr double Viscosity_D2_80K() { - return 1.175; -} + return 4.950E-6; +} //!< deuterium viscosity coefficient at T = 80 K, unit: Pa*s, Ref: The Viscosity of Normal Deuterium in the Limit of Zero Density, Journal of Physical and Chemical Reference Data 16, 189 (1987) -//Silicon properties -constexpr double M_Si() +constexpr double Viscosity_T2_30K() { - return 28.0855; -} //!< Silicon atomic mass in g per mol + return 2.425E-6; +} //!< tritium viscosity coefficient at T = 30 K, unit: Pa*s, Ref: Markus Hötzel PhD thesis, Simulation and analysis of source-related effects for KATRIN (2012) equation 5.14 -constexpr double M_83Kr_kg() +constexpr double TemperatureSlipCoefficient() { - return 82.914127 * AtomicMassUnit_kg(); -} //!< 83Krypton atomic mass in kg + return 1.175; +} //!< temperature slip coefficient, unit: none, Ref: No easy interpolation possible, from Sharipov, Tab 4, S-model "Data on the velocity slip and temperature jump coefficients [gas, mass, heat, and momentum transfer] https://doi.org/10.1109/ESIME.2004.1304046 -constexpr double M_83Kr_eV() +constexpr double M_Si() { - return 82.914127 * AtomicMassUnit_eV(); -} //!< 83Krypton atomic mass in eV/c^2 + return 28.0855; +} //!< Silicon atomic mass, unit: atomic mass unit (g/mol), Ref: PDG 2021 -constexpr double FermiConstant_eV() -{ - return 1.1663787E-5 * 1E-18 * KConst::HbarC_eV() * KConst::HbarC_eV() * KConst::HbarC_eV(); -} //!< Fermi coupling constant [eVm^3], uncertainty: 510 ppb +// ============================= +// ====== NEUTRINO MIXING ====== +// ============================= -//neutrino mixing constexpr double Deltam21sq_eV() { - return 7.5e-5; // m2^2 - m1^2; Unit is eV^2; Reference: PDG 6/18/2012 -} + return 7.53e-5; +} //!< mass difference m21^2 = m2^2 - m1^2, unit: eV^2, uncertainty: 0.18e-5 eV^2, Ref: PDG 2021 constexpr double Deltam32sq_eV() { - return 2.32e-3; //m3^2 - m2^2; Unit is eV^2; sign unknown; Reference: PDG 6/18/2012 -} + return 2.453e-3; +} //!< mass difference m32^2 = m3^2 - m2^2, unit: eV^2 (sign unknown), uncertainty: 0.033e-3 eV^2, Ref: PDG 2021 constexpr double Ue1sq() { - return 0.672; // calculated from the angles in the reference; Reference: PDG 6/18/2012 -} + return 0.671; +} //!< matrix element Ue1^2, unit: none, uncertainty: 0.0137, Ref: Calculated from 1-Ue2^2-Ue3^2 constexpr double Ue2sq() { - return 0.303; // calculated from the angles in the reference; Reference: PDG 6/18/2012 -} + return 0.307; +} //!< matrix element Ue2^2, unit: none, uncertainty: 0.013 Ref: PDG 2021 constexpr double Ue3sq() { - return 0.025; // calculated from the angles in the reference; Reference: PDG 6/18/2012 -} + return 0.0220; +} //!< matrix element Ue3^2, unit: none, uncertainty: 0.0007 Ref: PDG 2021 } /* namespace KConst */