Abstract

Abstract. Within the finite element community, discontinuous Galerkin (DG) and mixed finite element methods have become increasingly popular in simulating geophysical flows. However, robust and efficient solvers for the resulting saddle point and elliptic systems arising from these discretizations continue to be an ongoing challenge. One possible approach for addressing this issue is to employ a method known as hybridization, where the discrete equations are transformed such that classic static condensation and local post-processing methods can be employed. However, it is challenging to implement hybridization as performant parallel code within complex models whilst maintaining a separation of concerns between applications scientists and software experts. In this paper, we introduce a domain-specific abstraction within the Firedrake finite element library that permits the rapid execution of these hybridization techniques within a code-generating framework. The resulting framework composes naturally with Firedrake's solver environment, allowing for the implementation of hybridization and static condensation as runtime-configurable preconditioners via the Python interface to the Portable, Extensible Toolkit for Scientific Computation (PETSc), petsc4py. We provide examples derived from second-order elliptic problems and geophysical fluid dynamics. In addition, we demonstrate that hybridization shows great promise for improving the performance of solvers for mixed finite element discretizations of equations related to large-scale geophysical flows.

Highlights

  • The development of simulation software is an increasingly important aspect of modern scientific computing, in the geosciences in particular

  • The finite element method (FEM) is a mathematically robust framework for computing numerical solutions of partial differential equations (PDEs) that has become increasingly popular in fluids and solids models across the geosciences, with a formulation that is highly amenable to code generation techniques

  • Slate is heavily influenced by the Unified Form Language (UFL) (Alnæs et al, 2014; Logg et al, 2012a), a domain-specific language (DSL) embedded in Python which provides symbolic representations of finite element forms

Read more

Summary

Introduction

The development of simulation software is an increasingly important aspect of modern scientific computing, in the geosciences in particular. Software projects developing automatic code generation systems have become quite popular in recent years, as such systems help create a separation of concerns which focuses on a particular complexity independent from the rest This allows for agile collaboration between computer scientists with hardware and software expertise, computational scientists with numerical algorithm expertise, and domain scientists such as meteorologists, oceanographers and climate scientists. This automated translation facilitates the separation of concerns between applications scientists and computational/computer scientists and facilitates the automated optimization of compiled code This framework provides an environment for the development and testing of numerics relevant to the Gung-Ho Project, an initiative by the UK Met Office in designing the next-generation atmospheric dynamical core using mixed finite element methods (Melvin et al, 2019).

Notation
A system for localized algebra on finite element tensors
An overview of Slate
Terminal tensors
Symbolic linear algebra
Examples
Hybridization of mixed methods
A20 A21 A22 F2
Hybridization of discontinuous Galerkin methods
Local post-processing
Post-processing of the flux
Static condensation as a preconditioner
Interfacing with PETSc via custom preconditioners
A static condensation interface for hybridization
Preconditioning mixed methods via hybridization
Numerical studies
HDG method for a three-dimensional elliptic equation
Error versus execution time
Breakdown of solver time
Hybridizable mixed methods for the shallow water equations
Atmospheric flow over a mountain
Hybridizable methods for a linear Boussinesq model
Compatible finite element discretization
Preconditioning the mixed velocity pressure system
Robustness against acoustic Courant number with implicit Coriolis
Findings
Conclusions
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call