Struct nyx_space::propagators::Propagator[][src]

pub struct Propagator<'a, D: Dynamics, E: ErrorCtrl> where
    DefaultAllocator: Allocator<f64, <D::StateType as State>::Size> + Allocator<f64, <D::StateType as State>::PropVecSize>, 
{ pub dynamics: Arc<D>, pub opts: PropOpts<E>, // some fields omitted }

A Propagator allows propagating a set of dynamics forward or backward in time. It is an EventTracker, without any event tracking. It includes the options, the integrator details of the previous step, and the set of coefficients used for the monomorphic instance.

Fields

dynamics: Arc<D>opts: PropOpts<E>

Implementations

impl<'a, D: Dynamics, E: ErrorCtrl> Propagator<'a, D, E> where
    DefaultAllocator: Allocator<f64, <D::StateType as State>::Size> + Allocator<f64, <D::StateType as State>::PropVecSize>, 
[src]

The Propagator trait defines the functions of a propagator and of an event tracker.

pub fn new<T: RK>(dynamics: Arc<D>, opts: PropOpts<E>) -> Self[src]

Each propagator must be initialized with new which stores propagator information.

pub fn set_tolerance(&mut self, tol: f64)[src]

Set the tolerance for the propagator

pub fn set_max_step(&mut self, step: Duration)[src]

Set the maximum step size for the propagator

pub fn rk89(dynamics: Arc<D>, opts: PropOpts<E>) -> Self[src]

An RK89 propagator (the default) with custom propagator options.

pub fn with(&'a self, state: D::StateType) -> PropInstance<'a, D, E>[src]

impl<'a, D: Dynamics> Propagator<'a, D, RSSStepPV> where
    DefaultAllocator: Allocator<f64, <D::StateType as State>::Size> + Allocator<f64, <D::StateType as State>::PropVecSize>, 
[src]

pub fn default(dynamics: Arc<D>) -> Self[src]

Default propagator is an RK89 with the default PropOpts.

Trait Implementations

impl<'a, D: Clone + Dynamics, E: Clone + ErrorCtrl> Clone for Propagator<'a, D, E> where
    DefaultAllocator: Allocator<f64, <D::StateType as State>::Size> + Allocator<f64, <D::StateType as State>::PropVecSize>, 
[src]

impl<'a, D: Debug + Dynamics, E: Debug + ErrorCtrl> Debug for Propagator<'a, D, E> where
    DefaultAllocator: Allocator<f64, <D::StateType as State>::Size> + Allocator<f64, <D::StateType as State>::PropVecSize>, 
[src]

Auto Trait Implementations

impl<'a, D, E> RefUnwindSafe for Propagator<'a, D, E> where
    D: RefUnwindSafe,
    E: RefUnwindSafe

impl<'a, D, E> Send for Propagator<'a, D, E> where
    D: Send + Sync,
    E: Send

impl<'a, D, E> Sync for Propagator<'a, D, E> where
    D: Send + Sync,
    E: Sync

impl<'a, D, E> Unpin for Propagator<'a, D, E> where
    E: Unpin

impl<'a, D, E> UnwindSafe for Propagator<'a, D, E> where
    D: RefUnwindSafe,
    E: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,