TSFC: a structure-preserving form compiler. A form compiler takes a high-level description of the weak form of partial differential equations and produces low-level code that carries out the finite element assembly. In this paper we present the Two-Stage Form Compiler (TSFC), a new form compiler with the main motivation to maintain the structure of the input expression as long as possible. This facilitates the application of optimizations at the highest possible level of abstraction. TSFC features a novel, structure-preserving method for separating the contributions of a form to the subblocks of the local tensor in discontinuous Galerkin problems. This enables us to preserve the tensor structure of expressions longer through the compilation process than other form compilers. This is also achieved in part by a two-stage approach that cleanly separates the lowering of finite element constructs to tensor algebra in the first stage, from the scheduling of those tensor operations in the second stage. TSFC also efficiently traverses complicated expressions, and experimental evaluation demonstrates good compile-time performance even for highly complex forms.

References in zbMATH (referenced in 17 articles , 1 standard article )

Showing results 1 to 17 of 17.
Sorted by year (citations)

  1. Alberto Paganini, Florian Wechsung: Fireshape: a shape optimization toolbox for Firedrake (2020) arXiv
  2. Bazilevs, Yuri; Kamensky, David; Moutsanidis, Georgios; Shende, Shaunak: Residual-based shock capturing in solids (2020)
  3. Farrell, Patrick E.; Mitchell, Lawrence; Wechsung, Florian: An augmented Lagrangian preconditioner for the 3D stationary incompressible Navier-Stokes equations at High Reynolds number (2019)
  4. Gibson, Thomas H.; McRae, Andrew T. T.; Cotter, Colin J.; Mitchell, Lawrence; Ham, David A.: Compatible finite element methods for geophysical flows. Automation and implementation using Firedrake (2019)
  5. Kamensky, David; Bazilevs, Yuri: \textsctIGAr: automating isogeometric analysis with \textscFEniCS (2019)
  6. Kirby, Robert C.; Mitchell, Lawrence: Code generation for generally mapped finite elements (2019)
  7. Budd, Chris J.; McRae, Andrew T. T.; Cotter, Colin J.: The scaling and skewness of optimally transported meshes on the sphere (2018)
  8. Chang, Justin; Fabien, Maurice S.; Knepley, Matthew G.; Mills, Richard T.: Comparative study of finite element methods using the time-accuracy-size (TAS) spectrum analysis (2018)
  9. Homolya, Miklós; Mitchell, Lawrence; Luporini, Fabio; Ham, David A.: TSFC: a structure-preserving form compiler (2018)
  10. Kirby, Robert C.: A general approach to transforming finite elements (2018)
  11. McRae, Andrew T. T.; Cotter, Colin J.; Budd, Chris J.: Optimal-transport -- based mesh adaptivity on the plane and sphere using finite elements (2018)
  12. Shipton, J.; Gibson, T. H.; Cotter, C. J.: Higher-order compatible finite element schemes for the nonlinear rotating shallow water equations on the sphere (2018)
  13. Thomas H. Gibson, Lawrence Mitchell, David A. Ham, Colin J. Cotter: Slate: extending Firedrake’s domain-specific abstraction to hybridized solvers for geoscience and beyond (2018) arXiv
  14. Luporini, Fabio; Ham, David A.; Kelly, Paul H. J.: An algorithm for the optimization of finite element integration loops (2017)
  15. Miklos Homolya, Lawrence Mitchell, Fabio Luporini, David A. Ham: TSFC: a structure-preserving form compiler (2017) arXiv
  16. Robert C. Kirby, Lawrence Mitchell: Solver composition across the PDE/linear algebra barrier (2017) arXiv
  17. McRae, A. T. T.; Bercea, G.-T.; Mitchell, L.; Ham, D. A.; Cotter, C. J.: Automated generation and symbolic manipulation of tensor product finite elements (2016)