SUNDIALS

The SUNDIALS library of time integrators and nonlinear solvers provides robust and efficient numerical methods for ordinary differential equations (ODEs), differential-algebraic equations (DAEs), and nonlinear algebraic systems. SUNDIALS is freely available and developed on GitHub.

SUNDIALS is comprised of following packages:

  • ARKODE, a solver with one-step methods for stiff, nonstiff, mixed stiff-nonstiff, and multirate ODE systems.

  • CVODE, a solver with Adams and BDF methods for stiff and nonstiff ODE systems.

  • CVODES, an extension of CVODE with forward and adjoint sensitivity analysis capabilities for stiff and nonstiff ODE systems.

  • IDA, a solver with BDF methods for DAE systems.

  • IDAS, an extension of IDA with forward and adjoint sensitivity analysis capabilities for DAE systems.

  • KINSOL, a solver for nonlinear algebraic systems.

The SUNDIALS packages share many components and are organized as a family built on a common infrastructure including abstract interfaces for vectors, matrices, and algebraic solvers. Several implementations of these interfaces are provided with SUNDIALS supporting a range of parallel computing paradigms including shared-memory, distributed memory, and GPU computing.

Citing

We ask users of SUNDIALS to cite the following papers in any publications reporting work done with SUNDIALS:

@article{gardner2022sundials,
  title     = {Enabling new flexibility in the {SUNDIALS} suite of nonlinear and differential/algebraic equation solvers},
  author    = {Gardner, David J and Reynolds, Daniel R and Woodward, Carol S and Balos, Cody J},
  journal   = {ACM Transactions on Mathematical Software (TOMS)},
  publisher = {ACM},
  volume    = {48},
  number    = {3},
  pages     = {1--24},
  year      = {2022},
  doi       = {10.1145/3539801}
}
@article{hindmarsh2005sundials,
  title     = {{SUNDIALS}: Suite of nonlinear and differential/algebraic equation solvers},
  author    = {Hindmarsh, Alan C and Brown, Peter N and Grant, Keith E and Lee, Steven L and Serban, Radu and Shumaker, Dan E and Woodward, Carol S},
  journal   = {ACM Transactions on Mathematical Software (TOMS)},
  publisher = {ACM},
  volume    = {31},
  number    = {3},
  pages     = {363--396},
  year      = {2005},
  doi       = {10.1145/1089014.1089020}
}

If any GPU features of SUNDIALS were utilized, please also cite:

@article{balos2021enabling,
  title     = {{Enabling GPU accelerated computing in the SUNDIALS time integration library}},
  author    = {Balos, Cody J and Gardner, David J and Woodward, Carol S and Reynolds, Daniel R},
  journal   = {Parallel Computing},
  publisher = {Elsevier},
  volume    = {108},
  pages     = {102836},
  year      = {2021},
  doi       = {10.1016/j.parco.2021.102836}
}

When using the ARKODE package from SUNDIALS, please also cite:

@article{reynolds2023arkode,
  title   = {{ARKODE: A flexible IVP solver infrastructure for one-step methods}},
  author  = {Reynolds, Daniel R and Gardner, David J and Woodward, Carol S and Chinomona, Rujeko},
  journal = {ACM Transactions on Mathematical Software},
  volume  = {49},
  number  = {2},
  pages   = {1--26},
  year    = {2023},
  doi     = {10.1145/3594632}
}

We also ask that users cite the documentation for the package and version that they are using rather than the combined SUNDIALS online guide:

