Portable, Extensible Toolkit for Scientific Computation

From Wikipedia, the free encyclopedia
  (Redirected from PETSc)
Jump to: navigation, search
PETSc
Stable release PETSc/Ver: 3.4
(11 months and 4 days ago) / 13 May 2013
Operating system Linux, Unix, Mac OS X, Windows
Available in C (main language),C++, FORTRAN
Type Scientific simulation software
License own compatible with GPL (version 2)
Website http://www-unix.mcs.anl.gov/petsc/

The Portable, Extensible Toolkit for Scientific Computation (PETSc, pronounced PET-see; the S is silent), is a suite of data structures and routines developed by Argonne National Laboratory for the scalable (parallel) solution of scientific applications modeled by partial differential equations. It employs the Message Passing Interface (MPI) standard for all message-passing communication. The current version of PETSc is 3.4; released May 13, 2013. PETSc is the world’s most widely used parallel numerical software library for partial differential equations and sparse matrix computations. PETSc received an R&D 100 Award in 2009.[1][2][3]

PETSc is intended for use in large-scale application projects, many ongoing computational science projects are built around the PETSc libraries. Its careful design allows advanced users to have detailed control over the solution process. PETSc includes a large suite of parallel linear and nonlinear equation solvers that are easily used in application codes written in C, C++, Fortran and now Python. PETSc provides many of the mechanisms needed within parallel application code, such as simple parallel matrix and vector assembly routines that allow the overlap of communication and computation. In addition, PETSc includes support for parallel distributed arrays useful for finite difference methods.[4]

Components[edit]

Components of PETSc

PETSc consists of a variety of libraries (similar to classes in C++). Each library manipulates a particular family of objects (for instance, vectors) and the operations one would like to perform on the objects.

Features and Modules[edit]

PETSc provides many features for parallel computation, broken into several modules:

Notes[edit]

Bibliography[edit]

See also[edit]

External links[edit]