- Jacobi Microbenchmark
Melvin.py
A pseudospectral solver framework designed to simulate 2-dimensional advection-diffusion problems. It is written entirely in Python and leverages CuPy for GPU parallelisation. It has been used to simulate thermohaline staircase formation, Rayleigh-BĂ©nard convection, and the resistive tearing instability.
Radiosity Renderer
Dirac Cluster Challenge
Starting code for a parallel programming challenge I ran in 2022. Includes simulations of a general N-body problem, and a fully implicit fluid solver simulating Rayleight-Benard convection. The event taught students how to program GPUs and multi-core CPUs in Python.
Field Line Integrator
FPGA-Accelerated Fluid Solver (FAFS)
Implementation of Stam's Real-Time Fluid Dynamics for Games in OpenCL. Designed to run on FPGAs but only CPU and GPU were tested.
Lare1d
Implementation of a finite-volume Lagrangian-Remap scheme in 1D with shock capturing. Used as a toy model for the numerical methods section of my PhD thesis.
Lare3d
My version of the finite-volume magnetohydrodynamics code Lare3d including various implementations of anisotropic viscosity.
Melvin
Earlier version of Melvin.py written in C++ and parallelised with OpenMP and CUDA.
PyCascadia
Bytebeat
GFP Simulator 9000
Simulate the interaction between molecules GFP-CRIB and Rac in 2 or 3 dimensions. Core numerical solver is a custom finite-element method. Developed for the Beatson Institute for Cancer Research. Technically works, but not particularly readable.
IR-GTS
Trade Pokemon between Nintendo DS and a PC
JOSS Scraper
Web scraper for the Journal of Open Source Software. Used in the associated blog post to analyse how many published projects use continuous testing.
SDF Tool
Tool for manipulating SDF (self-describing format) files to make analysis easier.
4 Lines
An experiment in producing art with only 4 lines.
Double Pendulum
Simulation of a double pendulum system in javascript with various options for creating interesting visualisations.
Lorenz Attractor
Visualisation of the Lorenz attractor with various options for making pretty pictures.
Regex Fractals
Generate fractals from regular expressions in javascript.
WebGL Julia Fractal
Generate Julia fractals with WebGL
GeorgeGL
Incomplete implementation of Lorena Barba's 12 steps to Navier-Stokes using WebGL.
Modelling anisotropic viscosity with applications in the solar corona
True Ross Facts
Facts about my friend Ross that may or may not be true.
Collatz Conjecture
Anisotropic Viscosity Analysis
Fluting Instability Analysis
Kelvin-Helmholtz Instability Analysis