A from-scratch D2Q9 Lattice Boltzmann solver in C++20: Multi-Relaxation-Time collision,
Bouzidi curved boundaries, Smagorinsky LES, and 15 canonical validation cases with OpenMP
parallel collision streaming and a Google Test suite.
Decentralized multi-agent UAV swarm with LQR optimal control, APF obstacle avoidance, and graph
Laplacian consensus. Monte Carlo parameter sensitivity analysis across 4 behavioral regimes.
Automated CFD pipeline solving compressible RANS on hybrid C-grid meshes: benchmarking NACA 0012
against experimental wind tunnel data, and utilizing CST parameterization for shape optimization.
Full lifecycle engineering design of a medical-grade wearable hip protector. Literature review,
conceptual design with decision matrix scoring, Kelvin-Voigt viscoelastic analysis, FEA impact
simulation, and a MATLAB parametrization tool exporting patient-specific geometry to SolidWorks.
University of Ottawa | Capstone 2026
CFD analysis of soccer aerodynamics. Compares the Magnus effect vs knuckleball shots, tactical
formation pressure mapping
across 4 formations, and wake drafting analysis of the overlapping fullback run.
Interactive F1 aerodynamics platform combining FastF1 telemetry, first-principles analytical models,
and SU2 RANS CFD validation. 7 analysis modules across an 11-page Mercedes-themed portfolio.
Single-page portfolio site demonstrating Keplerian orbit mechanics with 3D animated satellite
trajectories. Covers the two-body problem, LEO, GEO, Polar, Molniya, Hohmann transfers, J2
precession, ground track projection, and parameter sweeps: all generated via a Python package built
on PyAstronomy and Matplotlib.