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 | |
|---|---|
| Name | SUNDIALS |
| Developer | Lawrence Livermore National Laboratory; Sandia National Laboratories |
| Initial release | 2002 |
| Latest release | 2024 |
| Programming language | C (programming language), Fortran (programming language) |
| License | BSD licenses |
| Website | Argonne 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.
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.
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).
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.
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 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.
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.
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.