21 research outputs found

    A parallel edge orientation algorithm for quadrilateral meshes

    Get PDF
    One approach to achieving correct finite element assembly is to ensure that the local orientation of facets relative to each cell in the mesh is consistent with the global orientation of that facet. Rognes et al. have shown how to achieve this for any mesh composed of simplex elements, and deal.II contains a serial algorithm to construct a consistent orientation of any quadrilateral mesh of an orientable manifold. The core contribution of this paper is the extension of this algorithm for distributed memory parallel computers, which facilitates its seamless application as part of a parallel simulation system. Furthermore, our analysis establishes a link between the well-known Union-Find algorithm and the construction of a consistent orientation of a quadrilateral mesh. As a result, existing work on the parallelisation of the Union-Find algorithm can be easily adapted to construct further parallel algorithms for mesh orientations.Comment: Second revision: minor change

    On code generation techniques for finite elements

    No full text
    Efficient numerical solvers for partial differential equations are critical to vast fields of engineering and scientific research, including weather and climate prediction. State-of-the-art finite element discretisations, although offering many desirable properties, are often difficult to implement. Consequently, many developers of complicated finite element discretisations use code generation based software platforms. The form compiler is a key component of such software: it 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. This thesis presents a novel, multi-stage code generation framework for the finite element method, implemented in the Two-Stage Form Compiler (TSFC). A core idea of TSFC is the introduction of a tensor algebra language as its intermediate representation. This creates a clean separation between the implementation of finite element objects and geometric terms as well as the problem of efficient code generation for tensor algebra expressions, which enables the maintenance of the structure of the input expression longer in the compiler pipeline than previous form compilers, and thus helps to facilitate the application of optimisations at the highest possible level of abstraction. The intermediate language is also proven to be a suitable medium and level of abstraction for numerous optimisations, including the expression and exploitation of structure intrinsic to some finite elements. This includes sum factorisation on cuboid cells for continuous, discontinuous, H(div) and H(curl) conforming elements. My experiments confirm optimal algorithmic complexity for high-order finite element assembly. This is achieved through several novel contributions: the introduction of a more powerful interface between the form compiler and the library providing the finite elements; a more abstract, smarter library of finite elements that explicitly communicates the structure of elements; and form compiler algorithms to automatically exploit this exposed structure.Open Acces

    firedrakeproject/tsfc: The Two Stage Form Compiler

    No full text
    Version of form compiler tools used in the experiments of the TSFC paper. This release is specifically created to document the version of Firedrake used in a particular set of experiments. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to http://www.firedrakeproject.org/publications.htm

    TSFC: A Structure-Preserving Form Compiler

    Get PDF
    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 being 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 is possible with 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

    firedrakeproject/tsfc: The Two Stage Form Compiler

    No full text
    Version of Firedrake used in 'Vertical slice modelling of nonlinear Eady waves using a compatible finite element method'. This release is specifically created to document the version of Firedrake used in a particular set of experiments. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to http://www.firedrakeproject.org/publications.htm

    FInAT/FInAT: a smarter library of finite elements

    No full text
    <p>This release is specifically created to document the version of FInAT used in a particular set of experiments using Firedrake. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to https://www.firedrakeproject.org/citing.html</p&gt

    firedrakeproject/ufl: Unified Form Language

    No full text
    Modified FFC with nonaffine support for some experiments of the TSFC paper This release is specifically created to document the version of Firedrake used in a particular set of experiments. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to http://www.firedrakeproject.org/publications.htm

    firedrakeproject/fiat: The Finite Element Automated Tabulator

    No full text
    Version of Firedrake used in 'The geometry of optimally transported meshes on the sphere'. This release is specifically created to document the version of Firedrake used in a particular set of experiments. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to http://www.firedrakeproject.org/publications.htm
    corecore