PETSc/TS: A Modern Scalable ODE/DAE Solver Library

Shrirang Abhyankar,Jed Brown,Emil M. Constantinescu,Debojyoti Ghosh,Barry F. Smith,Hong Zhang
DOI: https://doi.org/10.48550/arXiv.1806.01437
2018-06-05
Abstract:High-quality ordinary differential equation (ODE) solver libraries have a long history, going back to the 1970s. Over the past several years we have implemented, on top of the PETSc linear and nonlinear solver package, a new general-purpose, extensive, extensible library for solving ODEs and differential algebraic equations (DAEs). Package includes support for both forward and adjoint sensitivities that can be easily utilized by the TAO optimization package, which is also part of PETSc. The ODE/DAE integrator library strives to be highly scalable but also to deliver high efficiency for modest-sized problems. The library includes explicit solvers, implicit solvers, and a collection of implicit-explicit solvers, all with a common user interface and runtime selection of solver types, adaptive error control, and monitoring of solution progress. The library also offers enormous flexibility in selection of nonlinear and linear solvers, including the entire suite of PETSc iterative solvers, as well as several parallel direct solvers.
Numerical Analysis
What problem does this paper attempt to address?
The problem that this paper attempts to solve is to develop a modern and scalable ordinary differential equation (ODE) and differential - algebraic equation (DAE) solver library to meet the needs of modern scientific computing. Specifically, the paper aims to: 1. **Provide efficient ODE/DAE solvers**: Based on the PETSc linear and nonlinear solver packages, implement a new general - purpose, wide - ranging and scalable ODE and DAE solver library. These solvers are applicable not only to large - scale problems, but also can efficiently handle medium - scale problems. 2. **Support forward and adjoint sensitivity analysis**: The solver library supports forward and adjoint sensitivity analysis, and these functions can be conveniently combined with the TAO optimization package, thus providing support for optimization problems. 3. **Integrate multiple solution methods**: The library includes explicit solvers, implicit solvers and a series of implicit - explicit combined solvers, and all solvers have a unified user interface and runtime selection mechanism, including adaptive error control and solution progress monitoring. 4. **Flexibility and extensibility**: The solver library provides great flexibility, allowing users to choose different nonlinear and linear solvers, including all iterative solvers in PETSc and several parallel direct solvers. 5. **Adapt to changes in hardware and applications**: As simulation applications and computer hardware change, this library continuously evolves to adapt to new requirements and challenges. ### Formula Summary When describing the specific implementation of ODE and DAE solvers, the paper involves several key formulas, for example: - **Standard form of DAE**: \[ F(t, u, \dot{u}) = G(t, u), \quad u(t_0) = u_0 \] If the matrix \(F_{\dot{u}}(t)=\frac{\partial F}{\partial \dot{u}}\) is non - singular, then the equation is an ODE and can be converted to the standard explicit form \(\dot{u}=Q(t, u)\). - **Jacobian matrix in implicit time integrator**: \[ \frac{dF}{du_n}=\frac{\partial F}{\partial \dot{u}_n}\frac{\partial \dot{u}_n}{\partial u_n}+\frac{\partial F}{\partial u_n} \] For the backward Euler method, we have: \[ \dot{u}_n=\frac{u_n - u_{n - 1}}{\Delta t} \] Therefore, the Jacobian matrix is: \[ \frac{dF}{du_n}=\frac{1}{\Delta t}M - f_u(t, u_n) \] Through these improvements and designs, the paper aims to provide a powerful and flexible ODE/DAE solver library to meet the requirements for efficiency and scalability in modern scientific computing.