SUNDIALS was awarded the 2023 SIAM/ACM Prize in Computational Science and Engineering. Read more at LLNL News.
SUNDIALS is a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. It consists of the following six packages: CVODE, solves initial value problems for ordinary differential equation (ODE) systems; CVODES, solves ODE systems and includes sensitivity analysis capabilities (forward and adjoint); ARKODE, solves initial value ODE problems with additive Runge-Kutta methods, include support for IMEX methods; IDA, solves initial value problems for differential-algebraic equation (DAE) systems; IDAS, solves DAE systems and includes sensitivity analysis capabilities (forward and adjoint); KINSOL, solves nonlinear algebraic systems.
SUNDIALS is implemented with the goal of providing robust time integrators and nonlinear solvers that can easily be incorporated into existing simulation codes. The primary design goals are to require minimal information from the user, allow users to easily supply their own data structures underneath the packages, and allow for easy incorporation of user-supplied linear solvers and preconditioners.
The main numerical operations performed in these codes are linear algebra operations (norms, dot products, linear solves etc.), and the codes have been written in terms of these. The result of this design is that users can relatively easily provide their own vector and matrix (if applicable) data structures to the solvers by telling the solver about their structures and providing the required operations on them. All parallelism is contained within the linear algebra operations and problem defining functions provided by the user. No other operations within the packages require knowledge of parallelism. Hence, we do not make a distinction between parallel and serial versions of the codes.
SUNDIALS comes with several vector and matrix data structures as well as nonlinear and linear solver implementations that can be leveraged by users who do not wish to provide their own. These data structures and solvers span a wide range of computing paradigms including shared-memory and distributed memory parallelism and GPU computing. For more details on the six SUNDIALS packages, see the links in the table below.
Package | Purpose |
---|---|
CVODE | solves initial value problems for ordinary differential equation (ODE) systems. |
CVODES | solves ODE systems and includes sensitivity analysis capabilities (forward and adjoint). |
ARKODE | solves initial value ODE problems with additive Runge-Kutta methods, including support for IMEX methods. |
IDA | solves initial value problems for differential-algebraic equation (DAE) systems. |
IDAS | solves DAE systems and includes sensitivity analysis capabilities (forward and adjoint). |
KINSOL | solves nonlinear algebraic systems. |