Trait freude::Stepper
[−]
[src]
pub trait Stepper { type State: Clone; type System: ODE<State = Self::State>; fn do_step(&mut self, _: &mut Self::State); fn system_ref(&self) -> &Self::System; fn system_mut(&mut self) -> &mut Self::System; fn timestep(&self) -> f64; }
A trait defining the interface of an integration method.
Associated Types
Required Methods
fn do_step(&mut self, _: &mut Self::State)
fn system_ref(&self) -> &Self::System
fn system_mut(&mut self) -> &mut Self::System
fn timestep(&self) -> f64
Implementors
impl<Sy> Stepper for Euler<Sy, f64> where
Sy: ODE<State = f64> + 'static,impl<D, S, P: ZipMarker> Stepper for Euler<S, P> where
S: ODE<State = P> + 'static,
P: Clone,
D: Dimension,
&'a P: IntoNdProducer<Dim = D, Item = &'a f64>,
&'a mut P: IntoNdProducer<Dim = D, Item = &'a mut f64>,impl<Sy> Stepper for Heun<Sy, f64> where
Sy: ODE<State = f64> + 'static,impl<D, S, P: ZipMarker> Stepper for Heun<S, P> where
S: ODE<State = P> + 'static,
P: Clone,
D: Dimension,
&'a P: IntoNdProducer<Dim = D, Item = &'a f64>,
&'a mut P: IntoNdProducer<Dim = D, Item = &'a mut f64>,impl<Sy> Stepper for RungeKutta4<Sy, f64> where
Sy: ODE<State = f64> + 'static,impl<D, S, P: ZipMarker> Stepper for RungeKutta4<S, P> where
S: ODE<State = P> + 'static,
P: Clone,
D: Dimension,
&'a P: IntoNdProducer<Dim = D, Item = &'a f64>,
&'a mut P: IntoNdProducer<Dim = D, Item = &'a mut f64>,