On the efficiency of symbolic computations combined with code generation for finite element methods

  • Authors:
  • Martin Sandve Alnæs;Kent-André Mardal

  • Affiliations:
  • Simula Research Laboratory, Lysaker, Norway;Simula Research Laboratory, Oslo, Oslo, Norway

  • Venue:
  • ACM Transactions on Mathematical Software (TOMS)
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Efficient and easy implementation of variational forms for finite element discretization can be accomplished with metaprogramming. Using a high-level language like Python and symbolic mathematics makes an abstract problem definition possible, but the use of a low-level compiled language is vital for run-time efficiency. By generating low-level C++ code based on symbolic expressions for the discrete weak form, it is possible to accomplish a high degree of abstraction in the problem definition while surpassing the run-time efficiency of traditional hand written C++ codes. We provide several examples where we demonstrate orders of magnitude in speedup.