ARTS  2.4.0(git:4fb77825)
constants.h File Reference

Constants of physical expressions as constexpr. More...

#include <cmath>
#include "matpack.h"

Go to the source code of this file.

Namespaces

 Constant
 Namespace containing several constants, physical and mathematical.
 
 Conversion
 Namespace containing several practical unit conversions, physical and mathematical.
 

Functions

template<class T >
constexpr T Constant::pow2 (T x)
 power of two More...
 
template<class T >
constexpr T Constant::pow3 (T x)
 power of three More...
 
template<class T >
constexpr T Constant::pow4 (T x)
 power of four More...
 
template<class T >
constexpr Numeric Conversion::deg2rad (T x)
 Converts degrees to radians
More...
 
template<class T >
constexpr Numeric Conversion::rad2deg (T x)
 Converts radians to degrees
More...
 
template<class T >
Numeric Conversion::cosd (T x)
 Returns the cosine of the deg2rad of the input
More...
 
template<class T >
Numeric Conversion::sind (T x)
 Returns the sine of the deg2rad of the input
More...
 
template<class T >
Numeric Conversion::tand (T x)
 Returns the tangent of the deg2rad of the input
More...
 
template<class T >
Numeric Conversion::acosd (T x)
 Returns rad2deg of the arc-cosine of the input
More...
 
template<class T >
Numeric Conversion::asind (T x)
 Returns rad2deg of the arc-sine of the input
More...
 
template<class T >
Numeric Conversion::atand (T x)
 Returns rad2deg of the arc-tangent of the input
More...
 
template<class T1 , class T2 >
Numeric Conversion::atan2d (T1 y, T2 x)
 Returns rad2deg of the arc-tangent of inputs #T1/#T2
More...
 
template<class T >
constexpr Numeric Conversion::kaycm2freq (T x)
 
template<class T >
constexpr Numeric Conversion::freq2kaycm (T x)
 
template<class T >
constexpr Numeric Conversion::angcm2freq (T x)
 
template<class T >
constexpr Numeric Conversion::freq2angcm (T x)
 
template<class T >
constexpr Numeric Conversion::angfreq2freq (T x)
 Conversion constant Angular frequency to frequency and back. More...
 
template<class T >
constexpr Numeric Conversion::freq2angfreq (T x)
 
template<class T >
constexpr Numeric Conversion::wavelen2freq (T x)
 Conversion wavelength to frequency and back. More...
 
template<class T >
constexpr Numeric Conversion::freq2wavelen (T x)
 
template<class T >
constexpr Numeric Conversion::atm2pa (T x)
 
template<class T >
constexpr Numeric Conversion::pa2atm (T x)
 
template<class T >
constexpr Numeric Conversion::torr2pa (T x)
 
template<class T >
constexpr Numeric Conversion::pa2torr (T x)
 
template<class T >
constexpr Numeric Conversion::celsius2kelvin (T x)
 
template<class T >
constexpr Numeric Conversion::kelvin2celsius (T x)
 
template<class T >
constexpr T Conversion::hitran2arts_linestrength (T x)
 
template<class T >
constexpr T Conversion::arts2hitran_linestrength (T x)
 
template<class T >
constexpr T Conversion::hitran2arts_broadening (T x)
 
template<class T >
constexpr T Conversion::arts2hitran_broadening (T x)
 
template<class T >
constexpr T Conversion::hitran2arts_energy (T x)
 
template<class T >
constexpr T Conversion::arts2hitran_energy (T x)
 
template<class T >
constexpr T Conversion::angstrom2meter (T x)
 
template<class T >
constexpr T Conversion::meter2angstrom (T x)
 

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 constants.h.