pub enum ForceModelKind {
TwoBody {
mu_km3_s2: f64,
},
TwoBodyJ2 {
mu_km3_s2: f64,
re_km: f64,
j2: f64,
},
Composite {
components: ForceModelComponents,
},
}Expand description
Which force model supplies the acceleration during propagation.
The legacy variants carry their own physical parameters so a caller can
propagate a non-Earth central body by supplying a different gravitational
parameter. The Self::two_body / Self::two_body_j2 constructors fill
in the canonical Earth values from crate::astro::constants. The
Self::Composite variant adds optional force components without changing
those legacy branches.
Variants§
TwoBody
Pure two-body (Keplerian) gravity.
TwoBodyJ2
Two-body gravity plus the J2 oblateness perturbation.
Fields
Composite
Additive composition of central gravity and optional perturbations.
Fields
§
components: ForceModelComponentsForce components to add.
Implementations§
Source§impl ForceModelKind
impl ForceModelKind
Sourcepub fn two_body_j2() -> Self
pub fn two_body_j2() -> Self
Sourcepub fn composite(components: ForceModelComponents) -> Self
pub fn composite(components: ForceModelComponents) -> Self
Build an additive force model from components.
Sourcepub fn earth_phase_a(
solar_radiation_pressure: Option<SolarRadiationPressure>,
) -> Self
pub fn earth_phase_a( solar_radiation_pressure: Option<SolarRadiationPressure>, ) -> Self
Earth two-body plus Phase A perturbations.
Sourcepub fn earth_phase_b(
max_degree: u16,
max_order: u16,
solar_radiation_pressure: Option<SolarRadiationPressure>,
) -> Result<Self, PropagationError>
pub fn earth_phase_b( max_degree: u16, max_order: u16, solar_radiation_pressure: Option<SolarRadiationPressure>, ) -> Result<Self, PropagationError>
Earth two-body plus Phase B perturbations.
Trait Implementations§
Source§impl Clone for ForceModelKind
impl Clone for ForceModelKind
Source§fn clone(&self) -> ForceModelKind
fn clone(&self) -> ForceModelKind
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ForceModelKind
Source§impl Debug for ForceModelKind
impl Debug for ForceModelKind
Source§impl PartialEq for ForceModelKind
impl PartialEq for ForceModelKind
impl StructuralPartialEq for ForceModelKind
Auto Trait Implementations§
impl Freeze for ForceModelKind
impl RefUnwindSafe for ForceModelKind
impl Send for ForceModelKind
impl Sync for ForceModelKind
impl Unpin for ForceModelKind
impl UnsafeUnpin for ForceModelKind
impl UnwindSafe for ForceModelKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.