Slate: extending Firedrake's domain-specific abstraction to hybridized solvers for geoscience and beyond

by   Thomas H. Gibson, et al.

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 on-going 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 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 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.


page 6

page 11

page 14

page 21

page 26

page 31


A domain-specific language for the hybridization and static condensation of finite element methods

In this paper, we introduce a domain-specific language (DSL) for concise...

Composable block solvers for the four-field double porosity/permeability model

The objective of this paper is twofold. First, we propose two composable...

fenicsR13: A Tensorial Mixed Finite Element Solver for the Linear R13 Equations Using the FEniCS Computing Platform

We present a mixed finite element solver for the linearized R13 equation...

Escaping the abstraction: a foreign function interface for the Unified Form Language [UFL]

High level domain specific languages for the finite element method under...

FEMPAR: An object-oriented parallel finite element framework

FEMPAR is an open source object oriented Fortran200X scientific software...

HAZniCS – Software Components for Multiphysics Problems

We introduce the software toolbox HAZniCS for solving interface-coupled ...

A detailed introduction to density-based topology optimisation of fluid flow problems with implementation in MATLAB

This article presents a detailed introduction to density-based topology ...

Please sign up or login with your details

Forgot password? Click here to reset