Computational & Technology Resources
an online resource for computational,
engineering & technology publications
DEVELOPMENTS IN COMPUTATIONAL TECHNIQUES FOR STRUCTURAL ENGINEERING
Edited by: B.H.V. Topping
Object Oriented Finite Element Analysis (I) Matrix Operations
M.N. Zaher, A.Y. Akl and H.M. Emam
Faculty of Engineering, Cairo University, Cairo, Egypt
M.N. Zaher, A.Y. Akl, H.M. Emam, "Object Oriented Finite Element Analysis (I) Matrix Operations", in B.H.V. Topping, (Editor), "Developments in Computational Techniques for Structural Engineering", Civil-Comp Press, Edinburgh, UK, pp 173-186, 1995. doi:10.4203/ccp.33.5.2
The objective of this research is to study the application of the object oriented programming technique in the field of finite element analysis programming. A computer module, called OFELEA, is written in C++. It is divided into two main chunks of code.
This paper includes the discussion of the matrix operations library, while the finite element procedure is discussed in Zaher et al.
The Usage of the object oriented concepts, such as user-defined types and operator overloading, enables writing more readable, extendible, and reusable matrix operations library. The current implementation includes three different user-defined classes: the vector, the matrix, and the bmatrix. Both the vector and the matrix classes are extended versions of Sholz classes. This extension allows redimensioning of vectors and matrices at runtime.
The bmatrix type is an implementation of a square, symmetric matrix which is stored in a half-banded form. (e.g. a typical stiffness matrix). The banded matrix is treated as if it is completely stored (i.e. when referring to a certain element, it is indexed as if the matrix is completely stored, and not banded). This leads to a more extendible code, since the program source lines used to send and retrieve elements of the structure stiffness matrix are not dependent on the storage scheme of the matrix.
Also, while implementing the library a complete dynamic allocation technique is adopted which leads to the most efficient use of memory.
purchase the full-text of this paper (price £20)