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.
|Imports:||R6, cinterpolate (≥ 1.0.0), deSolve, digest, glue, jsonlite, ring, withr|
|Suggests:||dde (≥ 1.0.0), jsonvalidate (≥ 1.1.0), knitr, mockery, pkgbuild, pkgload, rlang, rmarkdown, testthat|
|Author:||Rich FitzJohn [aut, cre], Thibaut Jombart [ctb], Imperial College of Science, Technology and Medicine [cph]|
|Maintainer:||Rich FitzJohn <rich.fitzjohn at gmail.com>|
|License:||MIT + file LICENSE|
|In views:||DifferentialEquations, Epidemiology|
|CRAN checks:||odin results|
odin discrete models
|Windows binaries:||r-devel: odin_1.2.5.zip, r-release: odin_1.2.5.zip, r-oldrel: odin_1.2.5.zip|
|macOS binaries:||r-release (arm64): odin_1.2.5.tgz, r-oldrel (arm64): odin_1.2.5.tgz, r-release (x86_64): odin_1.2.5.tgz, r-oldrel (x86_64): odin_1.2.5.tgz|
|Old sources:||odin archive|
Please use the canonical form https://CRAN.R-project.org/package=odin to link to this page.