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.