MultirateSystem

Trait MultirateSystem 

Source
pub trait MultirateSystem<F: IntegrateFloat> {
    // Required methods
    fn slow_rhs(
        &self,
        t: F,
        y_slow: ArrayView1<'_, F>,
        yfast: ArrayView1<'_, F>,
    ) -> Array1<F>;
    fn fast_rhs(
        &self,
        t: F,
        y_slow: ArrayView1<'_, F>,
        yfast: ArrayView1<'_, F>,
    ) -> Array1<F>;
    fn slow_dim(&self) -> usize;
    fn fast_dim(&self) -> usize;
}
Expand description

Multirate ODE system with fast and slow components

Required Methods§

Source

fn slow_rhs( &self, t: F, y_slow: ArrayView1<'_, F>, yfast: ArrayView1<'_, F>, ) -> Array1<F>

Evaluate slow component: dy_slow/dt = f_slow(t, y_slow, y_fast)

Source

fn fast_rhs( &self, t: F, y_slow: ArrayView1<'_, F>, yfast: ArrayView1<'_, F>, ) -> Array1<F>

Evaluate fast component: dy_fast/dt = f_fast(t, y_slow, y_fast)

Source

fn slow_dim(&self) -> usize

Get dimension of slow variables

Source

fn fast_dim(&self) -> usize

Get dimension of fast variables

Implementors§