TY - JOUR
T1 - Development of generic field classes for finite element and finite difference problems
AU - Verner, Diane A.
AU - Heileman, Gregory L.
AU - Budge, Kent G.
AU - Robinson, Allen C.
PY - 1993
Y1 - 1993
N2 - This article considers the development of a reusable object-oriented array library, as well as the use of this library in the construction of finite difference and finite element codes. The classes in this array library are also generic enough to be used to construct other classes specific to finite difference and finite element methods. We demonstrate the usefulness of this library by inserting it into two existing object-oriented scientific codes developed at Sandia National Laboratories. One of these codes is based on finite difference methods, whereas the other is based on finite element methods. Previously, these codes were separately maintained across a variety of sequential and parallel computing platforms. The use of object-oriented programming allows both codes to make use of common base classes. This offers a number of advantages related to optimization and portability. Optimization efforts, particularly important in large scientific codes, can be focused on a single library. Furthermore, by encapsulating machine dependencies within this library, the optimization of both codes on different architec-tures will only involve modification to a single library.
AB - This article considers the development of a reusable object-oriented array library, as well as the use of this library in the construction of finite difference and finite element codes. The classes in this array library are also generic enough to be used to construct other classes specific to finite difference and finite element methods. We demonstrate the usefulness of this library by inserting it into two existing object-oriented scientific codes developed at Sandia National Laboratories. One of these codes is based on finite difference methods, whereas the other is based on finite element methods. Previously, these codes were separately maintained across a variety of sequential and parallel computing platforms. The use of object-oriented programming allows both codes to make use of common base classes. This offers a number of advantages related to optimization and portability. Optimization efforts, particularly important in large scientific codes, can be focused on a single library. Furthermore, by encapsulating machine dependencies within this library, the optimization of both codes on different architec-tures will only involve modification to a single library.
UR - http://www.scopus.com/inward/record.url?scp=84974746815&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84974746815&partnerID=8YFLogxK
U2 - 10.3233/SPR-1993-2412
DO - 10.3233/SPR-1993-2412
M3 - Article
AN - SCOPUS:84974746815
SN - 1058-9244
VL - 2
SP - 227
EP - 234
JO - Scientific Programming
JF - Scientific Programming
IS - 4
ER -