OBJECT-ORIENTED MATRIX CLASSES FOR USE IN A FINITE-ELEMENT CODE USINGC++

Citation
Gw. Zeglinski et al., OBJECT-ORIENTED MATRIX CLASSES FOR USE IN A FINITE-ELEMENT CODE USINGC++, International journal for numerical methods in engineering, 37(22), 1994, pp. 3921-3937
Citations number
8
Categorie Soggetti
Computer Application, Chemistry & Engineering",Engineering,Mathematics
ISSN journal
00295981
Volume
37
Issue
22
Year of publication
1994
Pages
3921 - 3937
Database
ISI
SICI code
0029-5981(1994)37:22<3921:OMCFUI>2.0.ZU;2-Q
Abstract
This paper presents a new method of writing finite element programs us ing the programming approach known as object oriented programming (OOP ). More Specifically, the C++ language is used to illustrate the key O OP concepts. In addition to the OOP finite element examples, a detaile d discussion of OOP techniques in the creation of a generalized matrix library is presented. The C++ language is used in this paper because it is more suited to numerical programs than a pure OOP language such as Smalltalk. The efficiency, flexibility and maintainability of the C ++ program are shown,to be superior to a comparable version written in anon-OOP language, such as FORTRAN. The matrix library contains a num ber of matrix objects that are useful for specific types of matrix rel ated problems. Different sparse storage schemes are implemented for ea ch different type of matrix. A large number of functions are provided for each matrix type in order to implement many common matrix operatio ns. In applications, the OOP paradigm allows the functions to be used in a very simple way that is common to all the matrix types. The sampl e finite element code included in this paper is primarily intended to illustrate the key concepts of OOP style. This paper explains how tb s et up a finite element hierarchy, material hierarchy and how to integr ate this with the matrix hierarchy (library). Thus, a completely objec t oriented finite element program can be written.