Concepts—An object-oriented software package for partial differential equations

Philipp Frauenfelder; Christian Lage

ESAIM: Mathematical Modelling and Numerical Analysis - Modélisation Mathématique et Analyse Numérique (2002)

  • Volume: 36, Issue: 5, page 937-951
  • ISSN: 0764-583X

Abstract

top
Object oriented design has proven itself as a powerful tool in the field of scientific computing. Several software packages, libraries and toolkits exist, in particular in the FEM arena that follow this design methodology providing extensible, reusable, and flexible software while staying competitive to traditionally designed point tools in terms of efficiency. However, the common approach to identify classes is to turn data structures and algorithms of traditional implementations into classes such that the level of abstraction is essentially not raised. In this paper we discuss an alternative way to approach the design challenge which we call “concept oriented design”. We apply this design methodology to Petrov-Galerkin methods leading to a class library for both, boundary element methods (BEM) and finite element methods (FEM). We show as a particular example the implementation of h p -FEM using the library with special attention to the handling of inconsistent meshes.

How to cite

top

Frauenfelder, Philipp, and Lage, Christian. "Concepts—An object-oriented software package for partial differential equations." ESAIM: Mathematical Modelling and Numerical Analysis - Modélisation Mathématique et Analyse Numérique 36.5 (2002): 937-951. <http://eudml.org/doc/245234>.

@article{Frauenfelder2002,
abstract = {Object oriented design has proven itself as a powerful tool in the field of scientific computing. Several software packages, libraries and toolkits exist, in particular in the FEM arena that follow this design methodology providing extensible, reusable, and flexible software while staying competitive to traditionally designed point tools in terms of efficiency. However, the common approach to identify classes is to turn data structures and algorithms of traditional implementations into classes such that the level of abstraction is essentially not raised. In this paper we discuss an alternative way to approach the design challenge which we call “concept oriented design”. We apply this design methodology to Petrov-Galerkin methods leading to a class library for both, boundary element methods (BEM) and finite element methods (FEM). We show as a particular example the implementation of $hp$-FEM using the library with special attention to the handling of inconsistent meshes.},
author = {Frauenfelder, Philipp, Lage, Christian},
journal = {ESAIM: Mathematical Modelling and Numerical Analysis - Modélisation Mathématique et Analyse Numérique},
keywords = {object oriented design; concept oriented design; $hp$-FEM; adaptivity; hp-FEM; Petrov-Galerkin methods; boundary element methods; finite-element methods},
language = {eng},
number = {5},
pages = {937-951},
publisher = {EDP-Sciences},
title = {Concepts—An object-oriented software package for partial differential equations},
url = {http://eudml.org/doc/245234},
volume = {36},
year = {2002},
}

TY - JOUR
AU - Frauenfelder, Philipp
AU - Lage, Christian
TI - Concepts—An object-oriented software package for partial differential equations
JO - ESAIM: Mathematical Modelling and Numerical Analysis - Modélisation Mathématique et Analyse Numérique
PY - 2002
PB - EDP-Sciences
VL - 36
IS - 5
SP - 937
EP - 951
AB - Object oriented design has proven itself as a powerful tool in the field of scientific computing. Several software packages, libraries and toolkits exist, in particular in the FEM arena that follow this design methodology providing extensible, reusable, and flexible software while staying competitive to traditionally designed point tools in terms of efficiency. However, the common approach to identify classes is to turn data structures and algorithms of traditional implementations into classes such that the level of abstraction is essentially not raised. In this paper we discuss an alternative way to approach the design challenge which we call “concept oriented design”. We apply this design methodology to Petrov-Galerkin methods leading to a class library for both, boundary element methods (BEM) and finite element methods (FEM). We show as a particular example the implementation of $hp$-FEM using the library with special attention to the handling of inconsistent meshes.
LA - eng
KW - object oriented design; concept oriented design; $hp$-FEM; adaptivity; hp-FEM; Petrov-Galerkin methods; boundary element methods; finite-element methods
UR - http://eudml.org/doc/245234
ER -

References

top
  1. [1] S. Balay, K. Buschelman, W.D. Gropp, D. Kaushik, L.C. McInnes and B.F. Smith, PETSc home page. http://www.mcs.anl.gov/petsc (2001). 
  2. [2] S. Balay, W.D. Gropp, L.C. McInnes and B.F. Smith, Efficient management of parallelism in object oriented numerical software libraries, in Modern Software Tools in Scientific Computing, E. Arge, A.M. Bruaset and H.P. Langtangen Eds., Birkhauser Press (1997) 163–202. Zbl0882.65154
  3. [3] S. Balay, W.D. Gropp, L.C. McInnes and B.F. Smith, PETSc users manual. Technical Report ANL-95/11 - Revision 2.1.0, Argonne National Laboratory (2001). 
  4. [4] G. Booch, Object-Oriented Analysis and Design with Applications. Addison-Wesley Object Technology Series. Addison Wesley Longman, Inc., 2nd ed. (1994). 
  5. [5] Concepts Development Team. Concepts. Internet (2001). http://www.math.ethz.ch/~concepts/ 
  6. [6] M. Fiedler, Tensor product of matrices. Compound matrices, in Special matrices and their applications in numerical mathematics, Martinus Nijhoff Publishers, Dordrecht, The Netherlands and SNTL—Publishers of Technical Literature, Prague, Czechoslovakia (1986) p. 136. MR1105955
  7. [7] GNU Project. GNU Compiler Collection. Internet (2001). http://www.gnu.org/software/gcc/ 
  8. [8] GNU Project. GNU is Not Unix and the Free Software Foundation. Internet (2001). http://www.gnu.org/ 
  9. [9] C. Lage, Softwareentwicklung zur Randelementmehtode: Analyse und Entwurf effizienter Techniken. Ph.D. thesis, Christian-Albrechts-Universität, Kiel (1995). 
  10. [10] C. Lage, Concept oriented design of numerical software. Technical Report 98-07, Seminar for Applied Mathematics, Swiss Federal Institute of Technology, Zürich (1998). 
  11. [11] A. Larsson, J. Henstridge et al., Dia. Internet (2001). http://www.lysator.liu.se/~alla/dia/ 
  12. [12] A.-M. Matache, Spectral and p -Finite Elements for problems with microstructure. Ph.D. thesis, Swiss Federal Institute of Technology, Zürich (2000). 
  13. [13] Object Management Group, Inc., Framingham, USA. OMG Unified Modeling Language Specification, 1.3 ed. (1999). http://www.rational.com/uml/resources/documentation/ 
  14. [14] B. Stroustrup, The C++ Programming Language. Addison Wesley Longman, Inc., 3rd ed. (1997). Zbl0825.68056
  15. [15] S. Sutanthavibul, B.V. Smith and P. King, Xfig. Internet (2001). http://epb.lbl.gov/xfig/ 

NotesEmbed ?

top

You must be logged in to post comments.

To embed these notes on your page include the following JavaScript code on your page where you want the notes to appear.

Only the controls for the widget will be shown in your chosen language. Notes will be shown in their authored language.

Tells the widget how many notes to show per page. You can cycle through additional notes using the next and previous controls.

    
                

Note: Best practice suggests putting the JavaScript code just before the closing </body> tag.