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):
- publications
- editorial work
- conference talks
- positions
- awards and nominations
- teaching
- conference and seminar organisation
- other roles
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.
You can read more about Bempp in Bempp-cl: A fast Python based just-in-time compiling boundary element library (2021) and Designing a high-performance boundary element library with OpenCL and Numba (2021).
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
2016
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
2023
2021
FEniCS 2021, online [proceedings]
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)
© Matthew Scroggs 2012–2024