PETSc and overture : lessons learned developing an interface between components. Page: 2 of 12
This article is part of the collection entitled: Office of Scientific & Technical Information Technical Reports and was provided to Digital Library by the UNT Libraries Government Documents Department.
The following text was automatically extracted from the image on this page using optical character recognition software:
A complete application to numerically solve a partial differential equation
(PDE) and analyze the results typically involves: a mechanism for creating a
grid; a scheme for calculating spatial derivative approximations; a method for
time advancement, which may require use of linear algebra routines including
scalable linear and nonlinear equation solvers; another mechanism for visual-
ization and analysis of the data; and, since the application may be performed
on a parallel computer, routines for communicating data between processors.
With our expectations of software rising as the capabilities of computers in-
crease, writing a good implementation of any one of these tasks requires sig-
nificant expertise. Indeed, the expectation that one person, or one group, could
write an entire package for such a general-purpose tool is unreasonable. To
create such an application, we must take advantage of the expertise of several
persons or groups, each focusing on one component of the full application. We
can then consider a framework in which these components can be linked to-
gether. (In this paper, we shall use the terms "component" and "framework"
in a general sense as opposed to the specific definitions as set forth by the
Common Component Architecture Forum  and other organizations.)
Before creating such a framework, however, we must learn what makes a
good component. We can gain this insight by looking at successes and failures
of various projects that have attempted interaction between software packages.
In this paper, we shall consider two software packages that interact in this
manner, Overture [5, 6] and the Portable Extensible Toolkit for Scientific com-
putation, PETSc [2, 3, 4].
Overture is a collection of C++ classes that provide tools for solving PDEs.
It contains a tool for generating composite grids (i.e., lists of structured grids
that overlap) and a wide variety of operators of varying accuracy for computing
derivatives via finite difference, finite volume, and spectral methods on these
grids. Overture is also extensible in that application developers can create their
own sets of operators. Furthermore, several equation solver libraries can be
used within Overture, and new equation solvers can be added.
PETSc is a scalable library for the solution of PDEs and related problems.
With PETSc, one can create complete applications, as one might within Over-
ture, but the emphasis has been on generating a collection of solvers for linear
and nonlinear systems of equations as well as lower-level infrastructure for
managing the details of parallel programming.
An interface between these two packages could be of tremendous value to
application developers in that Overture provides a simple mechanism for gen-
erating large, sparse systems of equations, and PETSc provides a powerful col-
lection of methods for solving these systems. From the Overture developer's
perspective, the obvious mechanism for this interface is via a PETSc equation
Here’s what’s next.
This article can be searched. Note: Results may vary based on the legibility of text within the document.
Tools / Downloads
Get a copy of this page or view the extracted text.
Citing and Sharing
Basic information for referencing this web page. We also provide extended guidance on usage rights, references, copying or embedding.
Reference the current page of this Article.
Buschelman, K. R.; Gropp, W. D.; McInnes, L. C. & Smith, B. F. PETSc and overture : lessons learned developing an interface between components., article, November 20, 2000; Illinois. (digital.library.unt.edu/ark:/67531/metadc721284/m1/2/: accessed January 23, 2019), University of North Texas Libraries, Digital Library, digital.library.unt.edu; crediting UNT Libraries Government Documents Department.