We appreciate hearing about uses of SUNDIALS. If you’ve used SUNDIALS, drop us a line and let us know. Feel free to send citations to publications or graphics for our list.
SUNDIALS is included in Third Party Library Distributions
AMP – advanced multiphysics package (ORNL)
- Provides interoperability between SUNDIALS, PETSc, Trilinos, hypre, SAMRAI, MOAB, and many other numerical and system libraries
- Includes SUNDIALS with description here.
- Includes older versions of SUNDIALS, installed on many Cray supercomputers
- Includes SUNDIALS for MacOS.
- Includes SUNDIALS for Windows computers.
Users & Uses
AMICI – Advanced Multi-language Interface to CVODES and IDAS
- Provides MATLAB, C++, and Python interfaces to CVODES and IDAS for systems biology
AMPERES – a 3D battery simulator built on AMP at ORNL
AMReX software framework for massively parallel, block-structured adaptive mesh refinement (AMR) applications.
- Uses CVODE for integrating chemistry in SIMD mode
Assimulo – a python package providing numerous ODE and DAE integrators
- Wraps CVODE and IDA
Cantera – chemical kinetics, thermodynamics, and transport processes
- CVODES used for simulating chemical reactor networks, with a particular emphasis on the stiff equations arising from combustion problems such as autoignition, and calculating sensitivities with respect to the reaction rates.
- Uses SUNDIALS (CVODES, IDAS, and KINSOL) as back-end solvers for dynamic optimization
- Uses IDA in the simulation of general adsorption systems
DifferentialEquations.jl – a comprehensive suite for solving differential equations in Julia
- This package sits in the middle of the JuliaDiffEq GitHub Organization by providing a common interface to all the solvers in the ecosystem. This ecosystem connects all the component solvers to easy plotting, parameter estimation, sensitivity analysis, benchmarking, etc. tools.
GridDyn at LLNL
- Uses IDA and KINSOL for transmission power grid simulations
MFEM – a mixed finite element package
- Includes interfaces to SUNDIALS for both solving systems of ODEs and for solving nonlinear algebraic systems.
- Uses CVODE/CVODES for spacecraft trajectory simulations
Neuron – simulations of neurons and networks of neurons
- Use CVODE to solve stiff ODEs on a finite element mesh to solve for dynamics of magnetism at the nanoscale
Novadiscovery in silico medicine
- uses CVODE for the simulation of ODE systems arising from networks of biochemical reactions through the hmatrix-sundials library which implements bindings to Haskell.
- All ODE solving is done on top of SUNDIALS, from the calculus of the cosmological distances to the thermodynamics of recombination and the Boltzmann code for cosmological perturbations.
- scikit for ordinary differential and algebraic equations, an extension to scipy
ParaDiS at LLNL
- uses KINSOL and ARKode for solving large-scale dislocation dynamics problems
- uses IDA and KINSOL in power grid simulations
- uses KINSOL to solve nonlinear systems in subsurface flow and subsurface flow coupled with overland flow
ParScale – tool for intra-particle transport modelling (Stefan Radl at Graz University of Technology, Austria)
- uses CVODE as the integrator for ParScale tool for models of intra-particle transport.
- these models can be coupled to the simulation platform "CFDEM".
- these systems enable full-physics simulations of reactive disperse multiphase flows.
- Scilab interface to SUNDIALS developed by Stéphane Mottelet.
- Besides the ease of being able to use the SUNDIALS machinery from one place with a script language, some features of the Scilab SUNDIALS interface are the use of ColPack algorithms to approximate sparse Jacobians given their sparsity pattern, the possibilities of solvers to consider complex/not real problems and to output solution interpolators which can be used as usual functions. Existing SUNDIALS RHS C code can also be interfaced to Scilab by dynamic link (examples are provided).
- Includes a Python wrap of SUNDIALS
- is a Julia package that provides an interface to SUNDIALS
- developed by Inria PARKAS research group is an OCaml interface to the entire SUNDIALS suite except for the hypre and PETSC nvectors. It allows the Sundials solvers to be used from programs written in OCaml. This interface is described in a recent workshop paper.
Wasora – an advanced suite for optimization and reactor analysis
- uses IDA for solving DAEs
The Lorenz Chaotic System
Newton, Lagrange & Hamilton
The double pendulum
The chaotic Lorenzian waterwheel
The vertical boiling channel
- provides an NDSolve interface to IDA for the numerical solution of DAEs.
- builds on Sundials/ML (and by extension SUNDIALS) and is a synchronous language extended with Ordinary Differential Equations (ODEs) to model systems with complex interaction between discrete-time and continuous-time dynamics. It is described in this paper.
- "I used KINSOL in a reactive transport (geochemistry) code, to simulate (very simplified) models of CO2 storage. We implemented a Newton-Krylov in matrix free mode on top of the finite element code LifeV. KINSOL was used to couple a transport code (advection diffusion) with a chemical equilibrium code. Being Jacobian free meant that we could keep both modules mostly separate."
- "[I used] CVODE successfully at my last job where we built systems biology models which are often quite stiff in nature."