I'm a physics graduate from the University of Birmingham, with a particular interest in scientific computing and experimental data analysis. My projects involve building models, fitting measurements and checking where the results agree with theory—and where they do not.
Most of the work here began during my degree. The repositories have since been developed into runnable examples with tests and clearer documentation.
I led the group project and worked mainly on the rotating-compensator ellipsometry analysis: extracting Ψ and Δ, calibrating the instrument and estimating thin-film properties.
The silicon-reference analysis gave a thickness of 55 ± 7 nm, compared with the certified 53.30 nm. Comparing gold-film measurements with profilometry revealed a strong correlation and a systematic difference between the two thickness scales.
71% group mark · 75% individual mark. The repository links to the report and includes an explanation of my contribution and a runnable synthetic example of the analysis pipeline.
A stochastic cellular automaton exploring how tree growth and lightning produce population oscillations and broad fire-size distributions. I extended the coursework with larger grids, parameter sweeps and analysis of fire events and cluster geometry.
The report describes runs reaching 16,000 × 16,000 cells. A smaller seeded example is included so the simulation can be reproduced on an ordinary computer.
74% on the original project. Try the interactive simulation.
Computational physics coursework covering finite quantum wells, Fourier analysis and rocket control. The public examples include a bound-state solver checked against an independent finite-difference calculation, and a synthetic signal-filtering demonstration.
| Assessed work | Mark |
|---|---|
| Quantum systems | 95% |
| Self-landing rockets | 90% |
| Spectral analysis | 80% |
| Programming worksheets | 98% average |
- Atomic Physics Laboratory — Doppler-free rubidium spectroscopy, frequency calibration and hyperfine-constant estimation. 77%.
- Gibbs–Marangoni Effect: Summer Research Project — Laser interferometry and capillary-wave attenuation, including the limits imposed by measurement uncertainty and control of the liquid surface.
Binary Search Tree Optimisation studies how a distribution over tree roots changes the expected reward for each key. The current analysis uses linear programming to examine the trade-off between average reward and the worst outcome.
Main tools: Python, NumPy, SciPy, Matplotlib, pandas, Streamlit, Git and LaTeX.