Skip to main content

GravityModel

Enum GravityModel 

Source
#[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
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Constant

A uniform field (0, 0, −g) in the launch frame.

Fields

§g_mps2: f64

Gravity 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

Source§

fn clone(&self) -> GravityModel

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for GravityModel

Source§

impl Debug for GravityModel

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for GravityModel

Source§

fn default() -> GravityModel

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for GravityModel

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for GravityModel

Source§

fn eq(&self, other: &GravityModel) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for GravityModel

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for GravityModel

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.