Struct nyx_space::propagators::PropInstance[][src]

pub struct PropInstance<'a, D: Dynamics, E: ErrorCtrl> where
    DefaultAllocator: Allocator<f64, <D::StateType as State>::Size> + Allocator<f64, <D::StateType as State>::PropVecSize>, 
{ pub state: D::StateType, pub prop: Arc<&'a Propagator<'a, D, E>>, pub tx_chan: Option<Sender<D::StateType>>, pub details: IntegrationDetails, // 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

state: D::StateType

The state of this propagator instance

prop: Arc<&'a Propagator<'a, D, E>>

The propagator setup (kind, stages, etc.)

tx_chan: Option<Sender<D::StateType>>

An output channel for all of the states computed by this propagator instance

details: IntegrationDetails

Stores the details of the previous integration step

Implementations

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

pub fn set_step(&mut self, step_size: Duration, fixed: bool)[src]

Allows setting the step size of the propagator

pub fn with_tx(self, tx: Sender<D::StateType>) -> Self[src]

Set the output channel of the propagator. For example use this to generate an interpolated trajectory.

pub fn state_vector(&self) -> VectorN<f64, <D::StateType as State>::PropVecSize>[src]

Returns the state of the propagation

WARNING: Do not use the dynamics to get the state, it will be the initial value!

pub fn for_duration(
    &mut self,
    duration: Duration
) -> Result<D::StateType, NyxError>
[src]

This method propagates the provided Dynamics for the provided duration.

pub fn for_duration_with_traj(
    &mut self,
    duration: Duration
) -> Result<(D::StateType, Traj<D::StateType>), NyxError>
[src]

Propagates the provided Dynamics for the provided duration and generate the trajectory of these dynamics on its own thread. Returns the end state and the trajectory. Known bug #190: Cannot generate a valid trajectory when propagating backward

pub fn until_event<F: EventEvaluator<D::StateType>>(
    &mut self,
    max_duration: Duration,
    event: &F,
    trigger: usize
) -> Result<(D::StateType, Traj<D::StateType>), NyxError>
[src]

Propagate until a specific event is found trigger times. Returns the state found and the trajectory until max_duration

pub fn latest_details(&self) -> &IntegrationDetails[src]

Borrow the details of the latest integration step.

Trait Implementations

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

Auto Trait Implementations

impl<'a, D, E> !RefUnwindSafe for PropInstance<'a, D, E>

impl<'a, D, E> !Send for PropInstance<'a, D, E>

impl<'a, D, E> !Sync for PropInstance<'a, D, E>

impl<'a, D, E> !Unpin for PropInstance<'a, D, E>

impl<'a, D, E> !UnwindSafe for PropInstance<'a, D, E>

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, 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>,