pub struct Motor { /* private fields */ }Expand description
A single, prescribed motor burn with constant effective exhaust velocity.
Mass flow is proportional to thrust: consumed mass = initial propellant mass ×
delivered impulse / total impulse. There is no throttle or restart; multiple
burns are modeled as multiple Stages on Rocket::staged.
Implementations§
Source§impl Motor
impl Motor
Sourcepub fn new(
curve: ThrustCurve,
propellant_mass_kg: f64,
ignition_time_s: f64,
) -> Result<Self>
pub fn new( curve: ThrustCurve, propellant_mass_kg: f64, ignition_time_s: f64, ) -> Result<Self>
Schedule a motor relative to the same simulation epoch as crate::FlightState.
Sourcepub fn curve(&self) -> &ThrustCurve
pub fn curve(&self) -> &ThrustCurve
The immutable thrust curve.
Sourcepub fn propellant_mass_kg(&self) -> f64
pub fn propellant_mass_kg(&self) -> f64
Initial propellant mass in kilograms.
Sourcepub fn ignition_time_s(&self) -> f64
pub fn ignition_time_s(&self) -> f64
Ignition time relative to the flight epoch.
Sourcepub fn burnout_time_s(&self) -> f64
pub fn burnout_time_s(&self) -> f64
Exact scheduled burnout time relative to the flight epoch.
Sourcepub fn sample(&self, time_s: f64) -> Result<MotorSample>
pub fn sample(&self, time_s: f64) -> Result<MotorSample>
Get phase, force and fuel at a finite nonnegative simulation time.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Motor
impl RefUnwindSafe for Motor
impl Send for Motor
impl Sync for Motor
impl Unpin for Motor
impl UnsafeUnpin for Motor
impl UnwindSafe for Motor
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<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.