Object-oriented finite element programming: an interactive environment for symbolic derivations, application to an initial boundary value problem - Eyheramendy, Dominique; Zimmermann, Thomas (Advances in engineering software (1992), 1996)
Object-oriented finite element programming has been receiving increasing attention recently. In recent papers the authors' research group has systematically developed a methodology of implementing finite elements within the context of an object-oriented paradigm, using several languages successively: Smalltalk, Ctalk and finally C ++. The key features of the object-oriented approach (data encapsulation, message passing, hierarchical code organization, inheritance and polymorphism) have been shown to produce codes with enhanced modularity and improved reusability, even among different programmers, and to lead to faster prototyping and easier debugging of new codes. In this article an attempt to go beyond this stage is illustrated. The principles of object-oriented programming are applied directly to the problem statement in differential form. The new approach is conducted as follows: • User input: strong form • Symbolic derivation: weak form • Symbolic derivation: Galerkin form • Symbolic derivation: matrix form • Numerical derivation: numerical matrix form All derivations are carried out in symbolic form except for that of the final numerical matrix form. The barriers between symbolic and numerical programming are broken and the code is generated automatically. The potential of the proposed approach is illustrated by its application to linear elastodynamics.