2009.79: oomph-lib — An Object-Oriented Multi-Physics Finite-Element Library
2009.79: Matthias Heil and Andrew L Hazel (2006) oomph-lib — An Object-Oriented Multi-Physics Finite-Element Library. Fluid-Structure Interaction, 53. pp. 19-49. ISSN 1439-7358
Full text available as:
|PDF - Requires a PDF viewer such as GSview, Xpdf or Adobe Acrobat Reader|
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 re-use. 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 fluidstructure- 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.
|Subjects:||MSC 2000 > 76 Fluid mechanics|
|Deposited By:||Ms Lucy van Russelt|
|Deposited On:||21 October 2009|