**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**