PETSc for partial differential equations. Numerical solutions in C and Python.

*(English)*Zbl 07251247
Software - Environments - Tools 31. Philadelphia, PA: Society for Industrial and Applied Mathematics (SIAM) (ISBN 978-1-611976-30-4/pbk; 978-1-61197-631-1/ebook). xv, 391 p. (2021).

Preliminary review / Publisher’s description: The Portable, Extensible Toolkit for Scientific Computation (PETSc) is an open-source library of advanced data structures and methods for solving linear and nonlinear equations and for managing discretizations. This book uses these modern numerical tools to demonstrate how to solve nonlinear partial differential equations (PDEs) in parallel. It starts from key mathematical concepts, such as Krylov space methods, preconditioning, multigrid, and Newton’s method. In PETSc these components are composed at run time into fast solvers.
Discretizations are introduced from the beginning, with an emphasis on finite difference and finite element methodologies. The example C programs of the first 12 chapters, listed on the inside front cover, solve (mostly) elliptic and parabolic PDE problems. Discretization leads to large, sparse, and generally nonlinear systems of algebraic equations. For such problems, mathematical solver concepts are explained and illustrated through the examples, with sufficient context to speed further development.

PETSc for Partial Differential Equation

Python finite element solver library in the last two chapters.

PETSc for Partial Differential Equation

- ●
- addresses both discretization and fast solvers for PDEs;
- ●
- emphasizes practice more than theory;
- ●
- contains well-structured examples, with advice on run-time solver choices;
- ●
- demonstrates how to achieve high performance and parallel scalability; and
- ●
- builds on the reader’s understanding of fast solver concepts when applying the Firedrake

Python finite element solver library in the last two chapters.