Throughout my PhD I've been working on a closed-source atomistic spin dynamics code.
It is a modern code, highly modular code which is optimized to run on GPUs. I've become
an expert in scientific computing, algorithm design, and software optimization (among other
things).
I personally designed and implemented a new algorithm to calculate free energy differences which is
highly parallelisable and optimized to run on GPUs. The new method required new science advances, and
has over a thousand fold increase in performance over the previous state of the art. It pushes the
boundaries of atomistic modelling. The previous method (which can be found
here)
cannot be parallelised, and only works with Monte Carlo methods which have been largely replaced
by dynamical methods (see
here for an example of why).
As well as low level programming, I use Python for data analysis. Visit
Below are some links to some mathematical derivations I've done during my PhD: