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

Arch Linux Package Repository

  • Includes SUNDIALS with description here.

Cray Third Party Software Library (TPSL)

  • Includes older versions of SUNDIALS, installed on many Cray supercomputers

Homebrew

  • Includes SUNDIALS for MacOS.

Microsoft vcpkg

  • Includes SUNDIALS for Windows computers.

Fedora package repository

Spack – a package manager for supercomputers, Linux, and macOS.

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.

CasADi – a symbolic framework for algorithmic (a.k.a. automatic) differentiation and numeric optimization.

  • Uses SUNDIALS (CVODES, IDAS, and KINSOL) as back-end solvers for dynamic optimization

CySim Carbon Capture

  • 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.

NASA

  • Uses CVODE/CVODES for spacecraft trajectory simulations

Neuron – simulations of neurons and networks of neurons

Nmag and Magpar

  • 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.

NumCosmo

  • 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.

ODES

  • 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

RTE France

  • uses IDA and KINSOL in power grid simulations

ParFLOW

  • 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 - Scilab is a free and open source software for engineers & scientists, with a long history (first release in 1994) and a growing community (100, 000 downloads every months worldwide).

  • 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).

SciPy

  • Includes a Python wrap of SUNDIALS

Sundials.jl

  • is a Julia package that provides an interface to SUNDIALS

Sundials/ML

  • 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

Wolfram Language/Mathematica

Zélus

  • 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.

Individual users

  • "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."