[−][src]Struct nyx_space::dynamics::celestial::CelestialDynamicsStm
CelestialDynamicsStm
provides the equations of motion for any celestial dynamic, with state transition matrix computation.
Fields
state: State
bodies: Vec<i32>
stm: Matrix6<f64>
cosm: Option<&'a Cosm>
correction: LTCorr
Methods
impl<'a> CelestialDynamicsStm<'a>
[src]
pub fn new(state: State, bodies: Vec<i32>, cosm: &'a Cosm) -> Self
[src]
Initialize third body dynamics given the EXB IDs and a Cosm
pub fn two_body(state: State) -> Self
[src]
Initializes a CelestialDynamicsStm which does not simulate the gravity pull of other celestial objects but the primary one.
pub fn as_state(&self) -> State
[src]
Provides a copy to the state.
pub fn set_orbital_state(&mut self, new_t: f64, new_state: &Vector6<f64>)
[src]
Used only to set the orbital state, useful for Extended Kalman Filters.
pub fn state_ctor(
&self,
t: f64,
in_state: &VectorN<f64, U42>
) -> (State, Matrix6<f64>)
[src]
&self,
t: f64,
in_state: &VectorN<f64, U42>
) -> (State, Matrix6<f64>)
Rebuild the state and STM from the provided vector
Trait Implementations
impl<'a> AutoDiffDynamics for CelestialDynamicsStm<'a>
[src]
type HyperStateSize = U7
Defines the state size of the estimated state
type STMSize = U6
fn dual_eom(
&self,
t: f64,
state: &VectorN<Hyperdual<f64, U7>, U6>
) -> (Vector6<f64>, Matrix6<f64>)
[src]
&self,
t: f64,
state: &VectorN<Hyperdual<f64, U7>, U6>
) -> (Vector6<f64>, Matrix6<f64>)
fn compute(
&self,
t: f64,
state: &VectorN<f64, Self::STMSize>
) -> (VectorN<f64, Self::STMSize>, MatrixMN<f64, Self::STMSize, Self::STMSize>) where
DefaultAllocator: Allocator<f64, Self::HyperStateSize> + Allocator<f64, Self::STMSize> + Allocator<f64, Self::STMSize, Self::STMSize> + Allocator<Hyperdual<f64, Self::HyperStateSize>, Self::STMSize>,
Owned<f64, Self::HyperStateSize>: Copy,
[src]
&self,
t: f64,
state: &VectorN<f64, Self::STMSize>
) -> (VectorN<f64, Self::STMSize>, MatrixMN<f64, Self::STMSize, Self::STMSize>) where
DefaultAllocator: Allocator<f64, Self::HyperStateSize> + Allocator<f64, Self::STMSize> + Allocator<f64, Self::STMSize, Self::STMSize> + Allocator<Hyperdual<f64, Self::HyperStateSize>, Self::STMSize>,
Owned<f64, Self::HyperStateSize>: Copy,
impl<'a> Clone for CelestialDynamicsStm<'a>
[src]
fn clone(&self) -> CelestialDynamicsStm<'a>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<'a> Dynamics for CelestialDynamicsStm<'a>
[src]
type StateSize = U42
Defines the state size for these dynamics. It must be imported from nalgebra
.
type StateType = (State, Matrix6<f64>)
Defines the type which will be published on the propagator channel
fn time(&self) -> f64
[src]
Returns the relative time to the propagator. Use prop.dynamics.state.dt for absolute time
fn state_vector(&self) -> VectorN<f64, Self::StateSize>
[src]
fn state(&self) -> Self::StateType
[src]
Returns the celestial state and the state transition matrix
fn set_state(&mut self, new_t: f64, new_state: &VectorN<f64, Self::StateSize>)
[src]
fn eom(
&self,
t: f64,
state: &VectorN<f64, Self::StateSize>
) -> VectorN<f64, Self::StateSize>
[src]
&self,
t: f64,
state: &VectorN<f64, Self::StateSize>
) -> VectorN<f64, Self::StateSize>
impl<'a> Estimable<State> for CelestialDynamicsStm<'a>
[src]
type LinStateSize = U6
Defines the state size of the estimated state
fn to_measurement(&self, prop_state: &Self::StateType) -> (Epoch, State)
[src]
fn extract_stm(&self, prop_state: &Self::StateType) -> Matrix6<f64>
[src]
fn extract_estimated_state(
&self,
prop_state: &Self::StateType
) -> VectorN<f64, Self::LinStateSize>
[src]
&self,
prop_state: &Self::StateType
) -> VectorN<f64, Self::LinStateSize>
fn set_estimated_state(&mut self, new_state: VectorN<f64, Self::LinStateSize>)
[src]
Returns the estimated state
fn estimated_state(&self) -> VectorN<f64, Self::LinStateSize> where
DefaultAllocator: Allocator<f64, Self::LinStateSize>,
[src]
DefaultAllocator: Allocator<f64, Self::LinStateSize>,
fn stm(&self) -> MatrixMN<f64, Self::LinStateSize, Self::LinStateSize> where
DefaultAllocator: Allocator<f64, Self::LinStateSize> + Allocator<f64, Self::LinStateSize, Self::LinStateSize>,
[src]
DefaultAllocator: Allocator<f64, Self::LinStateSize> + Allocator<f64, Self::LinStateSize, Self::LinStateSize>,
Auto Trait Implementations
impl<'a> !RefUnwindSafe for CelestialDynamicsStm<'a>
impl<'a> !Send for CelestialDynamicsStm<'a>
impl<'a> !Sync for CelestialDynamicsStm<'a>
impl<'a> Unpin for CelestialDynamicsStm<'a>
impl<'a> !UnwindSafe for CelestialDynamicsStm<'a>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn is_in_subset(&self) -> bool
unsafe fn to_subset_unchecked(&self) -> SS
fn from_subset(element: &SS) -> SP
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,