Skip to main content

Module ode

Module ode 

Source
Expand description

Dynamic dispatch ODE wrapper — the primary entry point for the dynamic dispatch API.

This module defines OdeWrapper, a thread-safe handle around an internal ODE solver. OdeWrapper erases the generic type parameters of the core diffsol solver (matrix type, codegen backend, linear solver, solver method) so that they can be chosen at runtime rather than compile time. The internal state is stored behind an Arc<Mutex<...>> for safe sharing across threads.

§Constructors

  • new_jit — JIT-compile DiffSL code (requires diffsl-cranelift or diffsl-llvm).
  • new_external — use statically linked pre-compiled DiffSL symbols (requires external).
  • new_external_dynamic — load pre-compiled DiffSL symbols from a shared library (requires diffsl-external-dynamic).

§Configuration

Tolerances: OdeWrapper::set_rtol, OdeWrapper::set_atol, OdeWrapper::set_t0, OdeWrapper::set_h0, OdeWrapper::set_integrate_out. Sensitivity tolerances: OdeWrapper::set_sens_rtol, OdeWrapper::set_sens_atol, OdeWrapper::set_out_rtol, OdeWrapper::set_out_atol, OdeWrapper::set_param_rtol, OdeWrapper::set_param_atol. Solver selection: OdeWrapper::set_ode_solver, OdeWrapper::set_linear_solver.

§Solving

§Low-level evaluation

§Serialization

OdeWrapper implements Serialize/Deserialize for JIT-backed solvers.

Structs§

Ode
OdeWrapper