Object-oriented finite element analysis

Abstract This paper describes the problems with conventional finite element analysis software and the potential solutions offered by object-oriented programs. It introduces the basic concepts of object-oriented programming and of expandable applications. Finite element fundamentals are explained using a new perspective leading to the implementation of an object-oriented numerical analysis program. Objects, classes, methods, and inheritance are illustrated using a graphical representation. Implementation-independent descriptions are given for the internal operation of a generic class system, followed by some details regarding the design of object-oriented programs using class libraries from an expandable application framework. A theoretical foundation is laid for the implementation of an object-oriented program which uses isoparametric elements for the numerical analysis of two-dimensional linear problems in solid and structural mechanics. Class descriptions are given in parallel to a step by step formulation of the analysis solution. The analysis program is portrayed as an assembly of classes which control and organize, the solution process. The design, implementation, operation, validation, and maintenance of this program is compared to that of an equivalent procedural program to identify the advantages of the object-oriented approach. Practical applications of object-oriented finite element analysis are discussed with particular reference to the use of knowledge-based expert systems.