Work
Engineering and numerics.
Twelve projects across CFD, numerics, and aerodynamics — sorted by depth, not by tier. Where the code isn't public yet, the page is the canonical version. The mode tag on each card — Treatise · Atlas · Workflow · Build · Probe — signals the shape of the page beneath it.
-
ROLE · CONTRACT · 2025–2026 · Treatise
Sepal AI · reproducible aerospace analysis workflows
Aerospace engineering inside Sepal AI's task-based system — building reproducible analysis workflows, including constraint-driven fixed-wing UAV sizing, that someone without the original setup can re-run and trust.
Aerospace analysis·Fixed-wing UAV sizing·Reproducible analysis
SHIPPED Aerospace engineering on contract — reproducible analysis workflows including constraint-driven fixed-wing UAV sizing, built so a non-author can re-run them.
-
INDEPENDENT · 2024 → · Workflow
aeroAUTO
A personal OpenFOAM workflow built around the Ahmed body — mesh-independence series end-to-end, pressure / wake / y⁺ inspection on the converged solution, with the DrivAer geometry queued as the next step away from the textbook test case.
OpenFOAM·Python·bash·Linux·snappyHexMesh·ParaView·DrivAer
SHIPPED Drag-coefficient regression on a baseline OpenFOAM workflow, end-to-end.
-
MENG · UTIAS · 2023–2025 · Treatise
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.
MATLAB·LaTeX
SHIPPED Element-wise convergence verified on model PDEs; energy-stability proof drafted.
-
Aircraft 213.
Wing spar.
1st place, advanced class. UTAT · 2023–2025 · Build
UTAT wing MDO
Wing aerodynamics and a simple multidisciplinary design loop — nonlinear lifting-line coupled with beam-bending spar sizing — for the UTAT SAE Aero competition aircraft.
MATLAB·XFoil·XFLR5
SHIPPED Non-linear lifting-line + beam-bending sizing loop, on a real airframe at competition.
-
GRADUATE · UTIAS · AER1324 · Workflow
Forced isotropic turbulence on JHTDB
Statistical and structural analysis of a high-fidelity DNS of forced isotropic turbulence — from PDFs and spectra to Q and Λ₂ vortex identification.
MATLAB·Python·JHTDB API
SHIPPED JHTDB DNS read; spectrum, Q–R PDFs, velocity-gradient PDFs reproduced.
-
INFRA · 2024 → · Build
Multi-node CFD server
A small local cluster Mason built so OpenFOAM, Nektar++, and other CFD / numerical workloads run with more cores, better turnaround, and from anywhere — with proper monitoring.
Linux·MPI·OpenFOAM·Nektar++·remote ops·monitoring
SHIPPED Multi-node OpenFOAM cluster — built, tuned, in daily use.
-
INDEPENDENT · 2024 → · Atlas
CFDLab — a two-book CFD codebase
An independent, ongoing Python implementation of the Lomax–Pulliam–Zingg two-book CFD curriculum — three structurally different quasi-1-D Euler solvers, an analytical-method probe layer, and CI-pinned numerical baselines.
Python·NumPy·Matplotlib·MD5 baselines·CI
SHIPPED Three solvers (ARC1D / FLOMG / upwind1d), 43 CI-pinned baselines, 18 analytical-probe figures, 74-entry Exercise Guide.
-
COURSEWORK · UTIAS · AER1211 · Probe
Human Control of Flight Systems
UTIAS coursework on pilot-vehicle dynamics and handling qualities — the simulator photographs around the site come from this work.
-
INDEPENDENT · 2026 → · Build
LightRAG · local-model retrieval over the CFDLab vault
Self-hosted LightRAG deployment running entirely on local models, pointed at an Obsidian knowledge graph of the Lomax–Pulliam–Zingg CFD curriculum — entities, relations, and retrieval all built from the same notes that drive CFDLab.
LightRAG·Obsidian·Python·FastAPI·local LLMs·NetworkX
SHIPPED LightRAG (HKUDS) deployed locally over the CFDLab Obsidian vault — entity / relation extraction, embeddings, and inference all on local models.
-
INDEPENDENT · 2025 → · Atlas
aeroBASE — compose-first OpenFOAM case builder
An independent, ongoing OpenFOAM workflow that turns small declarative descriptors into runnable case workspaces — nine canonical cases from lid-driven cavity to oblique-shock reflection, each on the same compose-first pipeline.
OpenFOAM·Python·JSON descriptors·snappyHexMesh·ParaView
SHIPPED Compose-first OpenFOAM pipeline; nine canonical cases from lid-driven cavity to oblique-shock reflection on a single descriptor pattern.
-
COURSEWORK · UTIAS · AER1216 · Probe
Fundamentals of UAVs — fixed-wing design
The fixed-wing track of UTIAS AER1216 Fundamentals of UAVs — airfoil pick, drag-polar generation, planform geometry, and a constraint-driven sizing pass landing a single design point in the P/W vs W/S plane.
-
COURSEWORK · UTIAS · AER1410H · Build
Topology optimization — method and bracket
AER1410H Topology Optimization at UTIAS — method fundamentals via the Sigmund 99-line MATLAB family, then applied SIMP on a Zenith 701 wing-rib bracket, taken from raw optimization output through a polyNURBS-fit manufacturable form.