Below is a partial list of free, open-source software projects that I have developed.

A two-dimensional dam break simulation performed using Firedrake-Fluids.

Computational fluid dynamics

  • Fluidity: General-purpose computational fluid dynamics code with adaptive unstructured mesh capabilities.

  • Seigen: An elastic wave equation solver that uses the finite element method. This software forms part of the OPESCI project and is primarily aimed at seismological applications.

  • Firedrake-Fluids: Solves the shallow water equations using the Firedrake automated solution framework.

  • OpenSBLI: Numerical modelling framework for the automated solution of differential equations using finite difference methods.

A Yaesu FT-920 transceiver.

Amateur radio

  • PyQSO: A contact logging tool for amateur radio operators.

Terminal/console output from the PyRDM library.

Research data management

  • PyRDM: A Python-based library for research data management (RDM).

  • Git-RDM: A research data management plugin for the Git version control system.

Output from a simulation of Conway's Game of Life.


  • cxqwatch: A tool for monitoring the status of jobs on the CX1 high-performance computing cluster at Imperial College London.

  • Game of Life: An implementation of Conway's Game of Life, for demonstration purposes in a Python programming workshop.

  • Imperial SCR Menu: An Android application for checking the daily menu at Imperial's SCR restaurant.