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 7.2.1 (Dec 2024)

Alan C. Hindmarsh, Radu Serban, Cody J. Balos, David J. Gardner, and Carol S. Woodward, Center for Applied Scientific Computing, LLNL

Daniel R. Reynolds, Department of Mathematics, Southern Methodist University

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 documentation at Read the Docs for more information about CVODES usage.

Installation

For installation instructions see the SUNDIALS Installation 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, R. Serban, C. J. Balos, D. J. Gardner, D. R. Reynolds and C. S. Woodward, "User Documentation for CVODES v7.2.1," LLNL technical report UCRL-SM-208111, Dec 2024.

  • A. C. Hindmarsh and R. Serban, "Example Programs for CVODES v7.2.1," LLNL technical report UCRL-SM-208115, Dec 2024.

  • 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

7.2.1-3

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • 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