package zelus

  1. Overview
  2. Docs
type (!'a, !'b) solver = ('a, 'b) Node_base.Make(Solvers.Ode45)(Illinois).solver =
  1. | Init
  2. | Running of ('a, 'b) solver_state
and (!'a, !'b) solver_state = ('a, 'b) Node_base.Make(Solvers.Ode45)(Illinois).solver_state = {
  1. zstate : Illinois.t;
  2. sstate : Solvers.Ode45.t;
  3. roots : Ztypes.zinvec;
  4. nvec : Solvers.Ode45.nvec;
  5. cvec : Ztypes.cvec;
  6. mutable t_start : float;
  7. mutable t_limit : float;
  8. mutable t_mesh : float;
  9. mutable t_time : float;
  10. minput : 'a Stdlib.ref;
  11. mutable output : 'b;
  12. mutable next : simulation_state;
}
and simulation_state = Node_base.Make(Solvers.Ode45)(Illinois).simulation_state =
  1. | Integrate
  2. | Discrete of bool
  3. | End
type (!'a, !'b) state = ('a, 'b) Node_base.Make(Solvers.Ode45)(Illinois).state = {
  1. state : 'a;
  2. mutable solver : 'b;
}
val add_margin : float -> float
val solve : (Ztypes.cstate -> (Ztypes.time * 'a, 'b) Ztypes.node) -> float -> (float * 'a, 'b Node_base.return) Ztypes.node