Matthew W. Scroggs
Matthew W. Scroggs
Click here to win prizes by solving the mscroggs.co.uk puzzle Advent calendar.
Click here to win prizes by solving the mscroggs.co.uk puzzle Advent calendar.

subscribe
Welcome to my academic web page. I am currently a Research Software Engineer at University College London. On this page, you will find a summary of my main research interests, followed by full lists of my (click to scroll):
You can also find a list of my papers on my Google Scholar and ORCID pages.

Research interests

My research interested are mostly in the areas of numerical analysis and scientific computing, where I have been working 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.

FEniCSx

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 (2022).
I am one of the main contributors to Basix, the finite element tabulation library that forms part of FEniCSx. Basix's features are described in Basix: a runtime finite element basis evaluation library (2022)

Bempp

During my PhD, I became heavily involved in developing Bempp, an open-source boundary element method library. My contributions to the software include work on FEM-BEM coupling, Maxwell's equations, dual function spaces, and the weak imposition of boundary conditions.
More recently, we have been working on a new version of Bempp (Bempp-rs), written in Rust.

DefElement

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.

Scientific Computing in Rust

I am one of the organisers of the Scientific Computing in Rust annual virtual workshop, and one of the editors of the Scientific Computing in Rust monthly newsletter.
This workshop and newsletter are a way for people using Rust for scientific applications to share project with each other, and come together to plan future collaborations.

Positions

2024– Research Software Engineer, Advanced Research Computing Centre, University College London
2022–2024 Research Fellow, Department of Mathematics, University College London
2019–2022 Research Associate, Department of Engineering, University of Cambridge
2014–2019 PhD student, Department of Mathematics, University College London

Publications

A list of my papers in BibTeΧ format can be found here. You can also find a list of my papers on my Google Scholar and ORCID pages.
 Preprints 
I. A. Baratta, J. P. Dean, J. S. Dokken, M. Habera, J. S. Hale, C. N. Richardson, M. E. Rognes, M. W. Scroggs, N. Sime & G. N. Wells. DOLFINx: the next generation FEniCS problem solving environment. [doi.org/10.5281/zenodo.10447666, BibTeΧ]
 2024 
M. Bosy, M. W. Scroggs, T. Betcke, E. Burman & C. D. Cooper. Coupling finite and boundary element methods to solve the Poisson–Boltzmann equation for electrostatics in molecular solvation, Journal of Computational Chemistry 45(11), 2024, 787–797. [arΧiv, doi.org/10.1002/jcc.27262, BibTeΧ]
 2022 
M. W. Scroggs, I. A. Baratta, C. N. Richardson & G. N. Wells. Basix: a runtime finite element basis evaluation library, Journal of Open Source Software 7(73), 2022, 3982. [pdf, doi.org/10.21105/joss.03982, BibTeΧ]
M. W. Scroggs, J. S. Dokken, C. N. Richardson & G. N. Wells. Construction of arbitrary order finite element degree-of-freedom maps on polygonal and polyhedral cell meshes, ACM Transactions on Mathematical Software 48(2), 2022, 18:1–18:23. [pdf, arΧiv, doi.org/10.1145/3524456, BibTeΧ]
T. Betcke, E. Burman & M. W. Scroggs. Boundary element methods for Helmholtz problems with weakly imposed boundary conditions, SIAM Journal on Scientific Computing 44(5), 2022, A2895–A2917. [pdf, arΧiv, doi.org/10.1137/20M1334802, BibTeΧ]
 2021 
T. Betcke & M. W. Scroggs. Bempp-cl: A fast Python based just-in-time compiling boundary element library, Journal of Open Source Software 6(59), 2021, 2879. [pdf, doi.org/10.21105/joss.02879, BibTeΧ]
T. Betcke & M. W. Scroggs. Designing a high-performance boundary element library with OpenCL and Numba, IEEE Computing in Science & Engineering 23(4), 2021, 18–28. [pdf, doi.org/10.1109/MCSE.2021.3085420, BibTeΧ]
M. W. Scroggs. Symfem: a symbolic finite element definition library, Journal of Open Source Software 6(64), 2021, 3556. [pdf, doi.org/10.21105/joss.03556, BibTeΧ]
 2020 
