Let me make a bold statement about CFD:
Simple models perform above expectations; the opposite is true of complex models.
By and large, this is my experience with models used for practical project work. Take turbulence models. There is nothing a CFD professional loves more than to explain why a Reynolds-Stress turbulence model (RSM) is better than an Eddy-Viscosity Model (EVM). Yet EVMs eclipse RSMs when it comes to industrial usage, reliability and speed.
Modeling fluids is incredibly difficult, and all models combine mathematical descriptions of physical processes with simplifying assumptions. Their effectiveness depends on both. But often the assumptions of complex models are more abstract, opaque, and difficult to judge. Our bias is to give these assumptions the benefit of the doubt, because the accompanying math is complex, describes more, and seems right. By contrast, the simplicity of basic models means that we can understand their simplifications better and makes us confident in our criticism critical of the approach.
Yet we are surprised, time and time again, when simple models outperform complex ones.
The same situation occurs with combustion modeling. When creating the fire model for in:Flux, our default is to use simple models first, and only increase complexity when absolutely necessary. A single-step reaction gives a 90% answer; multi-step reactions must make a very convincing case for themselves.
What we are looking for is a consistent level of detail. There is no point paying the price of complex models if that complexity is not mirrored in all aspects of the CFD simulation.
These are the kinds of choices that are extremely difficult for engineers who do not have a background in CFD, and why we must design CFD codes with consistency built-in for practical projects.