@Misc{arkodeDocumentation,
   author       = {Daniel R. Reynolds and David J. Gardner and Carol S. Woodward, Rujeko Chinomona and Cody J. Balos},
   title        = {User Documentation for ARKODE},
   year         = {2024},
   note         = {v6.1.0},
   url          = {https://sundials.readthedocs.io/en/latest/arkode},
   howpublished = {url{https://sundials.readthedocs.io/en/latest/arkode}}
}
@Misc{cvodeDocumentation,
   author       = {Alan C. Hindmarsh and Radu Serban and Cody J. Balos and David J. Gardner and Daniel R. Reynolds and Carol S. Woodward},
   title        = {User Documentation for CVODE},
   year         = {2024},
   note         = {v7.1.0},
   url          = {https://sundials.readthedocs.io/en/latest/cvode},
   howpublished = {url{https://sundials.readthedocs.io/en/latest/cvode}}
}
@Misc{cvodesDocumentation,
   author       = {Alan C. Hindmarsh and Radu Serban and Cody J. Balos and David J. Gardner and Daniel R. Reynolds and Carol S. Woodward},
   title        = {User Documentation for CVODES},
   year         = {2024},
   note         = {v7.1.0},
   url          = {https://sundials.readthedocs.io/en/latest/cvodes},
   howpublished = {url{https://sundials.readthedocs.io/en/latest/cvodes}}
}
@Misc{idaDocumentation,
   author       = {Alan C. Hindmarsh and Radu Serban and Cody J. Balos and David J. Gardner and Daniel R. Reynolds and Carol S. Woodward},
   title        = {User Documentation for IDA},
   year         = {2024},
   note         = {v7.1.0},
   url          = {https://sundials.readthedocs.io/en/latest/ida},
   howpublished = {url{https://sundials.readthedocs.io/en/latest/ida}}
}
@Misc{idasDocumentation,
   author       = {Radu Serban and Cosmin Petra and Alan C. Hindmarsh and Cody J. Balos and David J. Gardner and Daniel R. Reynolds and Carol S. Woodward},
   title        = {User Documentation for IDAS},
   year         = {2024},
   note         = {v6.1.0},
   url          = {https://sundials.readthedocs.io/en/latest/idas},
   howpublished = {url{https://sundials.readthedocs.io/en/latest/idas}}
}
@Misc{kinsolDocumentation,
   author       = {Alan C. Hindmarsh and Radu Serban and Cody J. Balos and David J. Gardner and Daniel R. Reynolds and Carol S. Woodward},
   title        = {User Documentation for KINSOL},
   year         = {2024},
   note         = {v7.1.0},
   url          = {https://sundials.readthedocs.io/en/latest/kinsol},
   howpublished = {url{https://sundials.readthedocs.io/en/latest/kinsol}}
}

Contributors

The SUNDIALS library has been developed over many years by a number of contributors. The current SUNDIALS team consists of Cody J. Balos, David J. Gardner, Alan C. Hindmarsh, Daniel R. Reynolds, and Carol S. Woodward. We thank Radu Serban for significant and critical past contributions.

Other contributors to SUNDIALS include: James Almgren-Bell, Lawrence E. Banks, Peter N. Brown, George Byrne, Rujeko Chinomona, Scott D. Cohen, Aaron Collier, Keith E. Grant, Steven L. Lee, Shelby L. Lockhart, John Loffeld, Daniel McGreer, Yu Pan, Slaven Peles, Cosmin Petra, Steven B. Roberts, H. Hunter Schwartz, Jean M. Sexton, Dan Shumaker, Steve G. Smith, Shahbaj Sohal, Allan G. Taylor, Hilari C. Tiedeman, Chris White, Ting Yan, and Ulrike M. Yang.

SUNDIALS License and Notices

All SUNDIALS packages are released open source, under the BSD 3-Clause license. The only requirements of the license are preservation of copyright and a standard disclaimer of liability. The full text of the license and an additional notice are provided below and may also be found in the LICENSE and NOTICE files provided with all SUNDIALS packages.

Note

If you are using SUNDIALS with any third party libraries linked in (e.g., LAPACK, KLU, SuperLU_MT, PETSc, or hypre), be sure to review the respective license of the package as that license may have more restrictive terms than the SUNDIALS license. For example, if someone builds SUNDIALS with a statically linked KLU, the build is subject to terms of the more-restrictive LGPL license (which is what KLU is released with) and not the SUNDIALS BSD license anymore.

BSD 3-Clause License

Copyright (c) 2002-2024, Lawrence Livermore National Security and Southern Methodist University.

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ‘’AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Additional Notice

This work was produced under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344.

This work was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor Lawrence Livermore National Security, LLC, nor any of their employees makes any warranty, expressed or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights.

Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or Lawrence Livermore National Security, LLC.

The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or Lawrence Livermore National Security, LLC, and shall not be used for advertising or product endorsement purposes.

SUNDIALS Release Numbers

LLNL-CODE-667205 (ARKODE)

UCRL-CODE-155951 (CVODE)

UCRL-CODE-155950 (CVODES)

UCRL-CODE-155952 (IDA)

UCRL-CODE-237203 (IDAS)

LLNL-CODE-665877 (KINSOL)