|
PETSc components provide the functionality required for many
parallel solutions of PDEs.
- Vec
- Provides the vector operations required for setting up and solving large-scale linear
and nonlinear problems. Includes easy-to-use parallel scatter and gather operations, as
well as special-purpose code for handling ghost points for regular data structures.
- Mat
- A large suite of data structures and code for the manipulation of parallel sparse
matrices. Includes four different parallel matrix data structures, each appropriate for a
different class of problems.
- PC
- A collection of sequential and parallel preconditioners, including (sequential) ILU(k),
LU, and (both sequential and parallel) block Jacobi, overlapping additive Schwarz methods
and (through BlockSolve95) ILU(0) and ICC(0).
- KSP
- Parallel implementations of many popular Krylov subspace iterative methods, including
GMRES, CG, CGS, Bi-CG-Stab, two variants of TFQMR, CR, and LSQR. All are coded so that
they are immediately usable with any preconditioners and any matrix data structures,
including matrix-free methods.
- SNES
- Data-structure-neutral implementations of Newton-like methods for nonlinear systems.
Includes both line search and trust region techniques with a single interface. Employs by
default the above data structures and linear solvers. Users can set custom monitoring
routines, convergence criteria, etc.
- TS
- Code for the time evolution of solutions of PDEs. In addition, provides pseudo-transient
continuation techniques for computing steady-state solutions.
|