Current projects

Each project’s repository holds its documentation and validation notes. The summaries below say what each one does and how far along it is. Questions about the research are welcome through the contact form.

Aerospace · Development

Plasma-sail modelling

Plasma sail schematicSolar wind flowing from the left is deflected around a parabolic magnetopause surrounding a spacecraft that carries a magnetic coil. solar windmagnetopausecoilstandoff distance
A plasma sail, schematically: a magnetic field held by the spacecraft deflects the solar wind, and the deflected flow pushes back. Not to scale.

Magnetic sails and plasma magnets would get thrust by deflecting the solar wind with a magnetic field, in some designs inflated by injected plasma. The literature runs from Zubrin and Andrews’s magnetic sail (1990–91) through Winglee’s M2P2 (2000) and Slough’s plasma magnet (2004–06) to the kinetic corrections of Khazanov and the full particle-in-cell studies of Ashida and Funaki (2011–14). Its thrust estimates differ by orders of magnitude, and some early figures were later superseded.

This project is an analytical model covering those regimes, together with a generator that turns a model configuration into a WarpX particle-in-cell input deck. The purpose is replication: run each published case through the same model and the same simulation pipeline, and record where the results agree with the literature and where they do not.

Status: the analytical model and a set of thirty literature reference cases exist. The end-to-end comparison against PIC runs is in progress and no results are published yet.

Plasma simulation · GPU

WarpX on Apple Silicon

WarpX is an open-source electromagnetic particle-in-cell code that normally targets CUDA, ROCm and SYCL GPUs. This repository packages the build scripts, patches and validation reports needed to run it on Apple Metal GPUs through AdaptiveCpp, so that plasma simulations can run on Mac Studio–class hardware.

Built on WarpX, AMReX and AdaptiveCpp, and forked from Lulzx/warpx-metal. The validation document lists the configurations tested and the known limits.

Process modelling

Regolith Pyrolysis Simulator

Vacuum pyrolysis refinery schematicConcentrated sunlight heats regolith in a crucible. Vapour rises into a duct and passes a row of condensers that collect iron, silica, magnesium and alkalis in turn; oxygen leaves at the end. The residue in the crucible becomes glass and ceramics. concentratedsunlightmelt ironsilicamagnesiumalkalis oxygenresidue: glass, ceramics
Vacuum pyrolysis, schematically: sunlight melts the regolith, a small controlled oxygen pressure keeps silica from boiling off as SiO, and condensers at falling temperatures collect the vapour in stages. Not to scale.

A simulator for processing lunar regolith into oxygen and metals, covering vacuum pyrolysis and molten-regolith electrolysis. It is a modelling tool for comparing process routes and their assumptions, not a demonstrated process.

For the chemistry it draws on OpenIMCC together with alphaMELTS, MELTS, MAGEMin, VapoRock, SulfLiq and MACE. We maintain a collection of patches to these upstream engines.

The model-limitations document lists what is implemented, which experimental data it has been compared with, and what still needs validation.

Melt thermochemistry

OpenIMCC

Melt speciation schematicFive oxides on the left combine into complexes on the right: silica with lime to calcium silicate, silica with magnesia to magnesium silicate, soda with alumina to sodium aluminate. Every oxide also contributes an unbound fraction, which sets its activity. oxidesspecies in the melt SiO₂CaOMgOAl₂O₃Na₂O CaSiO₃MgSiO₃NaAlO₂unbound oxidesset each activity
Melt speciation, schematically: oxides associate into complexes, and what stays unbound sets each oxide’s activity. The model itself uses 8 oxides and 38 complexes.

Processing molten regolith means knowing the chemical activity of each oxide in the melt, which sets what evaporates and at what rate. OpenIMCC implements the ideal-mixing-of-complex-components model used by Fegley and Cameron (1987) and Schaefer and Fegley (2004): the melt is treated as an ideal solution of 8 parent oxides and 38 associated complexes, and the activities follow from the speciation. It computes speciation within a single liquid and is not a phase-equilibrium code like MELTS.

Pre-release (0.1.0.dev0). Apache-2.0. Every coefficient records where it came from, and the benchmark harness compares results with published Knudsen-cell and other measurements, reporting the cases the model cannot handle alongside the ones it can. The Regolith Pyrolysis Simulator uses it for its melt chemistry.

Tooling

goal-flight

A controller for long, unattended coding-agent runs. It breaks a plan into chunks, dispatches them to worker agents, keeps durable project state between sessions, and has a different model review each change before it is committed. The research code above is developed with it.