User-Guide#
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, J. Faibussowitsch 1,18, W. D. Gropp 1,18, V. Hapla 8, T. Isaac 1,14, P. Jolivet 12,22, D. Karpeev 1, D. Kaushik 1, M. G. Knepley 1,9, F. Kong 1,11, S. Kruger 15, D. A. May 7,21, L. Curfman McInnes 1, R. Tran Mills 1, L. Mitchell 13,20, T. Munson 1, J. E. Roman 16, K. Rupp 1,19, P. Sanan 1,8, J. Sarich 1, B. F. Smith 1,17, H. Suh 1, S. Zampini 4, H. Zhang 1,5, H. Zhang 1, and J. Zhang 1
1 Mathematics and Computer Science Division, Argonne National Laboratory
2 Electricity Infrastructure and Buildings Division, Pacific Northwest National Laboratory
3 Computational Research, Lawrence Berkeley National Laboratory
4 Extreme Computing Research Center, King Abdullah University of Science and Technology
5 Department of Computer Science, Illinois Institute of Technology
6 Texas Advanced Computing Center, University of Texas at Austin
7 Department of Earth Sciences, University of Oxford
8 Institute of Geophysics, ETH Zurich
9 Department of Computer Science and Engineering, University at Buffalo
10 Department of Computer Science, University of Colorado, Boulder
11 Computational Frameworks, Idaho National Laboratory
12 Sorbonne Université, CNRS, LIP6
13 NVIDIA Corporation
14 College of Computing, Georgia Tech
15 Tech-X Corporation
16 DSIC, Universitat Politècnica de València
17 Flatiron Institute, Simons Foundation
18 University of Illinois, Urbana-Champaign
19 Institute for Microelectronics, TU Wien
20 Department of Computer Science, Durham University
21 Scripps Institution of Oceanography, University of California, San Diego
22 Toulouse INP, CNRS, Institute of Computer Science Research
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
- The Solvers in 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
- IMEX Methods for fast-slow systems
- 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 element mass matrices
- Performing sensitivity analysis with the TS ODE Solvers
- Using Sundials from PETSc
- Using TChem from PETSc
- Solving Steady-State Problems with Pseudo-Timestepping
- TAO: Optimization Solvers
- DM: Interfacing Between Solvers and Models/Discretizations
- Additional Information
- PETSc for Fortran Users
- Checking the PETSc version
- Using MATLAB with PETSc
- Profiling
- Hints for Performance Tuning
- STREAMS: Example Study
- The Use of BLAS and LAPACK in PETSc and external libraries
- Other PETSc Features
- Developer Environments
- Advanced Features of Matrices and Solvers
- Running PETSc Tests