There are numerous reasons for CFD not matching test results. Some are limitations of CFD itself; others come from the practical limitations discussed above. These reasons include: CFD, like any analytical tool, remains an approximation of the real world.
Mathematical models of fluid flow are not perfect. This is especially true for turbulence models, but applies to other aspects of the flow as well, such as surface roughness effects, heat transfer convection coefficients, gas properties, transitions between laminar and turbulent flow, and others.
Below are excerpts from the paper, "A CFD primer: What do all those colors really mean" by James M. Sorokes of Siemens, Brad Hutchinson of Ansys, and James Hardin of The Elliott Group.
CFD has to approximate continuous flow with discrete pieces, mesh cells to represent three-dimensional space and finite time steps to represent time in transient runs. Practical limits on computer resources exacerbate this issue, as mesh cell sizes and time step increments are seldom as small as would be optimum.
Many CFD analyses are run steady-state, even though a turbomachinery flow field is fundamentally transient.
CFD analyzes CFD models, not actual parts. Models are usually idealized in ways that the analyst hopes will not affect the results significantly. Dimensions are usually exactly nominal, with no tolerances.
Models are usually based on cold, stationary geometry, without considering the changes in shape from heat and rotation. When temperature and mechanical strain are included, they must be calculated by other approximate methods, not necessarily matching the actual part in service. When surface roughness is included at all, it is approximated as a uniform sand grain height rather than mimicking the complex roughness of a real part.
Welds are usually either neglected or represented by perfect chamfers. Small geometric features are often left out to simplify meshing and reduce the number of nodes in the model. When troubleshooting units in the field, fouling and erosion are usually not considered, and have to be approximated if they are.
CFD results can be strongly influenced by the boundary conditions applied to the model. The only places that inlet and outlet boundary conditions are really well known are far up- and downstream in the pipes, but this model extent would be much larger than practical in almost all cases.
Compressor surge is influenced by the entire downstream piping system, which of course is not included in a practical model. Conditions at the model inlet must be specified, and are often taken as uniform. Inlet profiles can be specified if they are known, but these profiles are also approximations to the real flow. Inlet turbulence parameters must be specified as well, and these are seldom known. Outlet conditions, typically mass flow or average static pressure must be set, and these may not be known exactly. Heat transfer through walls is usually neglected and is difficult to set correctly if considered.