ARTS 2.5.11 (git: 6827797f)
arts_constants.h File Reference

Constants of physical expressions as constexpr. More...

#include <numbers>
#include "arts_constexpr_math.h"
#include "matpack_concepts.h"

Go to the source code of this file.

Namespaces

namespace  Constant
 Namespace containing several constants, physical and mathematical.
 

Variables

constexpr Numeric Constant::pi = std::numbers::pi
 The following mathematical constants are generated in python Decimal package by the code:
 
constexpr Numeric Constant::inv_pi = std::numbers::inv_pi
 Inverse of pi.
 
constexpr Numeric Constant::two_pi = 2 * pi
 Two times pi.
 
constexpr Numeric Constant::inv_two_pi = 0.5 * inv_pi
 Inverse of two pi.
 
constexpr Numeric Constant::sqrt_pi = 1.0/std::numbers::inv_sqrtpi
 Square root of pi.
 
constexpr Numeric Constant::inv_sqrt_pi = std::numbers::inv_sqrtpi
 Inverse of the square root of pi.
 
constexpr Numeric Constant::euler = std::numbers::e
 Euler's number.
 
constexpr Numeric Constant::inv_euler = 1.0 / euler
 Inverse of Euler's number.
 
constexpr Numeric Constant::log10_euler = std::numbers::log10e
 Ten's logarithm of Euler's number.
 
constexpr Numeric Constant::ln_10 = std::numbers::ln10
 Natural logarithm of 10.
 
constexpr Numeric Constant::sqrt_2 = std::numbers::sqrt2
 Square root of 2.
 
constexpr Numeric Constant::inv_sqrt_2 = 1.0 / sqrt_2
 Inverse of the square root of 2.
 
constexpr Numeric Constant::ln_2 = std::numbers::ln2
 Natural logarithm of 2.
 
constexpr Numeric Constant::inv_ln_2 = 1.0 / ln_2
 Inverse of the natural logarithm of 2.
 
constexpr Numeric Constant::sqrt_ln_2
 Square root of natural logarithm of 2.
 
constexpr Numeric Constant::inv_sqrt_ln_2
 Inverse of the square root of the natural logarithm of 2.
 
constexpr Numeric Constant::Delta_nu_Cs = 9192631770
 Cesium-133 Unperturbed ground-state hyperfine transition frequency [Hz] From: https://en.wikipedia.org/wiki/2019_redefinition_of_SI_base_units Date: 2019-04-01.
 
constexpr Numeric Constant::speed_of_light = 299792458
 Speed of light [m/s] From: https://en.wikipedia.org/wiki/2019_redefinition_of_SI_base_units Date: 2019-04-01.
 
constexpr Numeric Constant::c = speed_of_light
 Speed of light convenience name [m/s].
 
constexpr Numeric Constant::planck_constant = 6.62607015e-34
 Planck constant [J s] From: https://en.wikipedia.org/wiki/2019_redefinition_of_SI_base_units Date: 2019-04-01.
 
constexpr Numeric Constant::h = planck_constant
 Planck constant convenience name [J s].
 
constexpr Numeric Constant::reduced_planck_constant = h * inv_two_pi
 Reduced planck constant [J s].
 
constexpr Numeric Constant::h_bar = reduced_planck_constant
 Reduced planck constant convenience name [J s].
 
constexpr Numeric Constant::elementary_charge = 1.602176634e-19
 Elementary charge [C] From: https://en.wikipedia.org/wiki/2019_redefinition_of_SI_base_units Date: 2019-04-01.
 
constexpr Numeric Constant::e = elementary_charge
 Elementary charge convenience name [C].
 
constexpr Numeric Constant::boltzmann_constant = 1.380649e-23
 Boltzmann constant [J/K] From: https://en.wikipedia.org/wiki/2019_redefinition_of_SI_base_units Date: 2019-04-01.
 
constexpr Numeric Constant::k = boltzmann_constant
 Boltzmann constant convenience name [J/K].
 
constexpr Numeric Constant::avogadro_constant = 6.02214076e23
 Avogadro constant [1/mol] From: https://en.wikipedia.org/wiki/2019_redefinition_of_SI_base_units Date: 2019-04-01.
 
constexpr Numeric Constant::NA = avogadro_constant
 Avogadro constant convenience name [1/mol].
 
constexpr Numeric Constant::K_cd = 683
 Luminous efficacy of monochromatic 540 THz radiation [lm / W] From: https://en.wikipedia.org/wiki/2019_redefinition_of_SI_base_units Date: 2019-04-01.
 
constexpr Numeric Constant::fine_structure_constant = 7.2973525693e-3
 Fine structure constant [-] From: https://physics.nist.gov/cgi-bin/cuu/Value?alph Date: 2019-06-18 Reported error: (11)
 
constexpr Numeric Constant::alpha = fine_structure_constant
 Fine structure constant convenience name [-].
 
