pub trait ODE<E: Environment> {
type Records;
type Param;
type ODEMethod;
fn mut_update(&mut self);
fn integrate(&mut self) -> Self::Records;
fn set_initial_condition<T: Real>(&mut self, init: State<T>) -> &mut Self;
fn set_boundary_condition<T: Real>(
&mut self,
bound1: (State<T>, BoundaryCondition),
bound2: (State<T>, BoundaryCondition)
) -> &mut Self;
fn set_step_size(&mut self, dt: f64) -> &mut Self;
fn set_method(&mut self, method: Self::ODEMethod) -> &mut Self;
fn set_stop_condition(&mut self, f: fn(_: &Self) -> bool) -> &mut Self;
fn set_times(&mut self, n: usize) -> &mut Self;
fn check_enough(&self) -> bool;
fn set_env(&mut self, env: E) -> &mut Self;
}
Expand description
ODE solver
Records
: Type of container to contain resultsParam
: Type of parameterODEMethod
: Explicit or Implicit