pub struct DragForce { /* private fields */ }Expand description
Atmospheric-drag force model using cannonball drag over NRLMSISE-00 density.
The stored factor is B = C_D * A / m in m^2/kg. Use
CompositeForceModel to layer
this force on a gravity model.
Implementations§
Source§impl DragForce
impl DragForce
Sourcepub const DEFAULT_REENTRY_ALTITUDE_KM: f64 = 100.0
pub const DEFAULT_REENTRY_ALTITUDE_KM: f64 = 100.0
Conventional reentry and decay altitude, km.
Sourcepub fn from_area_mass(
cd: f64,
area_m2: f64,
mass_kg: f64,
sw: SpaceWeather,
cutoff_altitude_km: f64,
) -> Result<Self, PropagationError>
pub fn from_area_mass( cd: f64, area_m2: f64, mass_kg: f64, sw: SpaceWeather, cutoff_altitude_km: f64, ) -> Result<Self, PropagationError>
Build from drag coefficient, cross-section area, mass, and cutoff.
Sourcepub fn from_bc_factor_m2_kg(
bc_factor_m2_kg: f64,
sw: SpaceWeather,
cutoff_altitude_km: f64,
) -> Result<Self, PropagationError>
pub fn from_bc_factor_m2_kg( bc_factor_m2_kg: f64, sw: SpaceWeather, cutoff_altitude_km: f64, ) -> Result<Self, PropagationError>
Build directly from B = C_D * A / m in m^2/kg.
Sourcepub fn from_ballistic_coefficient(
bc_kg_m2: f64,
sw: SpaceWeather,
cutoff_altitude_km: f64,
) -> Result<Self, PropagationError>
pub fn from_ballistic_coefficient( bc_kg_m2: f64, sw: SpaceWeather, cutoff_altitude_km: f64, ) -> Result<Self, PropagationError>
Build from reciprocal ballistic coefficient BC = m / (C_D * A).
Sourcepub fn from_area_mass_default_cutoff(
cd: f64,
area_m2: f64,
mass_kg: f64,
sw: SpaceWeather,
) -> Result<Self, PropagationError>
pub fn from_area_mass_default_cutoff( cd: f64, area_m2: f64, mass_kg: f64, sw: SpaceWeather, ) -> Result<Self, PropagationError>
Build from drag coefficient, area, and mass with the default cutoff.
Sourcepub fn bc_factor_m2_kg(&self) -> f64
pub fn bc_factor_m2_kg(&self) -> f64
Drag ballistic-coefficient factor B = C_D * A / m, m^2/kg.
Sourcepub fn space_weather(&self) -> SpaceWeather
pub fn space_weather(&self) -> SpaceWeather
Space-weather inputs used for density evaluation.
Sourcepub fn cutoff_altitude_km(&self) -> f64
pub fn cutoff_altitude_km(&self) -> f64
Density cutoff altitude, km.
Trait Implementations§
impl Copy for DragForce
Source§impl ForceModel for DragForce
impl ForceModel for DragForce
fn acceleration( &self, state: &CartesianState, _ctx: &PropagationContext, ) -> Result<Vector3<f64>, PropagationError>
impl StructuralPartialEq for DragForce
Auto Trait Implementations§
impl Freeze for DragForce
impl RefUnwindSafe for DragForce
impl Send for DragForce
impl Sync for DragForce
impl Unpin for DragForce
impl UnsafeUnpin for DragForce
impl UnwindSafe for DragForce
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.