CFD engineer. Simulation automation, postprocessing, and making solver output legible to language models.
Technical Community Manager at Siemens Digital Industries Software, working on the Simcenter STAR-CCM+ user community and educational content. Over 25 years in computational fluid dynamics, with a focus on simulation automation, user-solver customization, and programming. Lately most of my writing sits at the point where CFD meets large language models.
A Simulation Capsule is a self-contained, token-budgeted distillation of a simulation case, designed to be consumed by a language model.
A Simulation Capsule is to a CFD case what llms.txt is to a website.
The problem it addresses is mundane and everywhere. A finished CFD case is gigabytes of cells, fields, reports and scenes. A language model reads a context window. Handing the model a raw export wastes the budget on structure it cannot use; handing it a screenshot throws away everything a number could have said. The capsule is the artifact in between: a fixed directory of small files, each one an answer to a question somebody would actually ask, all of it nondimensional by default so the numbers mean the same thing in every case.
capsule_<alias>/
├── summary.json global scalars
├── planes/ plane sections, CSV and image in pairs
├── samples.csv importance-weighted volume sample
├── features.json named flow features
├── views/ renders answering declared questions
├── diff/ image differences between capsules
├── run_macro.java reproduction
├── manifest.json seeds, colorbar ranges, versions
├── signals/ time series and spectra
├── modes/ POD and DMD decomposition
└── disclosure.json what is safe to send outside
Specification, example capsules and tooling: simulation-capsule
A ten-part tutorial series on the Simcenter community forum. Each part introduces exactly one new idea, produces one concrete artifact, and uses a reference case chosen so the technique reveals something the case would not otherwise show. Recipes are Simcenter STAR-CCM+; the principles are solver-agnostic and model-agnostic.
| # | Part | Reference case |
|---|---|---|
| 1 | What Does an LLM Consume Well? | mixed |
| 2 | Global Anchoring, the Case Summary in 50 Scalars | NACA 0012 |
| 3 | Sections and Planes, the CSV plus Image Pair | cube wake, Re 200 |
| 4 | Volumetric Importance-Based Sampling | jet in crossflow |
| 5 | Semantic Feature Extraction | delta wing |
| 6 | Visualizations Designed for LLMs | Ahmed body |
| 7 | Automation: the reproducible capsule | cube wake |
| 8 | Transient fields I: time as statistics | cylinder, Re 100 |
| 9 | Transient fields II: modes | cylinder, Re 100 |
| 10 | Confidentiality: what leaves the building | Ahmed body |
A parallel part covers case comparison by image differencing.
Parts 1 to 6 are published. The rest are in progress.
- Making AI Understand Your CFD Simulations (Simcenter STAR-CCM+ to LLM)
- Five Ways AI Can Review Your CFD Simulation Setup
- Simcenter STAR-CCM+ Macros with AI: the full series, six parts
- Simcenter STAR-CCM+ Custom Menus: the full series, ten parts
Personal account. The tutorial series it accompanies is published on the Simcenter community forum. Views are my own.