pub struct EventSolout<'a, T: Real, Y: State<T>, E: Event<T, Y>> { /* private fields */ }Expand description
Solout implementation that evaluates user-provided Event objects similar to SciPy events.
The EventSolout monitors the sign of event.event(t, y) across solver steps. When a sign
change consistent with the configured CrossingDirection is detected, a Brent-Dekker root
finding procedure is applied (using the solver’s interpolation) to locate the event time with
high accuracy. The event point (t_event, y_event) is then appended to the solution. Depending
on the EventConfig::terminate setting the integration may terminate after collecting the
specified number of events.
Implementations§
Trait Implementations§
Source§impl<'a, T, Y, E> Solout<T, Y> for EventSolout<'a, T, Y, E>
impl<'a, T, Y, E> Solout<T, Y> for EventSolout<'a, T, Y, E>
Source§fn solout<I>(
&mut self,
t_curr: T,
t_prev: T,
y_curr: &Y,
y_prev: &Y,
interpolator: &mut I,
solution: &mut Solution<T, Y>,
) -> ControlFlag<T, Y>where
I: Interpolation<T, Y>,
fn solout<I>(
&mut self,
t_curr: T,
t_prev: T,
y_curr: &Y,
y_prev: &Y,
interpolator: &mut I,
solution: &mut Solution<T, Y>,
) -> ControlFlag<T, Y>where
I: Interpolation<T, Y>,
Solout function to choose which points to output during the solving process. Read more
Auto Trait Implementations§
impl<'a, T, Y, E> Freeze for EventSolout<'a, T, Y, E>where
T: Freeze,
impl<'a, T, Y, E> RefUnwindSafe for EventSolout<'a, T, Y, E>
impl<'a, T, Y, E> Send for EventSolout<'a, T, Y, E>
impl<'a, T, Y, E> Sync for EventSolout<'a, T, Y, E>
impl<'a, T, Y, E> Unpin for EventSolout<'a, T, Y, E>
impl<'a, T, Y, E> UnwindSafe for EventSolout<'a, T, Y, E>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.