Problems
The questions we are working on
We are a think tank with a solver. These are open questions in compressible and reactive flow that we are actively modelling — stated as questions, because that is how they are still held.
Where should a scheme spend its dissipation?
Capturing a shock costs artificial dissipation. Spend it in the wrong place and you damp the instability you were trying to predict.
How we approach itHow much of a reaction zone must you actually resolve?
Chemistry sets a length scale orders of magnitude below the device. Under-resolve it and the wave speed is not slightly wrong — it is qualitatively wrong.
How we approach itWhen does a flame become a detonation?
A threshold phenomenon, geometry-dependent, and the question hydrogen explosion safety turns on. Also where every shortcut in a reactive solver surfaces.
How we approach itCan the mesh change under the solution without changing the answer?
Adaptive refinement is what makes multiscale problems affordable. It is also a continuous opportunity to lose conservation, symmetry, or both.
How we approach it
What does it take to get from a CAD surface to a solvable mesh?
Meshing is where most simulation projects stall, and where most of the toolchain lock-in lives.
How we approach it
Why does high-fidelity simulation need a supercomputer?
Much of the hardware requirement in this field is a property of the software, not the physics — and that was a choice someone made.
How we approach itHow we work a problem
Model it, break it, state the edges
Industrial work and research work are usually run on different standards: one optimises for a defensible deliverable, the other for a defensible claim. We run a single process for both, because the question a client is asking and the question that is scientifically open are very often the same question.
- 01
State the question
Not the deliverable, not the case — the question. Written so that it can be answered wrongly.
- 02
Model it from first principles
What physics genuinely has to be in the model, what can be closed, and what the closure costs you.
- 03
Build what is missing
If the method does not exist, or exists only inside somebody’s cluster, we derive and implement it.
- 04
Try to break the answer
Canonical verification, independent cross-checks, and a deliberate attempt to falsify our own conclusion.
- 05
Report the edges
Where it holds, where it stops holding, and what we could not determine. All three, every time.
Not on this list?
Bring us the one that is not working
This page is what we are asking. It is not the boundary of what we will take on. If you have a flow that your current tooling gets wrong — and you know it gets it wrong — that is the most interesting thing you could send us. We will tell you honestly whether it is a week, a year, or outside what we do.