Struct nyx_space::propagators::PropInstance [−][src]
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]
DefaultAllocator: Allocator<f64, <D::StateType as State>::Size> + Allocator<f64, <D::StateType as State>::PropVecSize>,
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]
&mut self,
duration: Duration
) -> Result<D::StateType, NyxError>
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]
&mut self,
duration: Duration
) -> Result<(D::StateType, Traj<D::StateType>), NyxError>
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]
&mut self,
max_duration: Duration,
event: &F,
trigger: usize
) -> Result<(D::StateType, Traj<D::StateType>), NyxError>
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]
DefaultAllocator: Allocator<f64, <D::StateType as State>::Size> + Allocator<f64, <D::StateType as State>::PropVecSize>,
D::StateType: Debug,
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
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,
pub 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> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
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>,
pub fn to_subset(&self) -> Option<SS>
pub fn is_in_subset(&self) -> bool
pub fn to_subset_unchecked(&self) -> SS
pub fn from_subset(element: &SS) -> SP
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.
pub 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.
pub 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>,