pub struct PropagationConfig {
pub initial: CartesianState,
pub force_model: PropagationForceModel,
pub mu_km3_s2: Option<f64>,
pub integrator: IntegratorKind,
pub options: IntegratorOptions,
}Expand description
High-level configuration for the numerical-propagation driver.
Construct with PropagationConfig::new and override fields; the defaults
match every binding’s defaults: two-body gravity, the adaptive DP54
integrator, the canonical MU_EARTH gravitational parameter, and the
engine-default IntegratorOptions.
Fields§
§initial: CartesianStateInitial ECI Cartesian state; its epoch is the propagation start epoch.
force_model: PropagationForceModelForce-model choice.
mu_km3_s2: Option<f64>Gravitational-parameter override, km^3/s^2. None uses the canonical
MU_EARTH.
integrator: IntegratorKindIntegrator choice.
options: IntegratorOptionsStep-size / tolerance controls forwarded to the integrator.
Implementations§
Source§impl PropagationConfig
impl PropagationConfig
Sourcepub fn new(
epoch_tdb_seconds: f64,
position_km: [f64; 3],
velocity_km_s: [f64; 3],
) -> Self
pub fn new( epoch_tdb_seconds: f64, position_km: [f64; 3], velocity_km_s: [f64; 3], ) -> Self
Build a config from a raw epoch (TDB seconds), ECI position (km), and ECI
velocity (km/s) with the binding defaults: two-body gravity, the DP54
integrator, the canonical MU_EARTH gravitational parameter, and
IntegratorOptions::default.
Sourcepub fn gravitational_parameter(&self) -> f64
pub fn gravitational_parameter(&self) -> f64
The gravitational parameter the driver will use: the configured override,
or the canonical MU_EARTH when none is set.
Sourcepub fn force_model_kind(&self) -> ForceModelKind
pub fn force_model_kind(&self) -> ForceModelKind
Compose the concrete ForceModelKind from the high-level choice and the
effective gravitational parameter, filling RE_EARTH / J2_EARTH for
the J2 variant. This is the force-model composition policy the bindings
each duplicated.
Sourcepub fn to_propagator(&self) -> StatePropagator
pub fn to_propagator(&self) -> StatePropagator
Assemble the StatePropagator this config describes. Equivalent to the
per-binding hand assembly, so a downstream ephemeris call is bit-for-bit
identical to the binding’s own.
Trait Implementations§
Source§impl Clone for PropagationConfig
impl Clone for PropagationConfig
Source§fn clone(&self) -> PropagationConfig
fn clone(&self) -> PropagationConfig
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 PropagationConfig
Source§impl Debug for PropagationConfig
impl Debug for PropagationConfig
Source§impl PartialEq for PropagationConfig
impl PartialEq for PropagationConfig
Source§fn eq(&self, other: &PropagationConfig) -> bool
fn eq(&self, other: &PropagationConfig) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for PropagationConfig
Auto Trait Implementations§
impl Freeze for PropagationConfig
impl RefUnwindSafe for PropagationConfig
impl Send for PropagationConfig
impl Sync for PropagationConfig
impl Unpin for PropagationConfig
impl UnsafeUnpin for PropagationConfig
impl UnwindSafe for PropagationConfig
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
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>
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>
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>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
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
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.