constexpr Numeric Constant::rydberg_constant = 10973731.568160
 Rydberg constant [1/m] From: https://physics.nist.gov/cgi-bin/cuu/Value?ryd Date: 2016-06-18 Reported error: (21)
 
constexpr Numeric Constant::R_inf = rydberg_constant
 Rydberg constant convenience name [1/m].
 
constexpr Numeric Constant::magnetic_constant = 2 * h * alpha / (c * Math::pow2(e))
 Magnetic constant [H/m].
 
constexpr Numeric Constant::mu_0 = magnetic_constant
 Magnetic constant convenience name [H/m].
 
constexpr Numeric Constant::vacuum_permittivity = Math::pow2(e) / (2 * h * c * alpha)
 Vacuum permittivity [F/m].
 
constexpr Numeric Constant::epsilon_0 = vacuum_permittivity
 Vacuum permittivity convenience name [F/m].
 
constexpr Numeric Constant::electron_mass = 2 * h * R_inf / (c * Math::pow2(alpha))
 Mass of resting electron [kg].
 
constexpr Numeric Constant::m_e = electron_mass
 Mass of resting electron convenience name [kg].
 
constexpr Numeric Constant::unified_atomic_mass_unit = 1.66053906660e-27
 Unified atomic mass unit [kg] From: https://physics.nist.gov/cgi-bin/cuu/Value?ukg Date: 2020-02-18 Reported error: (50)
 
constexpr Numeric Constant::m_u = unified_atomic_mass_unit
 Unified atomic mass unit convenience name [kg].
 
constexpr Numeric Constant::mass_ratio_electrons_per_proton = 1'836.152'673'43
 Mass ratio of electrons to protons [-] From: https://physics.nist.gov/cgi-bin/cuu/Value?mpsme Date: 2020-01-08 Reported error: (11)
 
constexpr Numeric Constant::proton_mass
 Mass of a proton [kg].
 
constexpr Numeric Constant::mass_ratio_electrons_per_neutron = 1'838.683'661'73
 Mass ratio of electrons to protons [-] From: https://physics.nist.gov/cgi-bin/cuu/Value?mnsme Date: 2020-01-08 Reported error: (89)
 
constexpr Numeric Constant::neutron_mass
 Mass of a neutron [kg].
 
constexpr Numeric Constant::bohr_magneton = e * h_bar / (2 * m_e)
 Bohr magneton [J/T].
 
constexpr Numeric Constant::ideal_gas_constant = k * NA
 Ideal gas constant [J/mol K].
 
constexpr Numeric Constant::R = ideal_gas_constant
 Ideal gas constant convenience name [J/mol K].
 
constexpr Numeric Constant::doppler_broadening_const_squared = 2'000 * R / Math::pow2(c)
 Doppler broadening constant squared [kg/T]^2.
 
constexpr Numeric Constant::one_degree_in_radians = pi / 180
 One degree in radians.
 
constexpr Numeric Constant::stefan_boltzmann_constant
 Stefan-Boltzmann constant [W/(K^4*m^2)].
 
constexpr Numeric Constant::sigma = stefan_boltzmann_constant
 Stefan-Boltzmann constant convenience name [W/(K^4*m^2)].
 
constexpr Numeric Constant::density_of_ice_at_0c = 0.9167e3
 Global constant, Density of water ice at 0C [kg/m3] source: http://en.wikipedia.org/wiki/Ice.
 
constexpr Numeric Constant::denity_of_water_at_4c = 1e3
 Global constant, Density of liquid water +4C [kg/m3] source: http://en.wikipedia.org/wiki/Water.
 
constexpr Numeric Constant::cosmic_microwave_background_temperature = 2.735
 Global constant, Planck temperature for cosmic background radiation [K].
 
constexpr Numeric Constant::earth_radius = 6.3781e6
 Global constant, the radius of the Earth [m].
 
constexpr Numeric Constant::temperature_at_0c = 273.15
 Global constant, Temperature in Celsius of 0 Kelvin.
 

Detailed Description

Constants of physical expressions as constexpr.

Following May 2019 reported SI unit updates, several previously important constant are proper constants and not derived constants.

This file contains the intended May 2019 constants update meaning that the Planck constant, Boltzmann constant, elementary charge, Avogadro number, the definition of a luminosity, the frequency of Cesium, and the speed of light have been given constant values.

All other values are derived. To be internally consistent in ARTS, the adaptation of these rules below take the approach that only the fine structure constant and the Rydberg constant are 'measurable' quantities. All other quantities are derived by their formal relationships. As an example, the resting mass of an electron is defined as 2 h R_inf / c alpha^2. This means that they should be constant in their internal relationships to the level permitted by the select floating point accuracy.

Note 1: The constants below contains both named and a few convenience variables

Note 2: Derived constants of convenience, such as the Doppler broadening constant, should also go into here if they have a clear name.

Note 3: The PrintPhysicalConstants convenience function is part of the global ARTS namespace. Please update this if and when new constants are added to this namespace.

Author
Richard Larsson
Date
2019-04-01

Definition in file arts_constants.h.