A compiler for variational forms
arXiv:1112.0402 · doi:10.1145/1163641.1163644
Abstract
As a key step towards a complete automation of the finite element method, we present a new algorithm for automatic and efficient evaluation of multilinear variational forms. The algorithm has been implemented in the form of a compiler, the FEniCS Form Compiler FFC. We present benchmark results for a series of standard variational forms, including the incompressible Navier-Stokes equations and linear elasticity. The speedup compared to the standard quadrature-based approach is impressive; in some cases the speedup is as large as a factor 1000.
27 pages, 10 figures
References in corpus (1)
Cited by in corpus (45)
- Automated derivation of the adjoint of high-level transient finite element programs
- Optimisations for quadrature representations of finite element tensors through automated code generation
- The software design of Gridap: a Finite Element package based on the Julia JIT compiler
- Efficient Assembly of H(div) and H(curl) Conforming Finite Elements
- Automating the Finite Element Method
- magnum.fe: A micromagnetic finite-element simulation code based on FEniCS
- Oasis: a high-level/high-performance open source Navier-Stokes solver
- A Nitsche-based cut finite element method for a fluid--structure interaction problem
- Phase-Field Modeling of Crack Branching and Deflection in Heterogeneous Media
- SiQAD: A Design and Simulation Tool for Atomic Silicon Quantum Dot Circuits
- A framework for automated PDE-constrained optimisation
- TSFC: a structure-preserving form compiler
- Automated generation and symbolic manipulation of tensor product finite elements
- Automated code generation for discontinuous Galerkin methods
- Numerical integration on GPUs for higher order finite elements
- A FEniCS-Based Programming Framework for Modeling Turbulent Flow by the Reynolds-Averaged Navier-Stokes Equations
- COFFEE: an Optimizing Compiler for Finite Element Local Assembly
- Efficient Compilation of a Class of Variational Forms
- An algorithm for the optimization of finite element integration loops
- Vectorized OpenCL implementation of numerical integration for higher order finite elements
- Q-tensor model for electrokinetics in nematic liquid crystals
- Modeling fast acoustic streaming: steady state and transient flow solutions
- Interpolation-based immersed finite element and isogeometric analysis
- Code generation for generally mapped finite elements
- Slate: extending Firedrake's domain-specific abstraction to hybridized solvers for geoscience and beyond
- Benchmarking Domain-Specific Compiler Optimizations for Variational Forms
- Efficient implementation of finite element methods on non-matching and overlapping meshes in 3D
- fenicsR13: A Tensorial Mixed Finite Element Solver for the Linear R13 Equations Using the FEniCS Computing Platform
- A Python Extension for the Massively Parallel Multiphysics Simulation Framework waLBerla
- A 55-line code for large-scale parallel topology optimization in 2D and 3D
- Coupling finite and boundary element methods to solve the Poisson--Boltzmann equation for electrostatics in molecular solvation
- Modeling of languages for tensor manipulation
- Atomistically-informed continuum modeling and isogeometric analysis of 2D materials over holey substrates
- Non-intrusive Hybrid Scheme for Multiscale Heat Transfer: Thermal Runaway in a Battery Pack
- Algorithms and Data Structures for Multi-Adaptive Time-Stepping
- MetaFEM: A Generic FEM Solver By Meta-expressions
- Formation of field-induced breakdown precursors on metallic electrode surfaces
- Cross-mode Stabilized Stochastic Shallow Water Systems Using Stochastic Finite Element Methods
- Automating the formulation and resolution of convex variational problems: applications from image processing to computational mechanics
- Automated goal-oriented error control I: stationary variational problems
- A stabilized Nitsche fictitious domain method for the Stokes problem
- Variational multiscale modeling with discretely divergence-free subscales
- A stabilized Nitsche overlapping mesh method for the Stokes problem
- Fiend -- Finite Element Quantum Dynamics
- A framework for the automation of generalised stability theory