Introduction
Coding Examples
Documentation
Developer Information
Download


Application Examples










PETSc

Introduction

PETSc, the Portable, Extensible Toolkit for Scientific computation, provides sets of tools for the parallel (as well as serial), numerical solution of PDEs that require solving large-scale, sparse nonlinear systems of equations. PETSc includes nonlinear and linear equation solvers that employ a variety of Newton techniques and Krylov subspace methods. PETSc provides several parallel sparse matrix formats, including compressed row, block compressed row, and block diagonal storage. The table below gives an overview of the main numerical components of the PETSc library:

PETSc Components

PETSc is designed to facilitate extensibility. Thus, users can incorporate customized solvers and data structures when using the package. PETSc also provides an interface to several external software packages including BlockSolve95, ESSL, Matlab, ParMeTis, PVODE, and SPAI. PETSc is fully usable from Fortran, C and C++, and runs on most UNIX based-systems.

PETSc has several features that make it very convenient for the application programmer. Users can create complete application programs for the parallel solution of nonlinear PDEs without writing much explicit message-passing code themselves. Parallel vectors and sparse matrices can be easily and efficiently assembled through the mechanisms provided by PETSc. Furthermore, PETSc enables a great deal of runtime control for the user without any additional coding cost. The runtime options include control over the choice of solvers, preconditioners and problem parameters as well as the generation of performance logs.

Documentation

Coding Examples

Example program Description
ex2.c Assemble a matrix and solve Ax=b.
ex2f.F Fortran version. Assemble a matrix and solve Ax=b.
ex10.c Load a matrix and vector from a binary file and solve. Residual noted at each linear solver iteration.
ex19.c Example of nonlinear solve

Developer Information

PETSc was developed at Argonne National Laboratory, in the Mathematics and Computer Science Division, as a general purpose suite of tools for the scalable solution of partial differential equations and related problems. The PETSc team continues to enhance PETSc with new functionality and improved performance. Its principal developers are Satish Balay, Kris Buschelman, Bill Gropp, Dinesh Kaushik, Lois Curfman McInnes and Barry Smith.

Tools News Home