Trait eom::TimeEvolution

source ·
pub trait TimeEvolution: ModelSpec + TimeStep {
    // Required method
    fn iterate<'a, S>(
        &mut self,
        x: &'a mut ArrayBase<S, Self::Dim>
    ) -> &'a mut ArrayBase<S, Self::Dim>
       where S: DataMut<Elem = Self::Scalar>;

    // Provided method
    fn iterate_n<'a, S>(
        &mut self,
        a: &'a mut ArrayBase<S, Self::Dim>,
        n: usize
    ) -> &'a mut ArrayBase<S, Self::Dim>
       where S: DataMut<Elem = Self::Scalar> { ... }
}
Expand description

Time-evolution operator

Required Methods§

source

fn iterate<'a, S>( &mut self, x: &'a mut ArrayBase<S, Self::Dim> ) -> &'a mut ArrayBase<S, Self::Dim>where S: DataMut<Elem = Self::Scalar>,

calculate next step

Provided Methods§

source

fn iterate_n<'a, S>( &mut self, a: &'a mut ArrayBase<S, Self::Dim>, n: usize ) -> &'a mut ArrayBase<S, Self::Dim>where S: DataMut<Elem = Self::Scalar>,

calculate n-step

Implementors§