×

Object oriented matrix classes for use in a finite element code using \(C+ +\). (English) Zbl 0834.73071

The authors present a new method of writing finite element programs using object oriented programming (OOP) approach. C++ language is used to illustrate the key OOP concepts 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 a non-OOP language, such as FORTRAN.
In addition to the OOP finite element examples, a detailed discussion of OOP techniques in the creation of a generalized matrix library is presented. The matrix library contains a number of matrix objects that are useful for specific types of matrix related problems. Different sparse storage schemes are implemented for each different type of matrix. A large number of functions are provided for each matrix type in order to implement many common matrix operations. In applications, the OOP paradigm allows the functions to be used in a very simple way that is common to all matrix types. The sample finite element code included is primarily used to illustrate the key concepts of OOP style. This paper also explains, how to set up a finite element hierarchy and how to integrate it with matrix hierarchy (library). Thus, a completely object oriented finite element program can be written.
Reviewer: P.Narain (Bombay)

MSC:

74S05 Finite element methods applied to problems in solid mechanics
74-04 Software, source code, etc. for problems pertaining to mechanics of deformable solids
65N30 Finite element, Rayleigh-Ritz and Galerkin methods for boundary value problems involving PDEs
PDFBibTeX XMLCite
Full Text: DOI

References:

[1] and , Matrix Computations, The John Hopkins University Press, Baltimore, 1989.
[2] , and , Numerical Recipes, Cambridge University Press, Cambridge, 1986.
[3] Sergio Pissanetsky, Sparse Matrix Technology, Academic Press, London, 1984.
[4] Mackie, Int. j. numer. methods eng. 35 pp 425– (1992)
[5] Abdalla, ASCE. J. Comput. Civil Eng. 6 pp 302– (1992)
[6] ’Object oriented matrix classes for sparse matrices using C++’, M. Sc Thesis, University of Manitoba, Winnipeg, Manitoba, Canada, 1993.
[7] Ross, ASCE J. Comput. Civil Eng. 6 pp 480– (1992)
[8] Ross, ASCE J. Comput. Civil Eng. 6 pp 497– (1992)
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.