PETSc is a sophisticated package and fully understanding its usage requires time. However, application programmers can easily begin to use PETSc from a high level and then gradually learn more details according to their needs. Users should read the users manual before attempting to do any serious coding with PETSc!
- PETSc users manual - pdf (fully searchable with hyperlinks)
- TAO users manual - pdf (fully searchable with hyperlinks)
- Index of all help topics
- Index of all manual pages
- Strategies for using PETSc with Fortran
PETSc Manual Pages and Examples MPI
- Vector Operations (Vec)
-
Matrix Operations (Mat)
- Matrix colorings (MatColoring), orderings (MatOrdering), and partitionings (MatPartitioning)
- Finite difference computation of Jacobians (MatFD)
-
Data and grid management
- Star Forest Communication (PetscSF)
- Index sets (IS)
- Data Management (DM) between Vec and Mat, and the distributed mesh datastructures
- Structured Grids (DMDA)
- Staggered, Structured Grids (DMStag)
- Unstructured Grids (DMPlex)
- Graphs and Networks (DMNetwork)
- A Forest of Trees (DMFOREST)
- DMPATCH
- Particles (DMSWARM)
- DMMOAB
- Selecting Parts of Meshes (DMLABEL)
- Discretization Technology (DT)
- Application Orderings (AO)
-
Linear Solvers (KSP)
-
Nonlinear Solvers (SNES)
- Summary table of all nonlinear solvers
- Full Approximation Storage (FAS) nonlinear multigrid
- Matrix-free nonlinear solvers (MATMFFD)
- Time Stepping (TS) ODE solvers
-
Optimization Solvers (Tao)
- Utilities
The manual pages are split into four categories; we recommend that you begin with basic functionality and then gradually explore more sophisticated library features.
- Beginner - Basic usage
- Intermediate - Setting options for algorithms and data structures
- Advanced - Setting more advanced options and customization
- Developer - Interfaces intended primarily for library developers
Supplementary Documentation
- Installation - detailed instructions for installing PETSc
- Changes - changes and new features in recent versions of PETSc
- Bug Reporting - details on how to report bugs
- Code Management - hints for efficient management of large-scale application codes
- FAQ - frequently asked questions about PETSc
- License - statement of the PETSc copyright