Sundials/ML is an interface to the Sundials suite of numerical solvers.
Full documentation is online.
Sundials is a collection of six numerical solvers: CVODE, CVODES, IDA, IDAS, ARKODE, and KINSOL. This interface provides access to all features of the underlying library except the Hypre, PETSC, CUDA, RAJA, and OpenMPdev nvectors (since these require other libraries that are not yet interfaced for OCaml).
See our detailed notes, or try:
- Download Sundials, extract, and install it:
mkdir sundials-buildcd sundials-buildcmake -Wno-dev ../sundials-3.1.1, optionally adding:make install
- Either install from OPAM:
opam install sundialsml, or- Download Sundials/ML, extract, and install it:
./configuremakemake installormake install-findlib
- Start coding!
Our goal is to provide access from OCaml to as much of Sundials as we can. We do not, however, expose features for which there is no corresponding OCaml library (e.g., some of the nvector modules) or whose implementation would be overly complicated (e.g., in terms of types or mixed C/OCaml data structures) or inefficient.
- Unsupported nvector modules: CUDA, Hypre ParVector, PETSC, RAJA, and Trilinos (if you provide the required OCaml interface, we'll add the nvector).