Software

I have experience of developing scientific software in Python, C, C++, and Fortran. Often these are small codes performing analysis of simulation outputs and/or toy calculations, but I also develop and release my own packages on GitHub. I have experience of developing codes suitable for deployment on high-performance computing facilities, including use of both shared memory (OpenMP) and distributed memory (MPI) parallelism. If you are interested in working with me on a software project, please email me!

Codes Developed

  • bontewarlo.
    • A code for performing fast, lattice-based Monte Carlo simulations to study atomic arrangements in multicomponent alloys, with an internal energy given by a Bragg-Williams Hamiltonian.
    • The code primarily uses the Metropolis algorithm with Kawasaki dynamics. It can be used for simulated annealing (to search for and study predicted phase transitions) but also to draw decorrelated atomic configurations for use in subsequent studies, e.g. in training datasets for machine-learned interatomic potentials.
    • Recently, working with Dr Livia Bartók-Pártay, we implemented the nested sampling algorithm, which facilitates a complete, unbiased exploration of arbitrary potential energy surfaces.

Codes Used

I have experience using a number of community density functional theory (DFT) codes, including CASTEP, JuKKR, SPR-KKR, Hutsepot, and MARMOT.