[−][src]Struct nyx_space::dynamics::celestial::TwoBodyWithStm
TwoBodyWithStm
exposes the equations of motion for a simple two body propagation. It inherently supports
the State Transition Matrix for orbital determination.
Fields
stm: Matrix6<f64>
two_body_dyn: TwoBody<'a>
tx_chan: Option<&'a Sender<(f64, Vector6<f64>, Matrix6<f64>)>>
Methods
impl<'a> TwoBodyWithStm<'a>
[src]
pub fn from_state<B: CelestialBody, F: CoordinateFrame>(
state: State<F>
) -> TwoBodyWithStm<'a>
[src]
state: State<F>
) -> TwoBodyWithStm<'a>
Initialize TwoBody dynamics around a provided CelestialBody
from the provided position and velocity state (cf. nyx::celestia).
Trait Implementations
impl<'a> Dynamics for TwoBodyWithStm<'a>
[src]
type StateSize = U42
Defines the state size for these dynamics. It must be imported from nalgebra
.
fn time(&self) -> f64
[src]
fn state(&self) -> VectorN<f64, Self::StateSize>
[src]
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> Linearization for TwoBodyWithStm<'a>
[src]
type StateSize = U6
Defines the state size of the estimated state
fn gradient(
&self,
_t: f64,
state: &VectorN<f64, Self::StateSize>
) -> MatrixMN<f64, Self::StateSize, Self::StateSize>
[src]
&self,
_t: f64,
state: &VectorN<f64, Self::StateSize>
) -> MatrixMN<f64, Self::StateSize, Self::StateSize>
impl<'a> Clone for TwoBodyWithStm<'a>
[src]
fn clone(&self) -> TwoBodyWithStm<'a>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl<'a> !Send for TwoBodyWithStm<'a>
impl<'a> !Sync for TwoBodyWithStm<'a>
Blanket Implementations
impl<T> Linearization for T where
T: AutoDiffDynamics,
DefaultAllocator: Allocator<Dual<f64>, <T as Dynamics>::StateSize, U1>,
DefaultAllocator: Allocator<Dual<f64>, <T as Dynamics>::StateSize, <T as Dynamics>::StateSize>,
[src]
T: AutoDiffDynamics,
DefaultAllocator: Allocator<Dual<f64>, <T as Dynamics>::StateSize, U1>,
DefaultAllocator: Allocator<Dual<f64>, <T as Dynamics>::StateSize, <T as Dynamics>::StateSize>,
type StateSize = <T as AutoDiffDynamics>::HyperStateSize
Defines the state size of the estimated state
fn gradient(
&Self,
f64,
&Matrix<f64, <T as Linearization>::StateSize, U1, <DefaultAllocator as Allocator<f64, <T as Linearization>::StateSize, U1>>::Buffer>
) -> Matrix<f64, <T as Linearization>::StateSize, <T as Linearization>::StateSize, <DefaultAllocator as Allocator<f64, <T as Linearization>::StateSize, <T as Linearization>::StateSize>>::Buffer> where
DefaultAllocator: Allocator<f64, <T as Linearization>::StateSize, U1>,
DefaultAllocator: Allocator<f64, <T as Linearization>::StateSize, <T as Linearization>::StateSize>,
[src]
&Self,
f64,
&Matrix<f64, <T as Linearization>::StateSize, U1, <DefaultAllocator as Allocator<f64, <T as Linearization>::StateSize, U1>>::Buffer>
) -> Matrix<f64, <T as Linearization>::StateSize, <T as Linearization>::StateSize, <DefaultAllocator as Allocator<f64, <T as Linearization>::StateSize, <T as Linearization>::StateSize>>::Buffer> where
DefaultAllocator: Allocator<f64, <T as Linearization>::StateSize, U1>,
DefaultAllocator: Allocator<f64, <T as Linearization>::StateSize, <T as Linearization>::StateSize>,
Returns the gradient of the dynamics at the given state.
WARNING: Requires a prior call to self.compute() ! This is where the auto-differentiation happens.
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
try_from
)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> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Same for T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,