LLMpediaThe first transparent, open encyclopedia generated by LLMs

SUNDIALS

Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy

This article was accepted into the corpus but its outbound wikilinks were never NER-processed — typical at the deepest BFS hop or when the run's entity cap was reached. No expansion funnel to show.

SUNDIALS
NameSUNDIALS
DeveloperLawrence Livermore National Laboratory; Sandia National Laboratories
Initial release2002
Latest release2024
Programming languageC (programming language), Fortran (programming language)
LicenseBSD licenses
WebsiteArgonne National Laboratory

SUNDIALS is a suite of software libraries for solving systems of ordinary differential equations, differential-algebraic equations, and nonlinear systems used in scientific computing. It was created to support large-scale simulations in computational science and engineering and is integrated into frameworks for multiphysics modeling and high-performance computing. The project has influenced work in numerical linear algebra, time integration, and has been adopted by research groups at national laboratories, universities, and commercial firms.

Overview

SUNDIALS originated from collaborations among researchers at Lawrence Livermore National Laboratory, Sandia National Laboratories, and Los Alamos National Laboratory and was shaped by funding from Department of Energy (United States), with contributions from teams associated with University of California, Berkeley, Massachusetts Institute of Technology, and Stanford University. The libraries were designed to interoperate with ecosystems represented by PETSc, Trilinos, Hypre, and FFTW. SUNDIALS development parallels efforts in projects like BLAS, LAPACK, ScaLAPACK, and ARPACK and draws on algorithmic advances related to Backward Differentiation Formula, Runge–Kutta methods, and Newton's method. Community adoption spans institutions including Argonne National Laboratory, Oak Ridge National Laboratory, National Center for Atmospheric Research, NASA, and European Centre for Medium-Range Weather Forecasts.

Design and Components

SUNDIALS is composed of modular packages: solvers for initial value problems, adjoint sensitivity analysis, and nonlinear systems built around portable interfaces. Core components interconnect with libraries like MPI, OpenMP, and CUDA to target distributed-memory clusters and accelerators used at facilities such as Oak Ridge Leadership Computing Facility, Argonne Leadership Computing Facility, and National Energy Research Scientific Computing Center. The design reflects software-engineering practices from projects like Git, CMake, Autotools, and Continuous integration hosted on platforms similar to GitHub and GitLab. The modular architecture supports interoperability with language bindings such as Python (programming language), MATLAB, Julia (programming language), and R (programming language).

Numerical Methods and Algorithms

SUNDIALS implements implicit and explicit integrators employing methods related to Backward Differentiation Formula, Adams methods, and Runge–Kutta methods, with nonlinear solvers using variants of Newton's method and line-search strategies akin to techniques in Trust region (optimization). Linear solver interfaces support preconditioners inspired by Incomplete LU factorization, Algebraic multigrid, and Krylov subspace methods including GMRES, BiCGSTAB, and Conjugate gradient method. Sensitivity analysis capabilities use adjoint techniques comparable to approaches in Automatic differentiation and tangent-linear models used in 4D-Var. Time-stepping control mechanisms employ error-estimation strategies related to Richardson extrapolation and controllers used in ODEPACK and SUNDIALS-adjacent toolchains.

Implementation and APIs

APIs provide C-based interfaces with optional Fortran wrappers and language bindings resembling those in NumPy, SciPy, and PETSc4Py. The implementation follows portability patterns seen in POSIX, IEEE 754, and uses build systems like CMake with testing frameworks influenced by CTest and Valgrind. Data structures accommodate serial and parallel vectors and matrices analogous to abstractions in Eigen (software), Trilinos Epetra, and Boost (C++ libraries). Documentation and examples parallel styles used in publications from SIAM and journals such as Journal of Computational Physics.

Performance and Scalability

Performance engineering for SUNDIALS involves optimization techniques from BLIS, OpenBLAS, and vendor libraries such as Intel Math Kernel Library and AMD ROCm. Scalability studies reference machines like Summit (supercomputer), Fugaku, and Frontier (supercomputer), and use profiling tools such as gprof, perf (Linux), and TAU Performance System. Parallel scaling leverages programming models from MPI, OpenMP, CUDA, and SYCL to exploit CPU-GPU heterogeneous nodes at centers including Los Alamos National Laboratory and Lawrence Berkeley National Laboratory. Benchmarks often appear alongside comparisons to SLEPc and PETSc-based solvers.

Applications and Use Cases

SUNDIALS is used in computational fields represented by institutions like NASA Jet Propulsion Laboratory, European Space Agency, Johns Hopkins University, Princeton University, and California Institute of Technology for simulations in climate modeling, reactor physics, and computational fluid dynamics. Example applications include coupling to multiphysics platforms such as MOOSE framework, OpenFOAM, deal.II, and FEniCS Project and deployment in projects related to Weather Research and Forecasting Model, Community Earth System Model, and SeisSol. Industry users in companies like Siemens, General Electric, Schlumberger, and Boeing integrate SUNDIALS into workflows for design optimization and real-time simulation.

Development and Community

The SUNDIALS project is maintained by teams at Lawrence Livermore National Laboratory, Sandia National Laboratories, and Argonne National Laboratory with contributions from universities such as University of Illinois Urbana–Champaign, University of Michigan, University of Texas at Austin, and Cornell University. Governance and outreach align with practices seen in NumFOCUS and standards from IEEE and ISO. Training and dissemination occur through workshops at Supercomputing Conference, SIAM Conference on Computational Science and Engineering, and tutorials at USENIX-style venues. The community collaborates via issue trackers and mailing lists influenced by workflows used by projects like Linux kernel and Apache Software Foundation.

Category:Numerical analysis