MyNixOS website logo
Description

Wrapper for 'SUNDIALS' Solving ODE and Sensitivity Problem.

Wrapper for widely used 'SUNDIALS' software (SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers) and more precisely to its 'CVODES' solver. It is aiming to solve ordinary differential equations (ODE) and optionally pending forward sensitivity problem. The wrapper is made 'R' friendly by allowing to pass custom parameters to user's callback functions. Such functions can be both written in 'R' and in 'C++' ('RcppArmadillo' flavor). In case of 'C++', performance is greatly improved so this option is highly advisable when performance matters. If provided, Jacobian matrix can be calculated either in dense or sparse format. In the latter case 'rmumps' package is used to solve corresponding linear systems. Root finding and pending event management are optional and can be specified as 'R' or 'C++' functions too. This makes them a very flexible tool for controlling the ODE system during the time course simulation. 'SUNDIALS' library was published in Hindmarsh et al. (2005) <doi:10.1145/1089014.1089020>.

CVODES

Version 5.0.0 (Oct 2019)

Alan C. Hindmarsh and Radu Serban
Center for Applied Scientific Computing, LLNL

CVODES is a package for the solution of stiff and nonstiff ordinary differential equation (ODE) systems (initial value problem) given in explicit form

dy/dt = f(t,y,p), y(t0) = y0(p)

with sensitivity analysis capabilities (both forward and adjoint modes). CVODES provides a choice of two variable-order, variable-coefficient multistep methods, Adams-Moulton methods for non-stiff problems or BDF (Backward Differentiation Formula) methods in fixed-leading-coefficient form for stiff problems.

CVODES is part of the SUNDIALS Suite of Nonlinear and Differential/Algebraic equation Solvers which consists of ARKode, CVODE, CVODES, IDA, IDAS and KINSOL. It is written in ANSI standard C and can be used in a variety of computing environments including serial, shared memory, distributed memory, and accelerator-based (e.g., GPU) systems. This flexibility is obtained from a modular design that leverages the shared vector, matrix, linear solver, and nonlinear solver APIs used across SUNDIALS packages.

Documentation

See the CVODES User Guide and CVODES Examples document for more information about CVODES usage and the provided example programs respectively.

Installation

For installation instructions see the INSTALL_GUIDE or the "Installation Procedure" chapter in the CVODES User Guide.

Release History

Information on recent changes to CVODES can be found in the "Introduction" chapter of the CVODES User Guide and a complete release history is available in the "SUNDIALS Release History" appendix of the CVODES User Guide.

References

  • A. C. Hindmarsh and R. Serban, "User Documentation for CVODES v5.0.0," LLNL technical report UCRL-SM-208111, Oct 2019.

  • A. C. Hindmarsh and R. Serban, "Example Programs for CVODES v5.0.0," LLNL technical report UCRL-SM-208115, Oct 2019.

  • R. Serban and A. C. Hindmarsh, "CVODES: the Sensitivity-Enabled ODE solver in SUNDIALS," Proceedings of IDETC/CIE 2005, Sept. 2005, Long Beach, CA.

  • A. C. Hindmarsh, P. N. Brown, K. E. Grant, S. L. Lee, R. Serban, D. E. Shumaker, and C. S. Woodward, "SUNDIALS, Suite of Nonlinear and Differential/Algebraic Equation Solvers," ACM Trans. Math. Softw., 31(3), pp. 363-396, 2005.

Metadata

Version

6.5.0-5

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows