package owl-ode

  1. Overview
  2. Docs
module Types : module type of Owl_ode_base.Types

The Types module provides some common types for Owl_ode ODEs integrators.

module Common : module type of Owl_ode_base.Common
module Ode : module type of Owl_ode_base.Ode
module Native : module type of Native
module Symplectic : module type of Symplectic

The Types module provides some common types for Owl_ode ODEs integrators. It is included in this module for convenience.

type tspec = Types.tspec =
  1. | T1 of {
    1. t0 : float;
    2. duration : float;
    3. dt : float;
    }
    (*

    The T1 constructor allow to specify the initial and final integration time, in the sense that the solver starts with t=t0 and integrates until it reaches t=t0+duration, and the timestep dt. This last parameter is ignored by the adaptive methods.

    *)
  2. | T2 of {
    1. tspan : float * float;
    2. dt : float;
    }
    (*

    The T2 constructor allow to specify a tuple (t0, tf) of the initial and final integration time, in the sense that the solver starts with t=t0 and integrates until it reaches t=tf, and the timestep dt. This last parameter is ignored by the adaptive methods.

    *)
  3. | T3 of float array
    (*

    The T3 constructor is currently unsupported and may change or disappear in the future.

    *)

Time specification for the ODE solvers.

module type Solver = Types.Solver

Any solver compatible with Owl_ode_base.Ode.odeint has to comply with the Solver type. You can use this to define completely new solvers, as done in the owl-ode-sundials, owl-ode-odepack or ocaml-cviode libraries, or to customize pre-existing solvers (see the van_der_pol example for one such cases).