View: session overviewtalk overview

An introductory, hands-on, tutorial to using Firedrake.

14:00 | Recent progress in Gusto - a dynamical core library based on firedrake SPEAKER: Golo Wimmer ABSTRACT. Gusto is a firedrake based library containing a dynamical core, i.e. the fluid dynamics component of an atmosphere model. Like Gung Ho, the Met office’s current research dynamical core, it is based on a compatible finite element method. In this method, the finite element spaces are mapped by differential operators from one to another, allowing for discrete versions of the div-curl and curl-grad identities of vector calculus. This combines the advantage of arbitrary grids provided by the finite element method with other desirable properties arising from these discrete vector calculus identities. In this presentation, we provide an overview of Gusto’s modular structure and lay out its recent development. Further, we will give a more detailed account of a recent contribution to Gusto and work in progress: a hydrostatic switch for model comparison purposes, and additional modules based on a Hamiltonian framework, ensuring Energy conservation while retaining upwinding terms. |

14:20 | Coupling 'Physics' to a Finite Element Dynamical Core ABSTRACT. Dynamical cores used for numerical weather prediction and climate modelling with latitude-longitude grids are approaching a scalability bottleneck due to the convergence of meridians at the poles. One alternative being researched by the Gung Ho network is the use of compatible finite element methods. However whilst the discretisation of the dynamical core might change, other parts of the whole model coupled to it may not. This is particularly relevant to the 'physics' which describes the unresolved or diabatic parts of the flow. I will examine issues related to coupling the 'physics' to finite element dynamics, focusing in particular on processes related to the inclusion of moisture in atmospheric models. |

14:40 | A locally conservative compatible finite element discretisation of the rotating shallow water equations SPEAKER: Werner Bauer ABSTRACT. We introduce a locally conservative compatible finite element (FE) discretisation of the rotating shallow water equations using their split form consisting of topological and metric-dependent parts. The splitting allows us to introduce two chains of compatible FE spaces such that both divergence and gradient operators hold in strong form, a property shared by the full topological equations. The representation of the pressure gradient is therefore locally conservative, in contrast to standard FE where the gradient operator is discretised only weakly. Applying a single mesh approach, the Hodge-star operators, required to represent the metric-dependent equations, are not invertible though. Using the flexibility of Firedrake in the choice of FE spaces and solvers, we introduce such single mesh approach and study various non-invertible Hodge-stars that apply kernel projection or pseudo-inverses, for instance. We show the scheme's convergence, stability, and local conservation properties. |

15:30 | icepack: modeling the flow of glaciers with firedrake ABSTRACT. In this talk, I'll describe my work on the library icepack, which implements numerical solvers for the equations of motion of large-scale ice flow. Glacier dynamics is one of the main sources of uncertainty in predicting sea-level rise over the next century. Despite the importance of modeling for practitioners in many subfields of glaciology, using sophisticated models has, in the past, been the province of experts. The goal of icepack is to lower the barrier to entry to using more complex models of ice flow for glaciologists who are not experts in numerical methods as such. Firedrake and the associated form language have been instrumental in this task by allowing users to write code that is much closer to the mathematics than was previously possible. |

15:50 | Using Slate: a framework for localized algebra on finite element systems SPEAKER: Thomas Gibson ABSTRACT. We present a domain-specific abstraction to facilitate the automatic generation of element-local dense linear algebra kernels for finite element methods. The language, known as Slate, is a compact, Python-embedded DSL for code-generation systems using the unified form language (UFL) as the primary user-facing abstraction for describing finite element problems. Slate takes the discretized equations, expressed in UFL, and provides high-level representations of the local element tensors associated with their respective forms. Equipped with a standard set of operations, expressions describing symbolic operators for localized algebra can be constructed from these representations. A specialized compiler for linear algebra is then used to generate low-level code from these mathematical descriptions. Key examples are presented in this talk demonstrating both syntax and use. Model applications include the static condensation of hybridized finite element systems, local recovery of discontinuous fields, and localized post-processing techniques. Slate is a developing project and continues to expand in its features as various applications arise. All of its components are fully-integrated in Firedrake, providing access to hybridization and static condensation procedures for several ongoing applications. |

16:10 | SLATE-based solvers for semi-implicit hybridised DG methods in fluid dynamics SPEAKER: Eike Mueller ABSTRACT. (Semi-) implicit time-stepping methods can improve the speed of fluid dynamics simulations by avoiding prohibitively small time-steps due to fast, but physically irrelevant, waves. However, since (semi-)implicit methods require the solution of a linear system at every timestep, it is often not clear if they are competitive with simpler time-explicit integrators. Although Discontinuous Galerkin (DG) discretisations have received a lot of attention in the community and can lead to FLOP bound implementations at higher-order, the development of competitive semi-implicit DG methods has been complicated by the fact that they lead to linear systems which are hard to precondition. Hybridised versions of the DG method overcome this problem by introducing an equation for flux-unknowns on the grid-facets, thus avoiding the expensive iteration over the system with all prognostic unknowns. The new SLATE language allows the easy implementation of hybridized DG methods in Firedrake. In this talk, we discuss progress on the development of solvers and bespoke preconditioners for the hybridized shallow water equations. |

