ODE Generation and Integration

Generate systems of ordinary differential equations (ODE) and integrate them, using a domain specific language (DSL). The DSL uses R's syntax, but compiles to C in order to efficiently solve the system. A solver is not provided, but instead interfaces to the packages 'deSolve' and 'dde' are generated. With these, while solving the differential equations, no allocations are done and the calculations remain entirely in compiled code. Alternatively, a model can be transpiled to R for use in contexts where a C compiler is not present. After compilation, models can be inspected to return information about parameters and outputs, or intermediate values after calculations. 'odin' is not targeted at any particular domain and is suitable for any system that can be expressed primarily as mathematical expressions. Additional support is provided for working with delays (delay differential equations, DDE), using interpolated functions during interpolation, and for integrating quantities that represent arrays.


Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


1.2.1 by Rich FitzJohn, 6 months ago


Report a bug at https://github.com/mrc-ide/odin/issues

Browse source code at https://github.com/cran/odin

Authors: Rich FitzJohn [aut, cre] , Thibaut Jombart [ctb] , Imperial College of Science , Technology and Medicine [cph]

Documentation:   PDF Manual  

MIT + file LICENSE license

Imports R6, cinterpolate, deSolve, digest, glue, jsonlite, ring, withr

Suggests dde, jsonvalidate, knitr, mockery, pkgbuild, pkgload, rlang, rmarkdown, testthat

See at CRAN