Abstract:
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..