petsc-3.10.5 2019-03-28
Report Typos and Errors

# Documentation

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)
  - Defining your own mathematical functions (PF)
- 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
  - DMDA structured grids
  - DMPlex unstructured grids
  - DMNetwork graphs and networks
  - DMFOREST a forest of trees
  - DMPATCH
  - DMSWARM particles
  - DMMOAB
  - DMLABEL selecting parts of meshes
  - Discretization Technology (DT)
  - Application Orderings (AO)
- Linear Solvers (KSP)
  - Summary table of all linear solvers
  - Preconditioners (PC)
  - Geometric multigrid
  - Krylov Subspace Methods (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

- Sensitivity analysis
- Method of characteristics

- Optimization Solvers (Tao)
  - Optimization LineSearch Solver (TaoLineSearch)
- Utilities
  - Viewing Objects
  - Graphics (Draw)
  - System Routines (Options, IO, utilities)
  - Profiling and Logging

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