1 2 3 4 5 6 7 8 9 10 11 12
use ndarray::{RcArray, Dimension}; /// calculate right hand side (rhs) of equation of motion from current state pub trait EOM<D: Dimension> { fn rhs(&self, RcArray<f64, D>) -> RcArray<f64, D>; } /// calculate next step by integrating the equation of motion pub trait TimeEvolution<D: Dimension> { fn iterate(&self, RcArray<f64, D>) -> RcArray<f64, D>; }