1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
//! Explicit ODE
use crate::algebra::linear::{Vector};

/// Explicit ODE algrithm interface
///
/// This trait has to be implemented by every ODE which shall be solved with
/// and explicit ODE solving algorithm.
pub trait ExplicitODE<T>
{
    fn func(self: &Self, t: &T, x: &Vector<T>) -> Vector<T>;
    fn time_span(self: &Self) -> (T, T);
    fn init_cond(self: &Self) -> Vector<T>;
}