Table of Contents Author Guidelines Submit a Manuscript
Scientific Programming
Volume 2, Issue 4, Pages 227-234

Development of Generic Field Classes for Finite Element and Finite Difference Problems

Diane A. Verner,1 Gregory L. Heileman,1 Kent G. Budge,2 and Allen C. Robinson2

1Department of Electrical and Computer Engineering, University of New Mexico, Albuquerque, NM 87131, Mexico
2Computational Physics Research and Development (1431), Sandia National Laboratories, Albuquerque, NM 87185-5800, Mexico

Received 29 April 1993; Accepted 29 June 1993

Copyright © 1993 Hindawi Publishing Corporation. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


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.