Heil, M. & Hazel, A. L. (2006) oomph-lib -- An Object-Oriented Multi-Physics Finite-Element Library

In: Fluid-Structure Interaction, Editors: M. Schafer und H.-J. Bungartz.
Springer (Lecture Notes on Computational Science and Engineering), pp 19--49.

This paper discusses certain aspects of the design and implementation of oomph-lib, an object-oriented multi-physics finite-element library, available as open-source software at http://www.oomph-lib.org. The main aim of the library is to provide an environment that facilitates the robust, adaptive solution of multi-physics problems by monolithic discretisations, while maximising the potential for code reuse. This is achieved by the extensive use of object-oriented programming techniques, including multiple inheritance, function overloading and template (generic) programming, which allow existing objects to be (re-)used in many different ways without having to change their original implementation.

These ideas are illustrated by considering some specific issues that arise when implementing monolithic finite-element discretisations of large-displacement fluid-structure-interaction problems within an Arbitrary Lagrangian Eulerian (ALE) framework. We also discuss the development of wrapper classes that permit the generic and efficient evaluation of the so-called ``shape derivatives'', the derivatives of the discretised fluid equations with respect to those solid mechanics degrees of freedom that affect the nodal positions in the fluid mesh. Finally, we apply the methodology in several examples.

Page last modified: December 21, 2005

Back to Matthias Heil's home page..