TwoDG.jl: A Parallel Finite Element (Discontinuous Galerkin) PDE Solver
Compressible flow through a channel with a bump computed with 2D Euler equations. Mach number is shown. Computed using TwoDG.jl
TwoDG.jl is a high-performance Julia framework for solving complex 2D partial differential equations using advanced finite element methods (Continuous Galerkin, Discontinuous Galerkin, and Hybridizable Discontinuous Galerkin). I wrote TwoDG.jl from scratch as part of the MIT 16.930: Advanced Topics in Numerical Methods for Partial Differential Equations class with tremendous help from Professor Jaime Peraire. It enables simulation of diverse physical phenomena from wave propagation and shock waves in compressible flows to convection-diffusion transport problems, all with arbitrary polynomial order accuracy and sophisticated mesh support including NACA airfoils and custom geometries. The Hybridizable Discontinuous Galerkin (HDG) solver is also parallelized, allowing for huge problems to be solved easily using this package.
Quantum Poker

This was created during iQuHACK 2021, MIT’s quantum computing hackathon. Scientists said quantum computing would revolutionize optimization, machine learning, and cryptography. We went a different route and built quantum poker instead. Leveraging IonQ’s quantum computers, we designed a casino game where the cards are the quantum gates themselves. Some call it a waste of quantum resources; we call it the only logical application where superposition actually improves the experience. You’re welcome, humanity.
2D Brownian Motion


I built a 2D Brownian Motion simulator by modeling the individual particle collision within a volume during my undergraduate days as a part of a computing project.
In the spirit of trying to make the simulation more efficient, a binary heap is implemented.
Turns out it might not have been as fast as np.array after all.
Imperial Visualisations
Interactive physics visualization demo
I built a couple of interactive visualization webpages during my undergraduate times at Imperial College London. These visualizations were created as part of the StudentShapers Teaching and Learning Strategy. This meant that the visualizations were used by lecturers in undergraduate lectures to enhance pedagogy and clarify potentially confusing concepts related to physics and mathematics.