Mason Shopperly

MS-03 · numerics · Treatise · Reviewed Apr 29, 2026

SBP operators and Gregory quadrature

MEng project with Prof. David Zingg on high-order summation-by-parts finite-difference operators and generalised Gregory quadrature rules for boundary closures.

Role
MEng project, UTIAS
Era
2023–2025
Status
stable
Tier
flagship
Tools
MATLAB · LaTeX

Problem

High-order finite-difference methods advertise fast convergence and clean stability proofs, but the story at the boundary is usually what governs whether a scheme actually delivers on either. For my MEng at UTIAS I worked with Prof. David Zingg on summation-by-parts (SBP) operators, SBP/SAT boundary closures, and generalised Gregory quadrature rules for PDEs — the places where design choices in the discretisation show up as real effects on error and stability.

Approach

The project lived in MATLAB. I implemented several families of SBP operators — different orders and different boundary closures — along with SAT boundary treatments, and built a small harness for model advection and diffusion problems. From there the work was a convergence-and-stability study: grid-refinement studies on model PDEs, sweeps over SAT penalty parameters, and side-by-side comparisons between operator variants.

That scope forces you to take the discretisation seriously. Discrete energy estimates, operator norms, SAT penalty choice, boundary closure order — every one of them is a design knob with measurable consequences, and the only way to understand their interaction is to run operators against each other under the same refinement protocol.

Result

Nominal convergence rates for the implemented operators verified on model advection/diffusion problems; grid-refinement studies showed clearly where boundary closures clip the interior order of accuracy. Across ranges of SAT penalty parameters I mapped the combinations that yielded stable schemes against the ones that degenerated into spurious oscillations or blow-up. The takeaway is a small set of operator + SAT configurations that behave well in practice, with documented failure modes for the more delicate choices.

The broader result is the instincts: I can now read an operator and a boundary closure and have a reasonable expectation of what the convergence plot will say before I run it.

What I’d do differently

I would start with the failure cases, not the well-behaved ones. Most of what I learned about why certain SAT penalty ranges are safe came from watching the unstable configurations first. Running those on purpose at the start — picking penalty values just outside the stable band, watching the energy estimate go the wrong way, then walking back in — would have been a faster route to the same understanding than approaching it cleanly from the safe side.

The instinct that survives the project, separate from any single result, is that a high-order scheme is honest in the interior and earned at the boundary. That framing carries forward.

Working notes — what's open on this lane

← Previous · aeroAUTO

Next · UTAT wing MDO →