Projects

Research and engineering projects — each grounded in governing equations and implemented as working software.

M.E. Thesis Project · 2024 – 2025

FEniCS Heat Conduction Web Solver

Finite element solution of the 2-D steady-state heat equation with spatially varying conductivity and all three standard boundary condition types. Full-stack delivery: Python solver back-end with a Django front-end; results plotted inline.

Governing PDE
(k(x)T)=0\nabla \cdot (k(\mathbf{x}) \nabla T) = 0
Weak form
ΩkTvdΩ=ΓNqnvdΓ+ΓRh(TT)vdΓ\int_\Omega k \nabla T \cdot \nabla v \, d\Omega = \int_{\Gamma_N} q_n \, v \, d\Gamma + \int_{\Gamma_R} h(T_\infty - T) v \, d\Gamma
FEniCSFEMPythonDjangoHeat TransferPDE
Self-Directed Research · 2025 – Present

CFD Solver Suite — Cavity, Cylinder & Airfoil

A structured Python solver programme — from 1-D diffusion to validated lid-driven cavity flow (Ghia et al., 1982), von Kármán cylinder wake, and NACA 0012 airfoil — 21 working notebooks.

Momentum
ρ(ut+uu)=p+μ2u+f\rho \left( \frac{\partial \mathbf{u}}{\partial t} + \mathbf{u} \cdot \nabla \mathbf{u} \right) = -\nabla p + \mu \nabla^2 \mathbf{u} + \mathbf{f}
Continuity
u=0\nabla \cdot \mathbf{u} = 0
PythonNumPyNavier-StokesFDMFVMLid-Driven CavityImmersed BoundaryNACA 0012
B.E. Thesis Project · 2022 – 2023

Quadcopter Inertial Navigation System

Real-time attitude estimator fusing accelerometer and gyroscope data from an MPU-6050 IMU using rigid-body kinematics and Newton–Euler dynamics. Custom MicroPython driver for the RP2040 microcontroller.

Newton–Euler (rotational)
Iω˙+ω×(Iω)=τ\mathbf{I} \dot{\boldsymbol{\omega}} + \boldsymbol{\omega} \times (\mathbf{I} \boldsymbol{\omega}) = \boldsymbol{\tau}
MicroPythonRP2040IMUKinematicsNewton-EulerPixhawk