-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
82 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
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 detailed OCaml documentation contains 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 only rarely | ||
more than 50%. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
opam-version: "1.2" | ||
name: "sundialsml" | ||
maintainer: "tim@tbrk.org" | ||
authors: [ | ||
"Timothy Bourke <tim@tbrk.org>" | ||
"Jun Inoue <Jun.Lambda@gmail.com>" | ||
"Marc Pouzet <Marc.Pouzet@ens.fr>" | ||
] | ||
homepage: "http://inria-parkas.github.io/sundialsml/" | ||
bug-reports: "https://github.com/inria-parkas/sundialsml/issues" | ||
dev-repo: "git://github.com/inria-parkas/sundialsml" | ||
doc: "http://inria-parkas.github.io/sundialsml/" | ||
tags: [ | ||
"numerical" | ||
"simulation" | ||
"mathematics" | ||
"science" | ||
] | ||
license: "BSD3" | ||
build: [ | ||
["./configure" "--stubdir=%{stublibs}%/" | ||
"--libdir=%{lib}%/" | ||
"--docdir=%{doc}%/"] | ||
] | ||
install: [ | ||
[make "install-findlib"] | ||
] | ||
build-doc: [ | ||
[make "doc"] | ||
[make "install-doc"] | ||
] | ||
remove: [["ocamlfind" "remove" "sundialsml"]] | ||
depends: [ | ||
"base-bigarray" | ||
"ocamlfind" {build} | ||
] | ||
depopts: [ | ||
"mpi" | ||
] | ||
depexts: [ | ||
[["debian"] ["libsundials-serial-dev"]] | ||
[["ubuntu"] ["libsundials-serial-dev"]] | ||
[["fedora"] ["lapack-devel" "sundials-devel"]] | ||
[["centos"] ["epel-release" "lapack-devel" "suitesparse-devel" | ||
"SuperLUMT-devel" "sundials-devel"]] | ||
[["osx" "homebrew"] ["sundials"]] | ||
[["osx" "macports"] ["sundials"]] | ||
] | ||
available: [ ocaml-version >= "4.02.3" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
archive: "https://github.com/inria-parkas/sundialsml/archive/v3.1.1p0.zip" | ||
checksum: "0c35080ac75baf6ce1cd9e5056f5e639" |