(pronounced: /ɛlmə/)
BoLT-II simulation

Simulation of flow-induced heating of the BoLT-II flight test article. The simulation uses 8M fluid domain cells and 3M solid domain cells. The coupling between fluid and solid is loose in time: the flow field is solved using a quasi-steady assumption at discrete points on the trajectory and the solid domain is solved in a time accurate manner. A Jacobian-free Newton-Krylov accelerator is used for the steady-state solves. The solid domain is advanced in time with super-timestepping.

What does Eilmer do?

The Eilmer code is a program for the numerical simulation of transient, compressible gas flows in two and three dimensions. This program answers the “What if … ?” type of question where you will set up a flow situation by defining the spatial domain in which the gas moves, set an initial gas state throughout this domain, specify boundary condition constraints to the edges of the domain and then let the gas flow evolve according to the rules of gas dynamics.

Eilmer began life as a tool to simulate and aid in the of design shock tunnels and expansion tubes. It has also been applied to the analysis of the experiments undertaken in shock tunnels and expansion tubes and has being used for the simulation and design of hypersonic inlets, turbomachinery and microcombustors.


  • 2D/3D compressible flow simulation
  • Gas models include ideal, thermally perfect, equilibrium, multi-temperature.
  • Finite-rate chemistry
  • Inviscid, laminar, turbulent (k-omega) flows.
  • Solid domains with conjugate heat transfer in 2D.
  • User-controlled moving grid capability.
  • Shock-fitting method for 2D geometries.
  • A rotating frame of reference for turbomachine modelling.
  • Transient, time-accurate, using explicit Euler, predictor-corrector and Runge-Kutta updates.
  • Steady-state solver using the Newton-Krylov approach.
  • Parallel computation using shared memory or MPI.
  • Multiple block, structured and unstructured grids.
  • Native grid generation and import capability.
  • Unstructured-mesh partitioning via Metis.


You should probably read the awesome documentation that goes with Eilmer.