Symbolic integration at compile time in finite element methods

  • Authors:
  • Karl Rupp

  • Affiliations:
  • Christian Doppler Laboratory for Reliability Issues in Microelectronics at the Institute for Microelectronics, TU Wien, Wien, Austria

  • Venue:
  • Proceedings of the 2010 International Symposium on Symbolic and Algebraic Computation
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

In most existing software packages for the finite element method it is not possible to supply the weak formulation of the problem of interest in a compact form, which was in the early days of programming due to the low abstraction capabilities of available programming languages. With the advent of pure object-oriented programming, abstraction was long said to be achievable only in trade-off with run time efficiency. In this work we show that it is possible to obtain both a high level of abstraction and good run time efficiency by the use of template metaprogramming in C++. We focus on a mathematical expressions engine, by which element matrices are computed during compile time and by which the weak formulation can be specified in a single line of code. A comparison of system matrix assembly times of existing finite element software shows that the template metaprogramming approach is up to an order of magnitude faster than traditional software designs.