Skip to main content
Article thumbnail
Location of Repository

Representations of finite element tensors via automated code generation

By Kristian B Oelgaard and G N Wells


We examine aspects of the computation of finite element matrices and vectors which are made possible by automated code generation. Given a variational form in a syntax which resembles standard mathematical notation, the low-level computer code for building finite element tensors, typically matrices, vectors and scalars, can be generated automatically via a form compiler. In particular, the generation of code for computing finite element matrices using a quadrature approach is addressed. For quadrature representations, a number of optimisation strategies which are made possible by automated code generation are presented. The relative performance of two different automatically generated representations of finite element matrices is examined, with a particular emphasis on complicated variational forms. It is shown that approaches which perform best for simple forms are not tractable for more complicated problems in terms of run time performance, the time required to generate the code or the size of the generated code. The approach and optimisations elaborated here are effective for a range of variational forms

Topics: Mathematical software, Numerical analysis, Programming techniques, Finite element methods, Automatic Programming
Year: 2009
OAI identifier:
Provided by: Apollo

Suggested articles


  1. (2006). A compiler for variational forms. doi
  2. (2004). Algorithm 839: FIAT, A new paradigm for computing element basis functions. doi
  3. (2008). Automated code generation for discontinuous Galerkin methods. doi
  4. (2008). Benchmarking domain-speci compiler optimizations for variational forms. doi
  5. (2008). Ecient assembly of H(div) and H(curl) conforming elements. doi
  6. (2007). Ecient compilation of a class of variational forms. doi
  7. (1991). Mixed and Hybrid Finite Element Methods. doi
  8. (2008). Modelling temperature eects on multiphase ow through porous media. doi
  9. (2005). Optimizing the evaluation of element matrices. doi
  10. (2001). PETSc Web page. doi
  11. (2005). SPIRAL: Code generation for DSP transforms. doi
  12. (2006). Topological optimization of the evaluation of element matrices. doi
  13. (2009). Uni framework for element assembly. doi

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.