11 research outputs found

    On the shallow atmosphere approximation in finite element dynamical cores

    No full text
    We provide an approach to implementing the shallow atmosphere approximation in three dimensional finite element discretisations for dynamical cores. The approach makes use of the fact that the shallow atmosphere approximation metric can be obtained by writing equations on a three-dimensional manifold embedded in mathbbR4mathbb{R}^4 with a restriction of the Euclidean metric. We show that finite element discretisations constructed this way are equivalent to the use of a modified three dimensional mesh for the construction of metric terms. We demonstrate our approach via a convergence test for a prototypical elliptic problem

    Compatible finite element methods for geophysical flows: Automation and implementation using Firedrake

    No full text
    This book introduces recently developed mixed finite element methods for large-scale geophysical flows that preserve essential numerical properties for accurate simulations. The methods are presented using standard models of atmospheric flows and are implemented using the Firedrake finite element library. Examples guide the reader through problem formulation, discretisation, and automated implementation. The so-called “compatible” finite element methods possess key numerical properties which are crucial for real-world operational weather and climate prediction. The authors summarise the theory and practical implications of these methods for model problems, introducing the reader to the Firedrake package and providing open-source implementations for all the examples covered. Students and researchers with engineering, physics, mathematics, or computer science backgrounds will benefit from this book. Those readers who are less familiar with the topic are provided with an overview of geophysical fluid dynamics

    thetisproject/thetis: Thetis coastal ocean model

    No full text
    This version is used in paper "A comparison of Bayesian inference and gradient-based approaches for friction parameter estimation." This release is specifically created to document the version of Thetis used in a particular set of experiments. Please do not cite this as a general source for Thetis. See https://thetisproject.org/publications.html for how to cite Thetis in your work.This version is used in paper "A comparison of Bayesian inference and gradient-based approaches for friction parameter estimation." This release is specifically created to document the version of Thetis used in a particular set of experiments. Please do not cite this as a general source for Thetis. See https://thetisproject.org/publications.html for how to cite Thetis in your work.Thetis_20200306.

    A structure-exploiting numbering algorithm for finite elements on extruded meshes, and its performance evaluation in Firedrake

    No full text
    We present a generic algorithm for numbering and then efficiently iterating over the data values attached to an extruded mesh. An extruded mesh is formed by replicating an existing mesh, assumed to be unstructured, to form layers of prismatic cells. Applications of extruded meshes include, but are not limited to, the representation of three-dimensional high aspect ratio domains employed by geophysical finite element simulations. These meshes are structured in the extruded direction. The algorithm presented here exploits this structure to avoid the performance penalty traditionally associated with unstructured meshes. We evaluate the implementation of this algorithm in the Firedrake finite element system on a range of low compute intensity operations which constitute worst cases for data layout performance exploration. The experiments show that having structure along the extruded direction enables the cost of the indirect data accesses to be amortized after 10-20 layers as long as the underlying mesh is well ordered. We characterize the resulting spatial and temporal reuse in a representative set of both continuous-Galerkin and discontinuous-Galerkin discretizations. On meshes with realistic numbers of layers the performance achieved is between 70 and 90% of a theoretical hardware-specific limit

    Firedrake: Automating the finite element method by composing abstractions

    No full text
    Firedrake is a new tool for automating the numerical solution of partial differential equations. Firedrake adopts the domain-specific language for the finite element method of the FEniCS project, but with a pure Python runtime-only implementation centered on the composition of several existing and new abstractions for particular aspects of scientific computing. The result is a more complete separation of concerns that eases the incorporation of separate contributions from computer scientists, numerical analysts, and application specialists. These contributions may add functionality or improve performance. Firedrake benefits from automatically applying new optimizations. This includes factorizing mixed function spaces, transforming and vectorizing inner loops, and intrinsically supporting block matrix operations. Importantly, Firedrake presents a simple public API for escaping the UFL abstraction. This allows users to implement common operations that fall outside of pure variational formulations, such as flux limiters
    corecore