sundialsml

AuthorsTimothy Bourke <tim@tbrk.org>, Jun Inoue <Jun.Lambda@gmail.com> and Marc Pouzet <Marc.Pouzet@ens.fr>
LicenseBSD3
Homepagehttp://inria-parkas.github.io/sundialsml/
Issue Trackerhttps://github.com/inria-parkas/sundialsml/issues
Tagsnumerical, simulation, mathematics and science
Maintainertim@tbrk.org
Dependencies
&base-bigarray
ocamlfind
Optional dependencies
mpi
Availableocaml-version >= "3.12.1"
PublishedDec 6, 2016
Source [http] https://github.com/inria-parkas/sundialsml/archive/v2.7.0p0.zip
bf22a8235c5ba25e4c3e5428ca876dbb
StatisticsInstalled 2 times last month.
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/sundialsml/sundialsml.2.7.0p0/opam

Sundials/ML is an interface to the Sundials suite of numerical solvers.

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 and PETSC nvectors.

The structure of the OCaml interface mostly follows that of the original library, both for ease of reading the existing documentation and for converting existing source code, but several changes have been made for programming convenience and to increase safety, namely:

  • solver sessions are mostly configured via algebraic data types rather than multiple function calls;

  • errors are signalled by exceptions not return codes (also from user-supplied callback routines);

  • user data is shared between callback routines via closures (partial applications of functions);

  • vectors are checked for compatibility with a session (using a combination of static and dynamic checks), and;

  • explicit free commands are not necessary since OCaml is a garbage-collected language.

The OCaml documentation contains extensive cross-links to the original documentation. OCaml versions of the standard examples usually have an overhead of about 30% compared to the original C versions, and almost never more than 50%.

No package is dependent