Making point sets first class in UFL and Firedrake

Reuben W. Nixon-Hill (Science and Solutions for a Changing Planet DTP & Department of Mathematics, Imperial College London, 🇬🇧)
Daniel Shapero (Polar Science Center, Applied Physics Laboratory, University of Washington, 🇺🇸)
Colin J. Cotter (Department of Mathematics, Imperial College London, 🇬🇧)
David A. Ham (Department of Mathematics, Imperial College London, 🇬🇧)
Tuesday session 1 (Zoom) (13:00–14:40 GMT)
View slides (pdf) (available under a CC BY 4.0 license)

Point data turn up all the time in scientific computing problems—perhaps you want to know the value of a field at a particular point or set of points, or you have point data that you want to assimilate into a model of some phenomenon. At the moment points are typically expressed as lists of coordinates, thereby bypassing the Unified Form Language's (UFL's) type system of function spaces and meshes.

In this talk I will discuss how new concepts such as a "Mesh of Disconnected Vertices" allow point sets to be treated as vectors in a finite element vector space with appropriate UFL arguments and coefficients. I will show how an interpolation operator, onto a function space on such a mesh, can be constructed to represent point evaluations. Since such an operator can be differentiated it fits neatly into the pyadjoint/dolfin-adjoint ecosystem allowing PDE constrained optimisation problems to be solved when, for example, assimilating point data. I will also discuss how this could impact future work to turn UFL into a domain specific language (DSL) for expressing and automating diagnostics on big field datasets produced by climate models.