Boundary Integral Equations: tutorials and resources
Boundary integral equations (BIEs) are a wonderfully efficient way to solve
PDE boundary value problems (BVPs) or eigenvalue problems (EVPs) with constant (or piecewise-constant) coefficients. This includes elliptic PDE such as the Laplace, Helmholtz, Maxwell, and Stokes equations. Much of my recent research is on better ways to do this. Here are some resources on theory and numerical methods.
Mathematical theory resources
- David Colton and Rainer Kress,
Integral equation methods in scattering theory (Wiley, 1983).
Helmholtz and Maxwell equations in 3D. Chapter 3 has useful proofs
including the "inside-out" trick for existence for the transmission BVP.
- David Colton and Rainer Kress, Inverse acoustic and
electromagnetic scattering theory (Springer, 1998).
Has a good summary for the Helmholtz (including the 2D case, and numerics including the Martensen-Kussmaul spectral quadrature) and Maxwell equations.
- David Colton, Partial Differential Equations: An Introduction
(Random House, 1988). Unusally detailed on Bessel functions and
the Helmholtz equation in 2D. Includes proof of jump relations that
relies on "blurring" the boundary.
- Rainer Kress, Linear Integral Equations (Springer, 1999).
Chapter 6 has potential theory for Laplace equation. Chapter 12 has the Nystrom
- My handwritten class notes for Math 126. Starting at p.25, although the earlier stuff is useful numerical analysis background. This draws from the above Kress and Colton books.
Numerical methods and resources for coding schemes yourself
Established numerical methods:
- Review talk on BIE Nystrom quadratures from CSE19 in Spokane, WA:
slides (3.6 MB).
- Go through the homework exercises in Math 126, starting around HW4 #2. Note, there are solution notes.
- My tutorials from our 2014 CBMS conference:
- Lectures 5-7 by Rikard Ojala in the course DN2255 at KTH.
- Review and comparison article by myself with Gunnar Martinsson, Sijia Hao, and Patrick Young (2011). Covers mostly the Helmholtz 2D case on smooth curves, which involves logarithmically singular kernels.
More advanced numerical methods and research for BVPs:
Methods specific to eigenvalue problems:
Existing software packages
- MPSpack includes code for
Laplace and Helmholtz BIEs in 2D, including various quadrature schemes
for smooth curves and corners,
and periodization methods. The tutorial (Sec. 7-9) has the BIE commands.
Development stopped around 2016; it is more of historical interest.
- BIE2D Matlab software package, which has Laplace and Stokes global quadratures, including the current best implementation of their barycentric-style close-evaluations. This is far from complete; however, it is simple to extract the routines you want.
- pybie2d, David Stein's extension of BIE2D in python, which has object-oriented construction of boundary objects, etc.
- pytential by Andreas Klöckner, for fast 2D and 3D later potential evaluation in python, via QBX, etc.
- BEM++ by Timo Betcke and colleagues at UCL. This is a mature and professional low-order Galerkin code in 3D, in C++ with python wrappers, including Laplace, Helmholtz and Maxwell.
This work was enabled in part by NSF grant DMS-1216656.