Making infeasible runs feasible
The full-annulus simulations the group needed would not run. The reason was not the one everybody assumed.
The scaling study
Resolving what happens to particles through a multi-stage compressor properly means a full-annulus simulation — every blade passage, not one sector with periodic boundaries. That is a 100M+ cell problem, and the group could not run it.
The instinct in that situation is to ask for more cores. I ran a systematic scaling and performance study on our Slurm clusters instead, across node counts, rank layouts and memory configurations. The binding constraint was memory bandwidth and per-node memory, not core count. Past a certain rank density the cores were waiting, and adding more made it worse.
That result changed what we bought. It fed directly into hardware and licence procurement decisions, and 100M+ cell full-annulus simulations became feasible for the group for the first time.
The useful output of a scaling study is rarely a speedup number. It is finding out which resource you are actually short of, which is often not the one being requested.
The campaigns
On top of that: structured parameter sweeps and DoE-style studies across operating conditions, mesh resolution, timestep and particle parameters, on large-memory nodes under MPI. Enough runs that managing them by hand stops being possible, which is its own engineering problem.
Turning output into something you can model
A campaign of this size produces up to 450 GB per run. The solver's own post-processing tools will not answer questions at that scale, and several of the questions I needed answered are not ones they can express at all.
So the analysis is a pipeline: automated, reproducible, and written to be run again. One 254 GB particle-track file is parsed down to 10,797 mass-verified fracture events — every one checked for mass conservation on the way through, because a fracture event that does not conserve mass is a bug in my model and I would rather find it than average over it.
That dataset is what makes the reduced-order modelling possible: a breakage model collapsed to three substrate-independent parameters (RMSE 0.051 across 48 conditions), with leave-one-surface-out cross-validation transferring between alloys at ΔRMSE < 0.001 — a held-out generalisation test, not a fit.
Infrastructure as an output
Solver extensions, tracking methodology, job workflow, analysis pipeline: this is now the infrastructure the group's other doctoral projects and its sponsor deliverables run on, and I train the junior students on it.
I mention it because it is the part that does not appear in a publication list. Building the thing several other people's work depends on is a different contribution from writing a paper, and I would rather be measured on it.
Next
Learned surrogates for the expensive particle-laden physics, on the open NASA Rotor 35 geometry — with the evaluation done properly: held-out conditions, conservation checks on the predicted distributions, and an honest map of where the surrogate stops being trustworthy. Anyone can train a surrogate. The useful question is whether you should believe it.