cviode

Contact variational integrators - native ocaml version
README

This is a collection of geometric solvers for initial value problems derived from contact Lagrangians.
The provided solvers concern Lagrangians of the form

$$                                         
L(x, \dot{x}, z, t) = \frac12|\dot{x}|^2 + g_1(x)g_2(z) + h(z) + f(t)x
$$

For further information refer to Vermeeren, Bravetti, Seri: Contact Variational Integrators (2019).

Running the integrators on the damped oscillator with and without forcing (see example/damped.ml) produces the following output:

TODO

  • [ ] Add mli with documentation

  • [ ] Add implementation with support for $g_2(z)$ as per description

  • [ ] Figure out how to test

Install
Published
07 Oct 2020
Sources
cviode-0.0.4.tbz
sha256=89bf0d36db1951ba238f412d59065342f832f77968bbad688ab29e8420e88dba
sha512=1cc90434d167e7a22632aee1cc0273ce36293112a233503fdc428315713a5dadf834fa29ef90f48918fb19562b06c1ba8f2b601eed206f11388b95491e83d8b5
Dependencies
stdcompat
>= "7" & with-test
owl-plplot
with-test
owl-ode
>= "0.3.0" & < "0.4.0"
owl
>= "0.8.0" & < "0.9.0"
dune
>= "2.0.0"
ocaml
>= "4.06.0"
Reverse Dependencies