PETSc/TAO Users ManualΒΆ
Argonne National Laboratory
Mathematics and Computer Science Division
Prepared by
S. Balay 1, S. Abhyankar 1,2, M. Adams 3, J. Brown 1,10, P. Brune 1, K. Buschelman 1, E. Constantinescu 1, L. Dalcin 4, A. Denchfield 1, A. Dener 1, V. Eijkhout 6, W. Gropp 1, D. Karpeyev 1, D. Kaushik 1, M. Knepley 1,9, D. May 7, L. Curfman McInnes 1, R. Mills 1, T. Munson 1, K. Rupp 1, P. Sanan 1,8, B. Smith 1, H. Suh 1, S. Zampini 4, H. Zhang 1,5, and H. Zhang 1
1Mathematics and Computer Science Division, Argonne National Laboratory
2Electricity Infrastructure and Buildings Division, Pacific Northwest National Laboratory
3Computational Research, Lawrence Berkeley National Laboratory
4Extreme Computing Research Center, King Abdullah University of Science and Technology
5Department of Computer Science, Illinois Institute of Technology
6Texas Advanced Computing Center, University of Texas at Austin
7Department of Earth Sciences, University of Oxford
8Institute of Geophysics, ETH Zurich
9Department of Computer Science and Engineering, University at Buffalo
10Department of Computer Science, University of Colorado, Boulder
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
- 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
- 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
- Emacs Users
- VS 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