September 2022 | DAVID J. GARDNER, DANIEL R. REYNOLDS, CAROL S. WOODWARD and CODY J. BALOS
The SUite of Nonlinear and DIfferential/ALgebraic equation Solvers (SUNDIALS) has been redesigned to enhance its flexibility and compatibility with application-specific and third-party algebraic solvers and data structures. The redesign adheres to specific guiding principles to minimize impact on current users while providing maximum flexibility for future evolution. Key changes include the addition of new linear and nonlinear solver classes, enhancements to the vector class, and the creation of modern Fortran interfaces. These changes allow SUNDIALS users to more easily utilize external solver libraries and create highly customized solvers, enabling greater flexibility on extreme-scale, heterogeneous computational architectures.
The article provides an overview of SUNDIALS packages, including CVODE, CVODES, IDA, IDAS, ARKODE, and KINSOL, and discusses the core SUNDIALS classes. It details the enhancements to the vector class, such as expanded vector operations and the addition of a "many-vector" implementation for combining independent vectors into a single object. The new SUNLinearSolver class streamlines the use of problem-specific and third-party linear solvers, while the SUNNonlinearSolver class provides an interface for supplying SUNDIALS integrators with problem-specific and third-party nonlinear solvers.
The redesign has been implemented behind-the-scenes with minimal changes to the user interface and no reduction in solver capabilities or performance. The article includes a demonstration problem to illustrate the ability for users to supply custom linear and nonlinear solvers, showing that the new infrastructure does not affect solver performance and allows for easy comparison of different solvers and integrators.The SUite of Nonlinear and DIfferential/ALgebraic equation Solvers (SUNDIALS) has been redesigned to enhance its flexibility and compatibility with application-specific and third-party algebraic solvers and data structures. The redesign adheres to specific guiding principles to minimize impact on current users while providing maximum flexibility for future evolution. Key changes include the addition of new linear and nonlinear solver classes, enhancements to the vector class, and the creation of modern Fortran interfaces. These changes allow SUNDIALS users to more easily utilize external solver libraries and create highly customized solvers, enabling greater flexibility on extreme-scale, heterogeneous computational architectures.
The article provides an overview of SUNDIALS packages, including CVODE, CVODES, IDA, IDAS, ARKODE, and KINSOL, and discusses the core SUNDIALS classes. It details the enhancements to the vector class, such as expanded vector operations and the addition of a "many-vector" implementation for combining independent vectors into a single object. The new SUNLinearSolver class streamlines the use of problem-specific and third-party linear solvers, while the SUNNonlinearSolver class provides an interface for supplying SUNDIALS integrators with problem-specific and third-party nonlinear solvers.
The redesign has been implemented behind-the-scenes with minimal changes to the user interface and no reduction in solver capabilities or performance. The article includes a demonstration problem to illustrate the ability for users to supply custom linear and nonlinear solvers, showing that the new infrastructure does not affect solver performance and allows for easy comparison of different solvers and integrators.