PETSc - NCI National Facility
National Computational Infrastructure
NCI National Facility
line
Software at a site Software by category Facilities at a site Login
line
 
        Generic (all NCI systems)       Version specific (all NCI systems)       Host and version specific
 
   PETSc -> PETSc 2.3.3-p8 - tango
PETSc 2.3.3-p8 - tango

View another version installed on this host

What is PETSc PETSc is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations. It employs the MPI standard for all message-passing communication. The home page for PETSc is located at Argonne National Laboratory

PETSc is intended for use in large-scale application projects, and several ongoing computational science projects are built around the PETSc libraries. With strict attention to component interoperability, PETSc facilitates the integration of independently developed application modules, which often most naturally employ different coding styles and data structures.

PETSc is easy to use for beginners. Moreover, its careful design allows advanced users to have detailed control over the solution process. PETSc includes an expanding suite of parallel linear and nonlinear equation solvers that are easily used in application codes written in C, C++, and Fortran. PETSc provides many of the mechanisms needed within parallel application codes, such as simple parallel matrix and vector assembly routines that allow the overlap distributed arrays.  Features include:

  • Parallel vectors
    • scatters
    • gathers
  • Parallel matrices
    • several sparse storage formats
    • easy, efficient assembly.
  • Scalable parallel preconditioners
  • Krylov subspace methods
  • Parallel Newton-based nonlinear solvers
  • Parallel timestepping (ODE) solvers
Other features are as follows:
  • Complete documentation
  • Automatic profiling of floating point and memory usage
  • Consistent interface
  • Intensive error checking
  • Portable to UNIX and Windows
  • Over one hundred examples
  • PETSc is supported and will be actively enhanced for the next several years.

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.
 Metadata for using PETSc on tango
 XML Query for PETSc on tango
 
Partner contact email: help@vpac.orgEmail problems, suggestions, questions to help@nf.nci.org.au