Portable, Extensible Toolkit for Scientific Computation

Portable, Extensible Toolkit for Scientific Computation

infobox software
name = PETSc
latest_release_version = 2.3.3
latest_release_date = 23 May 2007
operating_system = Linux, Unix, Mac OS X, Windows
license = own compatible with [GNU General Public Licenc [e|GPL (version 2)]
language = C (main language),C++, FORTRAN
genre = Scientific simulation software
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 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 2.3.3; released May, 23, 2007.

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.


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.


PETSc provides the following features:

* Parallel vectors and matrices
* Scatters (handles communicating ghost point information)
* Gathers (the opposite of scatters)
* Several sparse storage formats
* Scalable parallel preconditioners
* Krylov subspace methods
* Parallel Newton-based nonlinear solvers
* Parallel time-stepping (ODE) solvers
* Automatic profiling of floating point and memory usage
* Consistent interface
* Intensive error checking
* Portable to UNIX and Windows


Some of the PETSc modules deal with

* Index sets, including permutations, for indexing into vectors, renumbering, etc;
* Vectors;
* Matrices (generally sparse);
* Distributed arrays (useful for parallelizing regular grid-based problems);
* Krylov subspace methods;
* Preconditioners, including multigrid and sparse direct solvers;
* Nonlinear solvers; and
* Time-steppers for solving time-dependent (nonlinear) PDEs.


* [ftp://info.mcs.anl.gov/pub/tech_reports/reports/ANL9511.ps.Z "PETSc Users Manual", Satish Balay, Kris Buschelman, Victor Eijkhout, William D. Gropp, Dinesh Kaushik, Matthew G. Knepley, Lois Curfman McInnes, Barry F. Smith, and Hong Zhang, ANL-95/11 Revision 2.3.2, Argonne National Laboratory, September, 2006.]
* "Efficient Management of Parallelism in Object Oriented Numerical Software Libraries", Satish Balay, William D. Gropp, Lois Curfman McInnes, Barry F. Smith, Modern Software Tools in Scientific Computing, ed. Bruaset et.al., pp. 163-202, 1997.
* [http://dx.doi.org/10.1016/j.pepi.2007.04.016 "Numerical simulation of geodynamic processes with the Portable Extensible Toolkit for Scientific Computation", R.F. Katz, M.G. Knepley, B. Smith, M. Spiegelman, and E.T. Coon, Physics of The Earth and Planetary Interiors, 163, pp. 52-68, 2007.]

See also

* list of numerical analysis software

External links

* [http://www.mcs.anl.gov/petsc The Official PETSc web site]
* [http://www.netlib.org/utk/people/JackDongarra/la-sw.html Jack Dongarra's Linear Algebra Software Page]

Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Portable Extensible Toolkit for Scientific Computation — PETSc Тип Программное обеспечение для научного моделирования Операционная система Universal Mac OS X, Linux, Unix, Windows Языки интерфейса C, C++, Fortran Последняя версия 3.3 (2012 Июнь 05) …   Википедия

  • Toolkit — may refer to an assembly of tools.It may also refer to:* Widget toolkit * Toolkits for User InnovationSpecific toolkits include:* Abstract Window Toolkit * Accessibility Toolkit * Adventure Game Toolkit * B Toolkit * Battlefield Mod Development… …   Wikipedia

  • Toolkit — Sur les autres projets Wikimedia : « Toolkit », sur le Wiktionnaire (dictionnaire universel) Toolkit est un mot anglais qui est utilisé en informatique et le plus souvent dans le contexte des interfaces graphiques. Ce mot, qui… …   Wikipédia en Français

  • PETSc — portable extensible toolkit for scientific computation …   Medical dictionary

  • PETSc — • portable extensible toolkit for scientific computation …   Dictionary of medical acronyms & abbreviations

  • List of numerical analysis software — Listed here are a number of computer programs used for performing numerical calculations: * acslX is a software application for modeling and evaluating the performance of continuous systems described by time dependent, nonlinear differential… …   Wikipedia

  • List of mathematics articles (P) — NOTOC P P = NP problem P adic analysis P adic number P adic order P compact group P group P² irreducible P Laplacian P matrix P rep P value P vector P y method Pacific Journal of Mathematics Package merge algorithm Packed storage matrix Packing… …   Wikipedia

  • Гроупп, Уильям — Уильям Гроупп англ. William D. Bill Gropp …   Википедия

  • Mercurial — Développeur Matt Mackall Dernière version …   Wikipédia en Français

  • Common Lisp — Paradigm(s) Multi paradigm: procedural, functional, object oriented, meta, reflective, generic Appeared in 1984, 1994 for ANSI Common Lisp Developer ANSI X3J13 committee Typing discipline …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”