Scientific Software
How to design scalable and maintainable simulation codes and research software: C++, Python, MPI, HDF5, architecture, and testing.
How to design scalable and maintainable simulation codes and research software: C++, Python, MPI, HDF5, architecture, and testing.
Particle-in-cell methods and other numerical models for kinetic plasma simulation, relativistic particle pushers, laser–plasma interaction, Maxwell solvers, and non-linear wave interactions.
Accuracy, stability, and performance; finite-difference, finite-volume and semi-Lagrangian methods; verification, and the hidden assumptions behind simulation results.
Schnek, Opar, MPulse, Vellamo, and performance-portable simulation infrastructure for modern CPU and GPU systems.
Mathematical essays, generative art, puzzles, photography, and other explorations outside my main research.