Vulcan
Aerospace Engineering Utilities Built on Janus
Loading...
Searching...
No Matches
Constants.hpp
Go to the documentation of this file.
1// Vulcan Physical Constants
2// Consolidated library of physical constants for aerospace applications
3#pragma once
4
6
7// =============================================================================
8// =============================================================================
9// Earth Constants
10// =============================================================================
11namespace earth {
13inline constexpr double mu = 3.986004418e14;
14
16inline constexpr double R_eq = 6378137.0;
17
19inline constexpr double R_pol = 6356752.3142;
20
22inline constexpr double R_mean = 6371008.8;
23
25inline constexpr double f = 1.0 / 298.257223563;
26
28inline constexpr double J2 = 1.08263e-3;
29
31inline constexpr double J3 = -2.54e-6;
32
34inline constexpr double J4 = -1.61e-6;
35
37inline constexpr double omega = 7.2921159e-5;
38} // namespace earth
39
40// =============================================================================
41// WGS84 Ellipsoid Constants
42// =============================================================================
43namespace wgs84 {
45inline constexpr double a = earth::R_eq;
46
48inline constexpr double f = earth::f;
49
51inline constexpr double b = a * (1.0 - f);
52
54inline constexpr double e2 = 2.0 * f - f * f;
55
57inline constexpr double e_prime2 = e2 / (1.0 - e2);
58
60inline constexpr double mu = earth::mu;
61
63inline constexpr double omega = earth::omega;
64} // namespace wgs84
65
66// =============================================================================
67// Atmospheric Constants
68// =============================================================================
69namespace atmosphere {
71inline constexpr double T0 = 288.15;
72
74inline constexpr double P0 = 101325.0;
75
77inline constexpr double rho0 = 1.225;
78
80inline constexpr double L = 0.0065;
81
83inline constexpr double h_tropopause = 11000.0;
84
86inline constexpr double M = 0.0289644;
87
89inline constexpr double R_air = 287.05287;
90// Alias for backward compatibility if needed, but R_air is more explicit
91inline constexpr double R = R_air;
92
94inline constexpr double R_universal = 8.31447;
95
97inline constexpr double gamma = 1.4;
98} // namespace atmosphere
99
100// =============================================================================
101// Physics Constants
102// =============================================================================
103namespace physics {
105inline constexpr double c = 299792458.0;
106
108inline constexpr double G = 6.67430e-11;
109
111inline constexpr double k_B = 1.380649e-23;
112
114inline constexpr double sigma = 5.670374e-8;
115
117inline constexpr double g0 = 9.80665;
118} // namespace physics
119
120// =============================================================================
121// Sun Constants
122// =============================================================================
123namespace sun {
125inline constexpr double AU = 149597870700.0;
126
128inline constexpr double mu = 1.32712440018e20;
129
131inline constexpr double radius = 6.96e8;
132} // namespace sun
133
134// =============================================================================
135// Moon Constants
136// =============================================================================
137namespace moon {
139inline constexpr double mu = 4.9028695e12;
140
142inline constexpr double radius = 1.7374e6;
143
145inline constexpr double mean_distance = 3.844e8;
146} // namespace moon
147
148// =============================================================================
149// Angular Conversion Constants
150// =============================================================================
151namespace angle {
153inline constexpr double pi = 3.14159265358979323846;
154
156inline constexpr double deg2rad = pi / 180.0;
157
159inline constexpr double rad2deg = 180.0 / pi;
160
162inline constexpr double arcsec2rad = deg2rad / 3600.0;
163} // namespace angle
164
165} // namespace vulcan::constants
Definition Constants.hpp:151
constexpr double rad2deg
Radians to degrees conversion factor.
Definition Constants.hpp:159
constexpr double arcsec2rad
Arcseconds to radians.
Definition Constants.hpp:162
constexpr double deg2rad
Degrees to radians conversion factor.
Definition Constants.hpp:156
constexpr double pi
Pi.
Definition Constants.hpp:153
Definition Constants.hpp:69
constexpr double R_universal
Universal gas constant [J/(mol·K)].
Definition Constants.hpp:94
constexpr double P0
Sea level pressure [Pa].
Definition Constants.hpp:74
constexpr double R
Definition Constants.hpp:91
constexpr double h_tropopause
Tropopause altitude [m].
Definition Constants.hpp:83
constexpr double gamma
Ratio of specific heats for air.
Definition Constants.hpp:97
constexpr double T0
Sea level temperature [K].
Definition Constants.hpp:71
constexpr double rho0
Sea level density [kg/m^3].
Definition Constants.hpp:77
constexpr double L
Temperature lapse rate in troposphere [K/m].
Definition Constants.hpp:80
constexpr double M
Molar mass of air [kg/mol].
Definition Constants.hpp:86
constexpr double R_air
Gas constant for air [J/(kg·K)].
Definition Constants.hpp:89
Definition Constants.hpp:11
constexpr double R_pol
Polar radius [m].
Definition Constants.hpp:19
constexpr double R_eq
Equatorial radius [m] (WGS84).
Definition Constants.hpp:16
constexpr double J4
J4 zonal harmonic coefficient.
Definition Constants.hpp:34
constexpr double omega
Angular velocity [rad/s].
Definition Constants.hpp:37
constexpr double f
Flattening (WGS84).
Definition Constants.hpp:25
constexpr double J3
J3 zonal harmonic coefficient.
Definition Constants.hpp:31
constexpr double R_mean
Mean radius [m].
Definition Constants.hpp:22
constexpr double J2
J2 zonal harmonic coefficient.
Definition Constants.hpp:28
constexpr double mu
Gravitational parameter (GM) [m^3/s^2].
Definition Constants.hpp:13
Definition Constants.hpp:137
constexpr double radius
Mean radius [m].
Definition Constants.hpp:142
constexpr double mu
Gravitational parameter (GM) [m³/s²].
Definition Constants.hpp:139
constexpr double mean_distance
Mean Earth-Moon distance [m].
Definition Constants.hpp:145
Definition Constants.hpp:103
constexpr double g0
Standard gravity [m/s^2].
Definition Constants.hpp:117
constexpr double k_B
Boltzmann constant [J/K] (Exact).
Definition Constants.hpp:111
constexpr double c
Speed of light in vacuum [m/s] (Exact).
Definition Constants.hpp:105
constexpr double sigma
Stefan-Boltzmann constant [W/(m^2·K^4)] (CODATA 2018).
Definition Constants.hpp:114
constexpr double G
Gravitational constant [m^3/(kg·s^2)] (CODATA 2018).
Definition Constants.hpp:108
Definition Constants.hpp:123
constexpr double mu
Gravitational parameter (GM) [m³/s²].
Definition Constants.hpp:128
constexpr double AU
Astronomical Unit [m] - exact IAU 2012 definition.
Definition Constants.hpp:125
constexpr double radius
Mean radius [m].
Definition Constants.hpp:131
Definition Constants.hpp:43
constexpr double b
Semi-minor axis (polar radius) [m].
Definition Constants.hpp:51
constexpr double e_prime2
Second eccentricity squared.
Definition Constants.hpp:57
constexpr double omega
Angular velocity [rad/s].
Definition Constants.hpp:63
constexpr double e2
First eccentricity squared.
Definition Constants.hpp:54
constexpr double mu
Gravitational parameter [m^3/s^2].
Definition Constants.hpp:60
constexpr double a
Semi-major axis (equatorial radius) [m].
Definition Constants.hpp:45
constexpr double f
Flattening.
Definition Constants.hpp:48
Definition Constants.hpp:5