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>::Size, <D::StateType as State>::Size> + Allocator<usize, <D::StateType as State>::Size, <D::StateType as State>::Size> + Allocator<f64, <D::StateType as State>::VecLength>, {
pub state: D::StateType,
pub prop: &'a Propagator<'a, D, E>,
pub details: IntegrationDetails,
// some fields omitted
}
Expand description
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: &'a Propagator<'a, D, E>
The propagator setup (kind, stages, etc.)
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>::Size, <D::StateType as State>::Size> + Allocator<usize, <D::StateType as State>::Size, <D::StateType as State>::Size> + Allocator<f64, <D::StateType as State>::VecLength>,
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>::Size, <D::StateType as State>::Size> + Allocator<usize, <D::StateType as State>::Size, <D::StateType as State>::Size> + Allocator<f64, <D::StateType as State>::VecLength>,
Allows setting the step size of the propagator
This method propagates the provided Dynamics for the provided duration.
This method propagates the provided Dynamics for the provided duration and publishes each state on the channel.
Propagates the provided Dynamics until the provided epoch. Returns the end state.
Propagates the provided Dynamics until the provided epoch and publishes states on the provided channel. Returns the end state.
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
Propagates the provided Dynamics until the provided epoch 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
Propagate until a specific event is found trigger
times.
Returns the state found and the trajectory until max_duration
Take a single propagator step and emit the result on the TX channel (if enabled)
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>::Size, <D::StateType as State>::Size> + Allocator<usize, <D::StateType as State>::Size, <D::StateType as State>::Size> + Allocator<f64, <D::StateType as State>::VecLength>,
D::StateType: Debug,
D::StateType: Debug,
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>::Size, <D::StateType as State>::Size> + Allocator<usize, <D::StateType as State>::Size, <D::StateType as State>::Size> + Allocator<f64, <D::StateType as State>::VecLength>,
D::StateType: Debug,
D::StateType: Debug,
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
Mutably borrows from an owned value. Read more
type Output = T
type Output = T
Should always be Self
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.