I am currently a Postdoctoral Research Associate at the University of Cambridge, working on the ASiMoV project, working with Garth Wells and Chris Richardson. I am also a College Postdoctoral Associate at Jesus College.
Prior to this, I was a PhD student at University College London (UCL) where I worked on boundary element methods under the supervision of Timo Betcke and Erik Burman.
On this page, you will find a summary of my main research interests; and a full list of my papers, positions, teaching, conference talks, awards and nominations. You can also find a list of my papers on my Google Scholar and ORCID pages.
Finite and boundary element methods
My mathematical research has focussed on finite element methods (FEM) and boundary element methods (BEM). My work has included both the theoretical analysis of these methods, and the implementation of these methods in open-source software projects.
Much of my work on boundary element methods is written up in my PhD thesis, Efficient computation and applications of the Calderón projector (2020). Much of my PhD work is written up in a more beginner-friendly way in this series of blog posts.
During my postdoc in Cambridge, I began working on FEniCSx, the new version of the FEniCS finite element method library. FEniCS is a C++ finite element library with a Python user interface.
My contributions to FEniCSx include the implementation degree-of-freedom (DOF) transformations that ensure that the positions and orientations of DOFs of higher order spaces are consistent on edges and faces of elements. This removes the need to re-order the data in the mesh that the user inputs, and allows for a consistent implementation on triangular, tetrahedral, quadrilateral and hexahedral cells. Details of this can be found in Construction of arbitrary order finite element degree-of-freedom maps on polygonal and polyhedral cell meshes (2021).
I am one of the main contributors to Basix, the finite element tabulation library that forms part of FEniCSx.
I was one of the orgainsers of the FEniCS 2021 conference.
During my PhD, I became heavily involved in developing Bempp, an open-source boundary element method library.
Bempp was primarily written in Python with a fast C++ computational core, although in the latest version C++ has been replaced by OpenCL. Documentation can be found at bempp.com.
My contributions to the software include the implementation of dual function spaces necessary for the construction of operator preconditioners, and an implementation of the fast multiple method.
In 2020, I started working on DefElement, an (online) encyclopedia of finite element definitions.
DefElement contains information about the definition of a large (and growing) range of discrete finite element spaces, with examples and references to papers where they were first defined. It is intended to be useful reference tool for anyone working with finite element methods.
The examples shown on DefElement are generated using my open-source symbolic finite element definition and tabulation library Symfem.
Maxwell wave scattering
During my PhD, I did much work on boundary element methods for Maxwell wave scattering problems. In Bempp, I implemented Buffa–Christiansen dual function spaces: these spaces are required when multiplying two operators together which is necessary when applying Calderón preconditioning to the electric field integral equation (EFIE).
These spaces are also useful when stably discretising the magnetic (MFIE) and combined (CFIE) field integral equations. This work is discussed in more detail in Software frameworks for integral equations in electromagnetic scattering based on Calderón identities (2017).
Weak imposition of boundary conditions
During my PhD, I worked on a method of weakly imposing boundary conditions when using the boundary element method. This method weakly imposes the boundary conditions by adding a penalty term to the full Calderón system, inspired by Nitsche's method for finite element methods.
Due to the approximate double of the number of unknowns, this method is not competitive for pure Dirichlet and Neumann problems, but for more complex boundary conditions—such as Robin boundary conditions and mixed boundary conditions—it provides a much simpler formulation that is easier to implement.
We analysed this method for Laplace Dirichlet, Neumann and Robin problems in Boundary element methods with weakly imposed boundary conditions (2019), and extended this to Signorini conditions in Weak imposition of Signorini boundary conditions on the boundary element method (2020) and Helmholtz problems in Boundary element methods for Helmholtz problems with weakly imposed boundary conditions (2020).
Early in my PhD, I worked on the coupling of the finite and boundary element methods. For transmission problems involving wave travelling through a large or infinite medium and through a small inhomogeneous object, the boundary element method is well suited to solving the problem outside the object while the finite element method is better suited for solving the problem inside the object. Using the two methods for the two parts of the problem gives rise to FEM-BEM coupling.
2019–2022 Research Associate, Department of Engineering, Cambridge
2014–2019 PhD student, Department of Mathematics, UCL
Awards & nominations
You can find a more exhaustive list of articles I have written on the talks page.
Oπnions: Should I share my code? (Chalkdust Magazine, issue 12)
In 2018-19, I taught the Python part of taught MATH0011: Mathematical Methods 2 at UCL. Notes for this course can be found at mscroggs.co.uk/0011.
In 2015-16 and 2016-17, I taught MATH6103: Differential and Integral Calculus at UCL. You can find my notes for this course at mscroggs.co.uk/6103.
Weakly imposing boundary conditions on the boundary element method using a penalty method (Mafelap 2019)
Solving integral equations for electromagnetic scattering using Bempp (poster) (PDESoft 2018)
Weak imposition of boundary conditions using a penalty method (IABEM 2018)
Weak imposition of boundary conditions using a penalty method (Söllerhaus Workshop on Fast Boundary Element Methods in Industrial Applications)
Solving integral equations for electromagnetic scattering using BEM++ (Strathclyde 27th Biennial Numerical Analysis Conference)
Solving integral equations for electromagnetic scattering using BEM++ (Söllerhaus Workshop on Fast Boundary Element Methods in Industrial Applications)
Solving Maxwell problems with BEM++ (Joint DMV and GAMM Annual Meeting)
Coupling the finite and boundary element methods with FEniCS and BEM++ (BAMC 2016)
FEM-BEM coupling, Maxwell's equations, and BEM++ (FEniCS'16)
Coupling the finite and boundary element methods with FEniCS and BEM++ (PDESoft 2016)
Solving FEM/BEM coupled problems with FEniCS and BEM++ (Strathclyde 26th Biennial Numerical Analysis Conference)
© Matthew Scroggs 2012–2021