17:00 | Quantifying data traffic of sparse matrix-vector multiplication in a multi-level memory hierarchy ABSTRACT. Sparse matrix-vector multiplication (SpMV) is the central operation in an iterative linear solver. On a computer with a multi-level memory hierarchy, SpMV performance is limited by memory or cache bandwidth. Furthermore, for a given sparse matrix, the volume of data traffic depends on the location of the matrix non-zeros. By estimating the volume of data traffic with Aho, Denning and Ullman’s page replacement model [1], we can locate bottlenecks in the memory hierarchy and evaluate optimizations such as matrix reordering. The model is evaluated by comparing with measurements from hardware performance counters on Intel Sandy Bridge. [1]: Alfred V. Aho, Peter J. Denning, and Jeffrey D. Ullman. 1971. Principles of Optimal Page Replacement. J. ACM 18, 1 (January 1971), pp. 80-93. |

17:00 | Assimilation of tide gauge data into regional tidal models with Thetis ABSTRACT. Regional shallow-water tidal models are sensitive to input parameters including bottom drag coefficient, bathymetry, and boundary forcing. While several empirical data sets exist for bathymetry and boundary forcing, bottom friction is a highly uncertain parameter. Typically taken as a uniform constant over the model domain, bottom friction is commonly used as a model tuning parameter, manually adjusted to produce model results minimising a misfit to empirical free surface or velocity data, at tide gauge locations or along satellite tracks. Here, the Thetis shallow water solver and its adjoint are used to calculate the gradient of model-data misfit with respect to a spatially varying bottom friction field. A gradient-based optimisation method is used to produce an optimised bottom drag coefficient field, thereby assimilating real-world tide gauge data into the model. This method is applied to regional tidal models of the English Channel and Severn Estuary, two regions of significant interest in the renewable energy sector, and approaches to the regularisation of the problem are presented. |

17:00 | Modelling the interaction of turbulence and microbial motility in determining the spatial distribution of phytoplankton. ABSTRACT. Previous modelling and lab experiments have shown that regions of turbulent flow can interact with the motility of individual microbes to distribute microbe populations in complex spatial patterns[1], with potentially significant implications on ecological scale processes - predation or reproduction rates for instance. I have been working to replicate the results of [1] and aim to extend their findings to larger-scale simulations which more closely mirror the true turbulent environment of microbes - such as coastal waters. |

17:00 | Tidal power plant modelling using anisotropic mesh adaptation in Thetis SPEAKER: Nicolas Barral ABSTRACT. The construction and operation of tidal range structures has been in the spotlight recently due to the unique role they could play in the future clean energy generation mix. Tidal energy proposals must first be subject to rigorous scrutiny over their feasibility and environmental implications, e.g. water quality and sedimentary impacts. Numerical models plays a key role in such studies. Here, a novel coastal ocean finite element model has been coupled with tidal power plant operation algorithms that can simulate the hydrodynamics associated with variable operational strategies. The method has been applied to assess and optimise performance over time to maximise electricity output over variable spring-neap tidal conditions. Informed by the design of the constituent turbines and sluice gates installed, the models can simulate the tidal power plant operation, providing insight into the energy output variability and any hydro-environmental impacts. However, this is inevitably a highly multi-scale problem spanning the metre to the 100s of kms scales, and needing to be run over at least monthly time scales. The locations of the areas of interest, due to the transient nature of the tidal conditions also vary, thus demonstrating an interesting computational challenge. Mesh adaptation addresses this issue by generating meshes where the location of the degrees of freedom minimizes a certain error in the model. Mesh adaptation results in a gain both in terms of accuracy and CPU time that has been well documented. We will detail how preliminary adaptive simulations of tidal power plants were implemented, combining the Firedrake-based coastal ocean modelling framework Thetis, and Pragmatic, an anisotropic remeshing library. In particular, we will focus on adapting according to the formation of large-scale vortices due to the operation of hydraulic structures within tidal range impoundments. Such patterns have previously been considered accountable for scalar entrainment that in turn impacts on water quality and sediment deposition. We will analyse the gain in computational time and potentially accuracy that can be expected from mesh adaptation in this context. |

17:00 | Solving PDEs with the Discontinuous Galerkin method in DUNE and Firedrake SPEAKER: Jack Betteridge ABSTRACT. When numerically solving PDEs it is best to avoid reinventing the wheel. Many hours of coding have already been spent developing highly efficient software frameworks for solving PDEs. These frameworks often have a well-designed API and the resultant code is suitable for running on modern HPC architectures. Two such examples are DUNE, which uses modern C++, and Firedrake, which uses Python to autogenerate C code from a high-level mathematical representation. I will present my user experience using both frameworks as part of my research into efficient elliptic solvers for higher-order Discontinuous Galerkin (DG) discretisations, with applications in atmospheric modelling. As an end user, I will show some of the relative merits of each of the two frameworks, a short example code for each and some end results. In my research, both software frameworks were used to numerically verify theoretical convergence results for an advection based problem, which was solved using a DG discretisation. Theory states that the rate of convergence should be O(h^{p+1/2}), for solutions with a certain regularity, and we present findings that show in certain cases one can get even faster convergence. A short discussion on our present work using hybridised DG for the shallow water equations is also included. |

17:00 | FInAT is not a tabulator SPEAKER: Lawrence Mitchell ABSTRACT. Code generation is an increasingly popular technique for the development of complicated finite element discretisations of partial differential equations. In this poster, we show new developments in the Firedrake finite element framework that allow the code generation pipeline to exploit structure inherent to some finite elements. This includes, in particular, sum factorisation on tensor product cells for the full family of $Q^-$ spaces. This is achieved by providing a more expressive interface between the form compiler and the library providing the implementation of finite element tabulation. This is encapsulated in a new finite element library, FInAT, that explicitly communicates the structure of elements. New form compiler algorithms are introduced that exploit this structure. |