rizer.cantera_ext
C++ Cantera 1-D plasma extension (custom Domain1D models and solvers)
Loading...
Searching...
No Matches
units.h
Go to the documentation of this file.
1#ifndef RIZER_UNITS_H
2#define RIZER_UNITS_H
3
17
18#include <cmath>
19
20namespace rizer {
21namespace units {
22
23// --- Fundamental constants (CODATA, https://physics.nist.gov/cuu) ----------
24
26constexpr double e = 1.602'176'634e-19;
28constexpr double k_b = 1.380'649e-23;
30constexpr double N_a = 6.022'140'76e23;
32constexpr double c = 299'792'458.0;
34constexpr double h = 6.626'070'15e-34;
36constexpr double m_e = 9.109'383'713'9e-31;
38constexpr double M_e = m_e * N_a;
40constexpr double Da = 1.660'539'068'92e-27;
42constexpr double epsilon_0 = 8.854'187'818'8e-12;
44constexpr double stefan_boltzmann = 5.670'374'419e-8;
46constexpr double bohr_radius_m = 5.291'772'105'44e-11;
48constexpr double rydberg_energy_eV = 13.605'693'122'990;
49
51constexpr double pi = 3.141'592'653'589'793'238'46;
53constexpr double hbar = h / (2.0 * pi);
54
55// --- Derived constants ------------------------------------------------------
56
58constexpr double R = k_b * N_a;
60constexpr double R_kmol = R * 1e3;
62constexpr double m_N2 = 28.013'4 * Da;
64constexpr double P_1_bar = 1e5;
65
66// --- Unit conversions -------------------------------------------------------
67
69constexpr double eV_to_K = e / k_b;
71constexpr double K_to_eV = k_b / e;
73constexpr double eV_to_J = e;
75constexpr double J_to_eV = 1.0 / e;
77constexpr double K_to_J = k_b;
79constexpr double J_to_K = 1.0 / k_b;
81constexpr double kJ_per_mol_to_J_per_particle = 1e3 / N_a;
83constexpr double invcm_to_joule = h * c * 100.0;
84
90inline const double spitzer_constant =
91 std::pow(4.0 * pi * epsilon_0 / e, 2.0) * std::pow(k_b, 1.5)
92 / (4.0 / 3.0 * std::sqrt(2.0 * pi * m_e)) * 1.96;
93
94// Note: units.py's `element_radius` dict is intentionally not mirrored here --
95// the C++ collision model receives per-species radii through SpeciesSpec, so
96// no compiled-in radius table is needed.
97
98} // namespace units
99} // namespace rizer
100
101#endif // RIZER_UNITS_H
constexpr double hbar
Reduced Planck constant [J s].
Definition units.h:53
constexpr double k_b
Boltzmann constant [J/K]. Exact (CODATA).
Definition units.h:28
constexpr double K_to_J
K -> J.
Definition units.h:77
constexpr double R
Ideal gas constant [J/(mol K)].
Definition units.h:58
constexpr double P_1_bar
1 bar [Pa].
Definition units.h:64
constexpr double epsilon_0
Vacuum permittivity [F/m] (CODATA 2022).
Definition units.h:42
constexpr double R_kmol
Ideal gas constant [J/(kmol K)] (matches Cantera's GasConstant).
Definition units.h:60
constexpr double stefan_boltzmann
Stefan-Boltzmann constant [W/(m^2 K^4)] (CODATA).
Definition units.h:44
constexpr double eV_to_J
eV -> J.
Definition units.h:73
constexpr double J_to_K
J -> K.
Definition units.h:79
constexpr double pi
pi (matches numpy's np.pi used in units.py).
Definition units.h:51
constexpr double invcm_to_joule
inverse cm -> J.
Definition units.h:83
constexpr double h
Planck constant [J s]. Exact (CODATA).
Definition units.h:34
constexpr double N_a
Avogadro's number [1/mol]. Exact (CODATA).
Definition units.h:30
constexpr double rydberg_energy_eV
Rydberg energy [eV] (CODATA).
Definition units.h:48
constexpr double M_e
Electron molar mass [kg/mol].
Definition units.h:38
constexpr double c
Speed of light [m/s]. Exact (CODATA).
Definition units.h:32
constexpr double m_N2
N2 mass [kg].
Definition units.h:62
constexpr double J_to_eV
J -> eV.
Definition units.h:75
constexpr double bohr_radius_m
Bohr radius [m] (CODATA).
Definition units.h:46
constexpr double K_to_eV
K -> eV.
Definition units.h:71
constexpr double kJ_per_mol_to_J_per_particle
kJ/mol -> J/particle.
Definition units.h:81
constexpr double e
Elementary charge [C]. Exact (CODATA).
Definition units.h:26
constexpr double eV_to_K
eV -> K.
Definition units.h:69
const double spitzer_constant
Spitzer conductivity constant [Ohm^-1 m^-1 K^-3/2]:
Definition units.h:90
constexpr double m_e
Electron mass [kg] (CODATA 2022).
Definition units.h:36
constexpr double Da
Dalton / atomic mass constant [kg] (CODATA 2022).
Definition units.h:40