|
Vulcan
Aerospace Engineering Utilities Built on Janus
|
Classes | |
| struct | AtmosphericState |
| Complete atmospheric state at a given altitude. More... | |
Functions | |
| template<typename Scalar> | |
| Scalar | density (const Scalar &altitude, double scale_height=DEFAULT_SCALE_HEIGHT) |
| Exponential atmosphere - Density. | |
| template<typename Scalar> | |
| Scalar | pressure (const Scalar &altitude, double scale_height=DEFAULT_SCALE_HEIGHT) |
| Exponential atmosphere - Pressure. | |
| template<typename Scalar> | |
| Scalar | temperature (const Scalar &altitude, double scale_height=DEFAULT_SCALE_HEIGHT) |
| Exponential atmosphere - Temperature. | |
| template<typename Scalar> | |
| Scalar | speed_of_sound (const Scalar &altitude, double scale_height=DEFAULT_SCALE_HEIGHT) |
| Exponential atmosphere - Speed of Sound. | |
| template<typename Scalar> | |
| AtmosphericState< Scalar > | state (const Scalar &altitude, double scale_height=DEFAULT_SCALE_HEIGHT) |
| Exponential atmosphere - Complete atmospheric state. | |
| double | compute_scale_height (double temperature=T_0, double gravity=G_0) |
| Compute scale height from reference conditions. | |
| template<typename Scalar> | |
| Scalar | altitude_from_density (const Scalar &rho, double scale_height=DEFAULT_SCALE_HEIGHT) |
| Compute altitude from density. | |
| template<typename Scalar> | |
| Scalar | altitude_from_pressure (const Scalar &P, double scale_height=DEFAULT_SCALE_HEIGHT) |
| Compute altitude from pressure. | |
Variables | |
| constexpr double | RHO_0 = 1.225 |
| Sea-level reference density [kg/m³]. | |
| constexpr double | P_0 = 101325.0 |
| Sea-level reference pressure [Pa]. | |
| constexpr double | T_0 = 288.15 |
| Sea-level reference temperature [K]. | |
| constexpr double | DEFAULT_SCALE_HEIGHT = 8500.0 |
| constexpr double | G_0 = 9.80665 |
| Sea-level gravitational acceleration [m/s²]. | |
| constexpr double | R_AIR = 287.058 |
| Specific gas constant for air [J/(kg·K)]. | |
| constexpr double | GAMMA = 1.4 |
| Ratio of specific heats for air (γ = Cp/Cv). | |
| Scalar vulcan::exponential_atmosphere::altitude_from_density | ( | const Scalar & | rho, |
| double | scale_height = DEFAULT_SCALE_HEIGHT ) |
Compute altitude from density.
Inverse of the density function: h = -H * ln(ρ / ρ₀)
| Scalar | double or casadi::MX for symbolic computation |
| rho | Density [kg/m³] |
| scale_height | Atmospheric scale height [m] (default: 8500 m) |
| Scalar vulcan::exponential_atmosphere::altitude_from_pressure | ( | const Scalar & | P, |
| double | scale_height = DEFAULT_SCALE_HEIGHT ) |
Compute altitude from pressure.
Inverse of the pressure function: h = -H * ln(P / P₀)
| Scalar | double or casadi::MX for symbolic computation |
| P | Pressure [Pa] |
| scale_height | Atmospheric scale height [m] (default: 8500 m) |
|
inline |
Compute scale height from reference conditions.
The scale height H = R*T / g relates temperature, gravity, and the rate of pressure decay.
| temperature | Reference temperature [K] |
| gravity | Gravitational acceleration [m/s²] |
| Scalar vulcan::exponential_atmosphere::density | ( | const Scalar & | altitude, |
| double | scale_height = DEFAULT_SCALE_HEIGHT ) |
Exponential atmosphere - Density.
Computes air density using the simple exponential model: ρ = ρ₀ * exp(-h / H)
This model is suitable for quick estimates and trajectory optimization where a simple, smooth, differentiable model is preferred.
| Scalar | double or casadi::MX for symbolic computation |
| altitude | Geometric altitude above sea level [m] |
| scale_height | Atmospheric scale height [m] (default: 8500 m) |
| Scalar vulcan::exponential_atmosphere::pressure | ( | const Scalar & | altitude, |
| double | scale_height = DEFAULT_SCALE_HEIGHT ) |
Exponential atmosphere - Pressure.
Computes pressure using the simple exponential model: P = P₀ * exp(-h / H)
Uses the same scale height as density for consistency with an isothermal atmosphere assumption.
| Scalar | double or casadi::MX for symbolic computation |
| altitude | Geometric altitude above sea level [m] |
| scale_height | Atmospheric scale height [m] (default: 8500 m) |
| Scalar vulcan::exponential_atmosphere::speed_of_sound | ( | const Scalar & | altitude, |
| double | scale_height = DEFAULT_SCALE_HEIGHT ) |
Exponential atmosphere - Speed of Sound.
Computes speed of sound from temperature: a = sqrt(γ * R * T)
Since temperature is constant in this model, speed of sound is also constant.
| Scalar | double or casadi::MX for symbolic computation |
| altitude | Geometric altitude above sea level [m] (unused) |
| scale_height | Atmospheric scale height [m] (unused) |
| AtmosphericState< Scalar > vulcan::exponential_atmosphere::state | ( | const Scalar & | altitude, |
| double | scale_height = DEFAULT_SCALE_HEIGHT ) |
Exponential atmosphere - Complete atmospheric state.
Returns all atmospheric properties in a single evaluation. Efficient for trajectory optimization where multiple properties are needed.
| Scalar | double or casadi::MX for symbolic computation |
| altitude | Geometric altitude above sea level [m] |
| scale_height | Atmospheric scale height [m] (default: 8500 m) |
| Scalar vulcan::exponential_atmosphere::temperature | ( | const Scalar & | altitude, |
| double | scale_height = DEFAULT_SCALE_HEIGHT ) |
Exponential atmosphere - Temperature.
Returns the reference temperature (isothermal assumption). The exponential atmosphere model assumes constant temperature, which is why both density and pressure decay with the same scale height.
| Scalar | double or casadi::MX for symbolic computation |
| altitude | Geometric altitude above sea level [m] (unused) |
| scale_height | Atmospheric scale height [m] (unused) |
|
inlineconstexpr |
Default atmospheric scale height [m] Approximately 8.5 km based on RT/g at sea level
|
inlineconstexpr |
Sea-level gravitational acceleration [m/s²].
|
inlineconstexpr |
Ratio of specific heats for air (γ = Cp/Cv).
|
inlineconstexpr |
Sea-level reference pressure [Pa].
|
inlineconstexpr |
Specific gas constant for air [J/(kg·K)].
|
inlineconstexpr |
Sea-level reference density [kg/m³].
|
inlineconstexpr |
Sea-level reference temperature [K].