mpqc::detail::FundamentalConstants< real_t > Struct Template Referenceabstract

Documentation

template<typename real_t>
struct mpqc::detail::FundamentalConstants< real_t >

Abstract base for a fundamental constants system

Template Parameters
thereal type used to report the values
Note
The 2018 revision of SI is based on making h, e, k, and N_a exact, DOI:10.1088/1681-7575/aa950a . The current design supports pre and post revised CODATA systems, hence even for post-2018 CODATA this will treat h, e, and N_a as approximate.

Public Member Functions

virtual ~FundamentalConstants ()=default
 
virtual const char * description () const =0
 
real_t atomic_unit_to_debye () const
 
exact in the 2018 and later CODATA systems
virtual real_t elementary_charge () const =0
 
virtual real_t Avogadro_constant () const =0
 
virtual real_t Planck_constant () const =0
 
fundamental constants proper
virtual real_t bohr_radius () const =0
 
virtual real_t electron_mass () const =0
 
virtual real_t atomic_mass_unit () const =0
 
virtual real_t Hartree_to_electron_volt () const =0
 

Static Public Attributes

static constexpr real_t _atomic_unit_to_debye = 2.541765
 

exact in the CODATA systems (pre- and post-2018 revision)

static constexpr real_t _electric_constant = 8.854187817e-12
 
static constexpr real_t _speed_of_light = 299792458
 
static constexpr real_t _thermochemical_calorie = 4.184
 
real_t electric_constant () const
 
real_t speed_of_light () const
 
real_t thermochemical_calorie () const
 

Constructor & Destructor Documentation

◆ ~FundamentalConstants()

template<typename real_t >
virtual mpqc::detail::FundamentalConstants< real_t >::~FundamentalConstants ( )
virtualdefault

Member Function Documentation

◆ atomic_mass_unit()

template<typename real_t >
virtual real_t mpqc::detail::FundamentalConstants< real_t >::atomic_mass_unit ( ) const
pure virtual
Returns
the atomic mass unit, a.m.u. (kg)
Note
nonfundamental but approved in CODATA

◆ atomic_unit_to_debye()

template<typename real_t >
real_t mpqc::detail::FundamentalConstants< real_t >::atomic_unit_to_debye ( ) const
inline

◆ Avogadro_constant()

template<typename real_t >
virtual real_t mpqc::detail::FundamentalConstants< real_t >::Avogadro_constant ( ) const
pure virtual
Returns
the value of Avogadro number ( mol $^{-1}$ )

◆ bohr_radius()

template<typename real_t >
virtual real_t mpqc::detail::FundamentalConstants< real_t >::bohr_radius ( ) const
pure virtual
Returns
the value of Bohr radius (m)

◆ description()

template<typename real_t >
virtual const char* mpqc::detail::FundamentalConstants< real_t >::description ( ) const
pure virtual
Returns
a string describing the particular fundamental constants system

◆ electric_constant()

template<typename real_t >
real_t mpqc::detail::FundamentalConstants< real_t >::electric_constant ( ) const
inline
Returns
the value of electric constant (F / m)
Note
this constant is exact in the SI system

◆ electron_mass()

template<typename real_t >
virtual real_t mpqc::detail::FundamentalConstants< real_t >::electron_mass ( ) const
pure virtual
Returns
the value of electron mass (kg)

◆ elementary_charge()

template<typename real_t >
virtual real_t mpqc::detail::FundamentalConstants< real_t >::elementary_charge ( ) const
pure virtual
Returns
the value of elementary charge (C)

◆ Hartree_to_electron_volt()

template<typename real_t >
virtual real_t mpqc::detail::FundamentalConstants< real_t >::Hartree_to_electron_volt ( ) const
pure virtual
Returns
the value of eV / Hartree ratio (unitless)

◆ Planck_constant()

template<typename real_t >
virtual real_t mpqc::detail::FundamentalConstants< real_t >::Planck_constant ( ) const
pure virtual
Returns
the value of Planck constant ( J s )

◆ speed_of_light()

template<typename real_t >
real_t mpqc::detail::FundamentalConstants< real_t >::speed_of_light ( ) const
inline
Returns
the value of the speed of light in vacuum (m/s)
Note
this constant is exact in the SI system

◆ thermochemical_calorie()

template<typename real_t >
real_t mpqc::detail::FundamentalConstants< real_t >::thermochemical_calorie ( ) const
inline
Returns
the value of thermochemical calorie (J)
Note
this is an exact conversion factor

Member Data Documentation

◆ _atomic_unit_to_debye

template<typename real_t >
constexpr real_t mpqc::detail::FundamentalConstants< real_t >::_atomic_unit_to_debye = 2.541765
staticconstexpr
Returns
the atomic unit of dipole moment (Debye)
Note
this is fixed at the value used by MPQC2

◆ _electric_constant

template<typename real_t >
constexpr real_t mpqc::detail::FundamentalConstants< real_t >::_electric_constant = 8.854187817e-12
staticconstexpr
Returns
the value of thermochemical calorie (J)
Note
this is an exact conversion factor

◆ _speed_of_light

template<typename real_t >
constexpr real_t mpqc::detail::FundamentalConstants< real_t >::_speed_of_light = 299792458
staticconstexpr
Returns
the value of thermochemical calorie (J)
Note
this is an exact conversion factor

◆ _thermochemical_calorie

template<typename real_t >
constexpr real_t mpqc::detail::FundamentalConstants< real_t >::_thermochemical_calorie = 4.184
staticconstexpr
Returns
the value of thermochemical calorie (J)
Note
this is an exact conversion factor

The documentation for this struct was generated from the following file: