Results 1 - 10
of
15
Geometric optimization of the evaluation of finite element matrices
- SIAM J. Sci. Comput
"... Abstract. Assembling stiffness matrices represents a significant cost in many finite element computations. We address the question of optimizing the evaluation of these matrices. By finding redundant computations, we are able to significantly reduce the cost of building local stiffness matrices for ..."
Abstract
-
Cited by 15 (13 self)
- Add to MetaCart
Abstract. Assembling stiffness matrices represents a significant cost in many finite element computations. We address the question of optimizing the evaluation of these matrices. By finding redundant computations, we are able to significantly reduce the cost of building local stiffness matrices for the Laplace operator and for the trilinear form for Navier-Stokes. For the Laplace operator in two space dimensions, we have developed a heuristic graph algorithm that searches for such redundancies and generates code for computing the local stiffness matrices. Up to cubics, we are able to build the stiffness matrix on any triangle in less than one multiply-add pair per entry. Up to sixth degree, we can do it in less than about two. Preliminary low-degree results for Poisson and Navier-Stokes operators in three dimensions are also promising.
AUTOMATING THE FINITE ELEMENT METHOD
, 2006
"... The finite element method can be viewed as a machine that automates the discretization of differential equations, taking as input a variational problem, a finite element and a mesh, and producing as output a system of discrete equations. However, the generality of the framework provided by the finit ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
The finite element method can be viewed as a machine that automates the discretization of differential equations, taking as input a variational problem, a finite element and a mesh, and producing as output a system of discrete equations. However, the generality of the framework provided by the finite element method is seldom reflected in implementations (realizations), which are often specialized and can handle only a small set of variational problems and finite elements (but are typically parametrized over the choice of mesh). This paper reviews ongoing research in the direction of a complete automation of the finite element method. In particular, this work discusses algorithms for the efficient and automatic computation of a system of discrete equations from a given variational problem, finite element and mesh. It is demonstrated that by automatically generating and compiling efficient low-level code, it is possible to parametrize a finite element code over variational problem and finite element in addition to the mesh.
Efficient compilation of a class of variational forms
- ACM Transactions on Mathematical Software
, 2007
"... We investigate the compilation of general multilinear variational forms over affines simplices and prove a representation theorem for the representation of the element tensor (element stiffness matrix) as the contraction of a constant reference tensor and a geometry tensor that accounts for geometry ..."
Abstract
-
Cited by 9 (5 self)
- Add to MetaCart
We investigate the compilation of general multilinear variational forms over affines simplices and prove a representation theorem for the representation of the element tensor (element stiffness matrix) as the contraction of a constant reference tensor and a geometry tensor that accounts for geometry and variable coefficients. Based on this representation theorem, we design an algorithm for efficient pretabulation of the reference tensor. The new algorithm has been implemented in the FEniCS Form Compiler (FFC) and improves on a previous loop-based implementation by several orders of magnitude, thus shortening compile-times and development cycles for users of FFC. Categories and Subject Descriptors: G.4 [Mathematical Software]—Algorithm design and analysis,
Data structures and requirements for hp finite element software
- In Preparation
, 2007
"... Finite element methods approximate solutions of partial differential equations (PDEs) by restricting the problem to a finite dimensional, discrete function space. In the hp adaptive version of the finite element method, one defines these discrete spaces by choosing different polynomial degrees for t ..."
Abstract
-
Cited by 7 (3 self)
- Add to MetaCart
Finite element methods approximate solutions of partial differential equations (PDEs) by restricting the problem to a finite dimensional, discrete function space. In the hp adaptive version of the finite element method, one defines these discrete spaces by choosing different polynomial degrees for the shape functions defined on a locally refined mesh. Although this basic idea is quite simple, its implementation in algorithms and data structures is challenging. It has apparently not been documented in the literature in its most general form. Rather, most existing implementations appear to be for special combinations of finite elements, or for discontinuous Galerkin methods which do not entail many of the complications of the general case. In this paper, we discuss the generic data structures and algorithms necessary to implement the hp finite element method for arbitrary elements, and the complications and pitfalls one encounters with such an implementation. As part of this process, we describe what pieces of information a description of a finite element has to provide to the generic algorithms for it to be used in an hp context. We support our claim that the generic algorithms and data structures are efficient using numerical examples that test our reference implementation in 2d and 3d, and demonstrate that the hp specific parts of the algorithm do not dominate the total computing time. This reference implementation is also made available as part of the Open Source deal.II finite element library.
DOLFIN: Automated finite element computing
, 2009
"... We describe here a library aimed at automating the solution of partial differential equations using the finite element method. By employing novel techniques for automated code generation, the library combines a high level of expressiveness with efficient computation. Finite element variational forms ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
We describe here a library aimed at automating the solution of partial differential equations using the finite element method. By employing novel techniques for automated code generation, the library combines a high level of expressiveness with efficient computation. Finite element variational forms may be expressed in near mathematical notation, from which low-level code is automatically generated, compiled and seamlessly integrated with efficient implementations of computational meshes and high-performance linear algebra. Easy-to-use object-oriented interfaces to the library are provided in the form of a C++ library and a Python module. This paper discusses the mathematical abstractions and methods used in the design of the library and its implementation. A number of examples are presented to demonstrate the use of the library in application code.
On the Efficiency of Symbolic Computations Combined with Code Generation for Finite Element Methods
"... Efficient and easy implementation of variational forms for finite element discretization can be accomplished with meta-programming. 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 fo ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Efficient and easy implementation of variational forms for finite element discretization can be accomplished with meta-programming. 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 speed-up.
EFFICIENT ASSEMBLY OF H(div) AND H(curl) CONFORMING FINITE ELEMENTS ∗
"... Abstract. In this paper, we discuss how to efficiently evaluate and assemble general finite element variational forms on H(div) and H(curl). The proposed strategy relies on a decomposition of the element tensor into a precomputable reference tensor and a mesh-dependent geometry tensor. Two key point ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Abstract. In this paper, we discuss how to efficiently evaluate and assemble general finite element variational forms on H(div) and H(curl). The proposed strategy relies on a decomposition of the element tensor into a precomputable reference tensor and a mesh-dependent geometry tensor. Two key points must then be considered: the appropriate mapping of basis functions from a reference element, and the orientation of geometrical entities. To address these issues, we extend here a previously presented representation theorem for affinely mapped elements to Piola-mapped elements. We also discuss a simple numbering strategy that removes the need to contend with directions of facet normals and tangents. The result is an automated, efficient, and easy-to-use implementation that allows a user to specify finite element variational forms on H(div) and H(curl) in close to mathematical notation.
Automated FEM Discretizations for the Stokes Equation
, 2008
"... Current FEM software projects have made significant advances in various automated modeling techniques. We present some of the mathematical abstractions employed by these projects that allow a user to switch between finite elements, linear solvers, mesh refinement and geometry, and weak forms with ve ..."
Abstract
- Add to MetaCart
Current FEM software projects have made significant advances in various automated modeling techniques. We present some of the mathematical abstractions employed by these projects that allow a user to switch between finite elements, linear solvers, mesh refinement and geometry, and weak forms with very few modifications to the code. To evaluate the modularity provided by one of these abstractions, namely switching finite elements, we provide a numerical study based upon the many different discretizations of the Stokes equations.
A Compiler Framework for Automatic Linearization and Efficient Discretization of Nonlinear Partial Differential Equations
"... This thesis is submitted in partial fulfilment of the degree Philosophiae Doctor to the ..."
Abstract
- Add to MetaCart
This thesis is submitted in partial fulfilment of the degree Philosophiae Doctor to the
UNIFIED EMBEDDED PARALLEL FINITE ELEMENT COMPUTATIONS VIA SOFTWARE-BASED FRÉCHET DIFFERENTIATION
"... Abstract. Computational analysis of systems governed by partial differential equations requires not only the calcuation of a solution, but the extraction of additional information such as the sensitivity of that solution with respect to input parameters or the inversion of the system in an optimizat ..."
Abstract
- Add to MetaCart
Abstract. Computational analysis of systems governed by partial differential equations requires not only the calcuation of a solution, but the extraction of additional information such as the sensitivity of that solution with respect to input parameters or the inversion of the system in an optimization or design loop. Moving beyond the automation of discretization of PDE by finite element methods, we present a mathematical framework that unifies the discretization of PDE with these additional analysis requirements. In particular, Fréchet differentiation on a class of functionals together with a high-performance finite element framework have led to a code, called Sundance, that provides high-level programming abstractions for the automatic, efficient evaluation of finite variational forms together with the derived operators required by engineering analysis.

