Norman Lockyer Research Fellow (Royal Astronomical Society) at the University of Glasgow working on cutting-edge non-LTE radiative transfer models (including as a component of multiphysics radiation hydrodynamics). I am also investigating how leveraging machine learning can both accelerate these and enable the solution of inverse problems with extremely numerically intensive forward components.
Some things you may be looking for:
- Lightweaver ✨: My flexible radiative transfer framework, heavily inspired by PyTorch et al, allowing for flexibility in Python but retaining high performance through the C++ (and CUDA soon™) backend.
- smug ☀️: Solar Models from the University of Glasgow, a package making our deep learning models ready for deployment.
- RADYNVERSION 🤖 💭: An invertible neural network approach to the problem of recovering solar flare atmospheric properties from observations, trained from radiation hydrodynamic simulations (PyTorch).
- Lightspinner 📚: A pure Python simplified version of an old branch of Lightweaver. Dissect the code in a few days and learn the basics of non-LTE radiative transfer through the Rybicki-Hummer 1992 method!
- Thyr 📡: An orthographic raymarcher for computing accurate and aesthetic gyrosynchrotron radio emission from a highly flexible combination of dipole loop models using the original torch (LuaJIT).
- Weno4Interpolation 📈: An optimized implementation of the well-behaved non-oscillatory WENO4 interpolation method of Janett et al (2019) using the numba JIT for speed 🔥.
Concepts I 💖:
- Anything high-performance that doesn’t compromise on its API.
- Data oriented design.
- Fancy rendering technology.
- Clever applications of metaprogramming.
Languages:
- Python
- C++
- C
- Lua
- LaTeX
- MATLAB & Fortran at a push!
- I really love some of the ideas coming out of Rust and Go!
I am always looking to get involved with interesting projects like those listed above!