Research
My research interests are in mathematical modelling and scientific computation, particularly numerical methods for interfacial fluid dynamics, high-order accurate algorithms for implicitly defined geometry, and multi-scale and multi-physics simulation. Below are some examples of my work.
High-order accurate closest point calculation for implicitly defined surfaces
A powerful technique for representing curves in two dimensions and surfaces in three dimensions is to define them implicitly, via a fixed isosurface/level set of a continuous scalar function. Implicit representations of surfaces lead to many mathematical and computational advantages in a variety of settings, such as in computing and manipulating surface geometry in interface tracking algorithms, solving partial differential equations on domains with moving boundaries and interfaces, and in computational geometry problems such as mesh generation.
Numerical methods making use of implicitly defined geometry often require accurate approximations of minimum distances to and closest points on implicitly defined surfaces. These calculations are used, for example, in reinitialisation of level set methods, in evaluating Voronoi operators in the Voronoi implicit interface method, and to build smooth and accurate extension functions which have prescribed values on a given implicitly defined surface. I have developed a set of algorithms in C++ for high-order accurate closest point calculations for implicitly defined codimension-one geometry, and these are available on the Code page.
Reinitialising a two-dimensional level set function [1]. (left) Contour plot of a function which implicitly defines an elliptical interface (black curve). (right) Contour plot of the corresponding reinitialised signed distance function.
Level sets of a signed distance function reconstructed from the surface shown in grey [1]. This example was constructed from a small 5 by 5 by 5 patch of grid cells, in such a way that the droplet on the right is completely contained within one grid cell. Subgrid details such as this are important in high-order methods involving implicitly-defined geometry.