On a modular architecture for finite element systems. I. Sequential codes

The paper discusses basic principles for the modular design of sequential finite element codes. The emphasis is put on computational kernels, considering pre- and post-processing as separate programs. Four fundamental modules (subsystems) of computational kernels are identified for the four main tasks: problem definition, approximation, mesh manipulation and linear system solution. Example interfaces between the four modules that can accommodate a broad range of application areas, approximation methods, mesh types and existing solvers are presented and discussed. The extensions for other modules and for interfaces with external environments are considered. The paper prepares ground for the next article considering the architecture of parallel finite element systems.

[1]  Hans Petter Langtangen,et al.  Advances in Software Tools for Scientific Computing , 1999 .

[2]  Christopher R. Johnson,et al.  The SCIRun Computational Steering Software System , 1997, SciTools.

[3]  Vijay Mann,et al.  Engineering an interoperable computational collaboratory on the Grid , 2002, Concurr. Comput. Pract. Exp..

[4]  Jacek Kitowski,et al.  Comparison of message-passing and shared memory implementations of the GMRES method on MIMD computers , 2001, Sci. Program..

[5]  Mark S. Shephard,et al.  An Object-Oriented Framework for Reliable Numerical Simulations , 1999, Engineering with Computers.

[6]  Bodo Erdmann,et al.  An Object-Oriented Adaptive Finite Element Code: Design Issues and Applications in Hyperthermia Treatment Planning , 1997, SciTools.

[7]  Robert Ian Mackie An object-oriented approach to calculation control in finite element programs , 2000 .

[8]  H. Rentz-Reichert,et al.  UG – A flexible software toolbox for solving partial differential equations , 1997 .

[9]  Philippe G. Ciarlet,et al.  The finite element method for elliptic problems , 2002, Classics in applied mathematics.

[10]  Scott R. Kohn,et al.  Toward a Common Component Architecture for High-Performance Scientific Computing , 1999, HPDC.

[11]  A. Bruaset,et al.  A Comprehensive Set of Tools for Solving Partial Differential Equations; Diffpack , 1997 .

[12]  Jean-François Remacle,et al.  An algorithm oriented mesh database , 2003, IMR.

[13]  Philippe Remy Bernard Devloo,et al.  OBJECT ORIENTED PROGRAMMING IN SCIENTIFIC COMPUTATIONS: THE BEGINNING OF A NEW ERA , 1991 .

[14]  I. R. Grosse,et al.  A feature based shape optimization technique for the configuration and parametric design of flat plates , 1992, Engineering with Computers.

[15]  Ted Belytschko,et al.  Finite Elements, An Introduction , 1982 .

[16]  Hans Petter Langtangen,et al.  On the Numerical Efficiency of C++ in Scientific Computing , 1997 .

[17]  Robert Ian Mackie Object oriented programming of the finite element method , 1992 .

[18]  Leszek Demkowicz,et al.  Toward a universal h-p adaptive finite element strategy , 1989 .

[19]  Hans Petter Langtangen,et al.  Modern Software Tools for Scientific Computing , 1997, Birkhäuser Boston.

[20]  ZimmermannThomas,et al.  Object-oriented finite element programming: I , 1992 .

[21]  Thomas Zimmermann,et al.  Object-oriented finite element programming: I: Governing principles , 1992 .