PETSc/TAO Users Manual#
Argonne National Laboratory
Mathematics and Computer Science Division
Prepared by
S. Balay 1, S. Abhyankar 1,2, M. F. Adams 3, S. Benson 1, J. Brown 1,10, P. Brune 1, K. Buschelman 1, E. M. Constantinescu 1, L. Dalcin 4, A. Dener 1, V. Eijkhout 6, W. D. Gropp 1, V. Hapla 8, T. Isaac 14, P. Jolivet 12, D. Karpeev 1, D. Kaushik 1, M. G. Knepley 1,9, F. Kong 1,11, S. Kruger 15, D. A. May 7, L. Curfman McInnes 1, R. Tran Mills 1, L. Mitchell 13, T. Munson 1, J. E. Roman 16, K. Rupp 1, P. Sanan 1,8, J. Sarich 1, B. F. Smith 17, S. Zampini 4, H. Zhang 1,5, H. Zhang 1, and J. Zhang 1
This work was supported by the Office of Advanced Scientific Computing Research, Office of Science, U.S. Department of Energy, under Contract DE-AC02-06CH11357.
- Introduction to PETSc
- Programming with PETSc/TAO
- Vectors and Parallel Data
- Matrices
- KSP: Linear System Solvers
- SNES: Nonlinear Solvers
- TS: Scalable ODE and DAE Solvers
- Basic TS Options
- DAE Formulations
- Using Implicit-Explicit (IMEX) Methods
- GLEE methods
- Using fully implicit methods
- Using the Explicit Runge-Kutta timestepper with variable timesteps
- Special Cases
- Monitoring and visualizing solutions
- Error control via variable time-stepping
- Handling of discontinuities
- Explicit integrators with finite flement mass matrices
- Using TChem from PETSc
- Using Sundials from PETSc
- Performing sensitivity analysis
- Solving Steady-State Problems with Pseudo-Timestepping
- TAO: Optimization Solvers
- High Level Support for Multigrid with KSPSetDM() and SNESSetDM()
- DMPlex: Unstructured Grids in PETSc
- PetscDT: Discretization Technology in PETSc
- PetscFE: Finite Element Infrastructure in PETSc
- Additional Information
- PETSc for Fortran Users
- Using MATLAB with PETSc
- Profiling
- Hints for Performance Tuning
- The Use of BLAS and LAPACK in PETSc and external libraries
- Other PETSc Features
- PETSc on a process subset
- Runtime Options
- Viewers: Looking at PETSc Objects
- Using SAWs with PETSc
- Debugging
- Error Handling
- Numbers
- Parallel Communication
- Graphics
- Developer Environments
- Emacs Users
- Visual Studio Code Users
- Vi and Vim Users
- Eclipse Users
- Qt Creator Users
- Visual Studio Users
- XCode Users (The Apple GUI Development System)
- Unimportant and Advanced Features of Matrices and Solvers
- Running PETSc Tests
- Acknowledgments