T. Betcke, M. W. Scroggs & W. Śmigaj. Product algebras for Galerkin discretisations of boundary integral operators and their applications, ACM Transactions on Mathematical Software 46(1), 2020, 4:1–4:22. [pdf, arΧiv, doi.org/10.1145/3368618, BibTeΧ]
E. Burman, S. Frei & M. W. Scroggs. Weak imposition of Signorini boundary conditions on the boundary element method, SIAM Journal on Numerical Analysis 58(4), 2020, 2334–2350. [pdf, arΧiv, doi.org/10.1137/19M1281721, BibTeΧ]
M. W. Scroggs. Efficient computation and applications of the Calderón projector (PhD thesis). [pdf (via UCL Discovery), UCL Discovery, BibTeΧ]
 2019 
T. Betcke, E. Burman & M. W. Scroggs. Boundary element methods with weakly imposed boundary conditions, SIAM Journal on Scientific Computing 41(3), 2019, A1357–A1384. [pdf, arΧiv, doi.org/10.1137/18M119625X, BibTeΧ]
A. Kleanthous, T. Betcke, D. P. Hewett, M. W. Scroggs & A. J. Baran. Calderón preconditioning of PMCHWT boundary integral equations for scattering by multiple absorbing dielectric particles, Journal of Quantitative Spectroscopy and Radiative Transfer 224, 2019, 383–395. [pdf, arΧiv, doi.org/10.1016/j.jqsrt.2018.11.035, BibTeΧ]
 2017 
M. W. Scroggs, T. Betcke, E. Burman, W. Śmigaj & E. van 't Wout. Software frameworks for integral equations in electromagnetic scattering based on Calderón identities, Computers & Mathematics with Applications 74(11), 2017, 2897–2914. [pdf, arΧiv, doi.org/10.1016/j.camwa.2017.07.049, BibTeΧ]

Awards & nominations

Research-related articles

You can find a more exhaustive list of articles I have written on the talks page.
 2020 
Oπnions: Should I share my code? (Chalkdust Magazine, issue 12)

Editorial work

 2024 
I am one of the editors of the proceedings of FEniCS 2024

Teaching & training

 2022 
In 2022-23, I taught PHAS0102: Techniques of High-Performance Computing at UCL. You can find my notes for this course at mscroggs.co.uk/PHAS0102
 2021 
In 2021, I helped run the boundary element method day of the EAA / UKAN Computational Acoustics Summer School. The materials used for this can be found on GitHub.
 2019 
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.
 2016 
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.

Conference & seminar organisation

 2024 
PDESoft 2024, Cambridge
 2021 

Other roles

 ongoing 
Since 2024, I have been an editor of Scientific Computing in Rust Monthly.
Since 2024, I have been a member of the Talking Maths in Public (TMiP) organising committee.
Since 2022, I have been a member of the FEniCS Steering Council.
Since 2021, I have been an editor of DefElement.
 2022 
From 2020–2022, I was one of the organisers of the Sheffield Hallam University Recreational Mathematics Research Cluster seminar series.

Conference talks & seminars

 2024 
UFL: What's changed in the last year and what's next? (FEniCS 2024) [video]
Bempp-rs: writing a boundary element library in Rust (PDESoft 2024)
DefElement: an encyclopedia of finite element definitions (poster) (PDESoft 2024) [pdf, doi.org/10.6084/m9.figshare.23294939.v1]
Writing a grid library for finite and boundary element methods (Scientific Computing in Rust 2024) [video]
 2023 
Solving coupled FEM-BEM problems using FEniCSx and Bempp (SIAM Conference on Computational Science and Engineering)
newfl: working towards a new version of UFL (FEniCS 2023)
DefElement: an encyclopedia of finite element definitions (poster) (FEniCS 2023) [pdf, doi.org/10.6084/m9.figshare.23294939.v1]
 2022 
Defining custom elements in FEniCSx (FEniCS 2022) [slides]
Rust: first impressions and rough guide (Cambridge RSE seminar series)
 2021 
Back to Basix: Construction of arbitrary order finite element DOF maps on polygonal and polyhedral cell meshes (FEniCS 2021) [slides]
 2019 
Weakly imposing boundary conditions on the boundary element method using a penalty method (Mafelap 2019)
 2018 
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)
 2017 
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)
 2016 
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)
 2015 
Solving FEM/BEM coupled problems with FEniCS and BEM++ (Strathclyde 26th Biennial Numerical Analysis Conference)
Using FEniCS with BEM++ For FEM/BEM Coupled Problems (FEniCS'15) [video]
© Matthew Scroggs 2012–2024