Blog

Published January 23, 2017

Prediction or Postdiction? In CFD, the Prefix Matters

Author:
Kelly Senecal

Owner and Vice President of Convergent Science

If you’ve been following my blog series Toward Predictive Combustion, you know that at Convergent Science we are passionate about predictions. You’re probably thinking to yourself, “That’s obvious—you create CFD software!” But it’s actually less obvious than you might think. Much of the CFD that is performed today is still what I would call postdictive, even though it’s rarely referred to as such. According to Wikipedia, postdiction is the act of making a prediction about the past or explaining something after the fact. At Convergent Science, we use this term to explain how simplified models, extensive tuning, and offset errors are used to match CFD results to existing experimental data. This is a common process, especially for combustion simulations. As an example, here’s a typical postdictive procedure for internal combustion engine simulations.

  1. Someone performs an experiment (typically not the CFD engineer).
  2. The CFD engineer receives the experimental data (typically average pressure trace, apparent heat release rate, emission data, etc.).
  3. The CFD engineer sets up the case, including the geometry, and runs the simulation. Uncertainties in the inputs can have a large influence on the simulation results, but it can be difficult to resolve these uncertainties. For example, for a diesel engine, how well known is the nozzle orifice diameter? The actual value doesn’t always match the nominal value. Is the CAD surface available for the intake and exhaust ports, or is a swirl ratio based on steady-state flowbench results used? How well known is the start of injection timing? What about wall temperatures? The CFD engineer often has to simplify the case (for example, neglect the intake by simulating only an engine sector) because of these uncertainties.
  4. Likely the first simulation results don’t match the experimental data, and so the CFD engineer tunes the empirical spray and/or combustion models. By tuning I mean that the model constants are changed until the simulation results better match the experimental data. (As a side note, can we agree to quit calling these “constants”? Constant implies that they are never changed!)
  5. The CFD engineer changes physical inputs (start of injection timing, EGR level, injection pressure, etc.) and hopes that simulations run with the tuned models capture trends in outputs such as emissions.

While there are advantages to this process (simulations typically run relatively quickly because of their coarse meshes, simplified domains, and empirical models), there are no guarantees that tuning will lead to simulation results that more closely match the experimental data. The final step in the process (identifying trends in outputs by running a series of simulations with the tuned models) doesn’t always work as well as desired. Moreover, the possibility of grid-dependent results from the coarse mesh often goes unchecked as the thought of recreating the grid is daunting.

In reviewing the above process, would you consider these simulation results predictions when a) it’s unclear if these simulations are using the correct physical inputs and b) the simulation results are predicated on the experimental data? I would argue that the simulations are postdictions because having the experimental results was critical to getting a “good” answer.

So, if this is a postdiction, then what’s a prediction? Imagine running a simulation with the exact physical inputs that would be used in the corresponding experiment, which has not been run. The simulation results predict the experimental results. A prediction is a forecast—an estimate of a future event—and it’s much more difficult to get right. It requires grid-convergent mesh settings (which are fairly straightforward with automatic and adaptive meshing), more of the domain (not just a sector) to be simulated, detailed combustion models, high order numerics, the inclusion of unsteady behavior, more physics, and typically much longer runtimes.

One of the key differences between postdiction and prediction is that in a prediction there should be much more confidence in the answer that the CFD is giving you. As a result, if the simulation results don’t align with the experimental data, you might be suspicious of the physical inputs rather than the physical models. This goes back to uncertainties in the physical inputs (“garbage in, garbage out”), which can be difficult to track down, but it’s well worth the effort.

So, which approach should you take for your next combustion simulation project? If you don’t have runtime constraints, a grid-converged mesh, detailed chemistry, and an LES turbulence model are your best bet for a predictive simulation. If you do have runtime constraints, a coarse mesh, an empirical combustion model, and a RANS-based turbulence model likely will get you a reasonable (postdictive) answer with a more affordable runtime. Keep in mind, however, that if tuning is required, the real runtime is the total time of all iterations simulated, not just the cost of a single calculation.

It is important to note that I’m not suggesting that predictive simulations never require tuning. Many state-of-the-art physical models still rely on some empiricism. On the flip slide, as long as you are aware of the errors, a postdictive approach can be successful for many types of CFD projects, and although many iterations may be required to tune the initial case, subsequent simulations may benefit from relatively short runtimes. The important thing is to be aware of what you’re running. Are your simulations predictive or postdictive? In CFD, the prefix matters.