#[non_exhaustive]pub enum GravityModel {
Constant {
g_mps2: f64,
},
VerticalTaylor,
Vertical,
Ellipsoidal,
}Expand description
How gravity is evaluated along the trajectory.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Constant
A uniform field (0, 0, −g) in the launch frame.
Fields
g_mps2: f64Gravity magnitude, m/s², not negative: the field points down whatever the sign
convention of the source, and Earth::new rejects a negative value.
VerticalTaylor
(0, 0, −γ) with γ from the Taylor series (eq. 4-3) at the launch latitude and height
h₀ + z: RocketPy’s gravity formula, for like-for-like comparisons. A RocketPy flight
differs from the formula in three ways a case must reproduce itself: it evaluates it at
height above sea level rather than above the ellipsoid; it holds the value constant above
max_expected_height (80 km by default; at 100 km that is 0.6% high); and it does not fly
the formula at all but a 100-point cubic spline through it
(Environment.set_gravity_model → Function.set_discrete), which over the 0 to 4.4 km of
the parachute descents of M1.7a differs from the formula by at most 4.6e-8 m/s².
Vertical
(0, 0, −|γ|) with the exact magnitude (eq. 4-4) at the launch latitude and longitude and
height h₀ + z: altitude-dependent, but always along the launch site’s vertical.
Ellipsoidal
The full normal gravity vector at the body’s actual position, resolved in the launch frame. It includes the turn of the vertical over long ranges (about 0.9 mrad per 5.7 km) and the small deflection above the ellipsoid.
Trait Implementations§
Source§impl Clone for GravityModel
impl Clone for GravityModel
Source§fn clone(&self) -> GravityModel
fn clone(&self) -> GravityModel
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for GravityModel
Source§impl Debug for GravityModel
impl Debug for GravityModel
Source§impl Default for GravityModel
impl Default for GravityModel
Source§fn default() -> GravityModel
fn default() -> GravityModel
Source§impl<'de> Deserialize<'de> for GravityModel
impl<'de> Deserialize<'de> for GravityModel
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for GravityModel
impl PartialEq for GravityModel
Source§fn eq(&self, other: &GravityModel) -> bool
fn eq(&self, other: &GravityModel) -> bool
self and other values to be equal, and is used by ==.