Firedrake: high performance, high productivity simulation for the continuum mechanics community.

Lead Research Organisation: Imperial College London
Department Name: Mathematics

Abstract

This project will extend and enhance the Firedrake automated finite element
simulation system to allow researchers across the field of continuum mechanics
to simulate a wider range of physical phenomena using more sophisticated
techniques than they would be able to code themselves, and to do so by
specifying the simulation from highly productive mathematical interface
embedded in Python.

The simulation of continuous physical systems described by partial differential
equations (PDEs) is a mainstay activity of computational science. This spans
the integrity of structures, the efficiency of industrial processes built on
fluid flow, and the propagation of electromagnetic waves from an antenna to
name but a few.

Each simulation demands the choice of an appropriate PDE, an accurate and
stable discretisation, the efficient parallel assembly of the resulting
matrices and vectors, and the fast, scalable solution of the resulting
numerical system. Every simulation is the composition of a chain of processes,
each of which is a research domain in its own right.

Most computational continuum mechanics research happens in small teams. These
groups constantly tackle new problems, needing changes at every level of the
simulation chain. The challenge is to allow individual researchers and small
teams to put together their own simulations, without requiring the impossible
by every researcher becoming an expert on the implementation of every stage of
the process.

Firedrake employs a mathematical language embedded in Python that enables
researchers to write the simulation they wish to execute in a highly productive
and concise way. The high performance parallel implementation of the simulation
is then automatically generated by specialised compilers at runtime. The result
is a system in which scientists and engineers write maths and get simulation.
This frees researchers to focus on the continuum mechanics question at hand
rather than the mechanics of creating the simulation.

Firedrake is a widely employed community code with hundreds of published
applications across continuum mechanics. For many researchers, Firedrake
clearly already meets at least some of their needs. However, the sophistication
of continuum mechanics research is boundless: there are always users and
potential users whose problems cannot fully be expressed in Firedrake's high
level mathematical language. This project will address several such
limitations, chosen in response to formal Firedrake user engagement over the
last two years.

First, we will extend Firedrake's capabilities in solving coupled multi-domain
systems. This will enable Firedrake users to more effectively tackle simulation
challenges such as the impact of sea waves on wind turbine columns.

Second, we will extend Firedrake's automated inverse capabilities to include
complex-valued problems. This will significantly benefit users wishing
to simulate optimal design problems involving electromagnetic waves.

Third, we will extend the range of meshes that Firedrake can employ to include
unstructured hexahedral meshes, and hierarchically refined meshes. This will
improve Firedrake's support for efficient high order discontinuous Galerkin
discretisations and for multiscale problems such as folding of materials.

In addition to extending Firedrake's technical capabilities, this project will
grow and support the community of continuum mechanics researchers using
Firedrake. We will reduce the technical knowledge needed to install Firedrake
by providing packages for the main desktop operating systems. We will run
tutorials, workshops, and provide online support to new and existing Firedrake
users. An "open door" programme of user visits to the Firedrake core developers
will provide personal one on one assistance with their simulation needs. We
will invest significant time in the extension and maintenance of Firedrake's high
quality documentation.

Publications

10 25 50