SimOps 101: Turbulence Models in CFD Explained
In 1883, Osborne Reynolds ran a deceptively simple experiment. He injected a thin thread of colored dye into water flowing through a glass pipe. At low flow rates, the dye moved in a clean, straight line from one end of the pipe to the other. As he increased the flow rate, the line began to wobble. Then, at a critical velocity, it erupted into a chaotic tangle of swirls and eddies that mixed throughout the entire cross-section almost instantly.

Reynolds had demonstrated, visually and reproducibly, the transition from laminar to turbulent flow. He also stumbled onto one of the hardest unsolved problems in classical physics: how to accurately describe and predict turbulent flow mathematically.
More than 140 years later, that problem is still not fully solved. Turbulence is, as physicist Richard Feynman once described it, "the most important unsolved problem of classical physics." For CFD engineers, this is not an academic observation. It has direct consequences for how every simulation is set up and how much its results can be trusted.
Why Turbulence Is So Hard to Model
Turbulent flows are characterized by a vast range of vortical structures, called eddies, at different scales in both time and space. These eddies interact, exchange energy, and break down continuously. The largest structures contain most of the kinetic energy. As they break into progressively smaller ones, energy is transferred down the cascade until the smallest eddies, at what is called the Kolmogorov length scale, convert kinetic energy into heat through viscous dissipation [1].
In theory, the Navier-Stokes equations describe all of this perfectly. In practice, resolving every eddy down to the Kolmogorov scale, an approach called Direct Numerical Simulation (DNS), requires a mesh so fine and time steps so small that the required computational resources scale approximately with the cube of the Reynolds number [1]. For a real-world engineering problem at typical Reynolds numbers, this is computationally impossible. A DNS of flow around a car at highway speed would require more compute than currently exists on Earth.
For the overwhelming majority of engineering CFD problems, turbulence modeling is therefore not optional. It is the mechanism by which engineers make the Navier-Stokes equations tractable for practical problems. The turbulence model is the mathematical shortcut that replaces what cannot be computed directly.
The choice of turbulence model is one of the most consequential decisions in any CFD setup. The wrong model applied to the wrong flow type will produce results that converge cleanly and are physically wrong.
The Three Fundamental Approaches
All turbulence modeling approaches sit on a spectrum defined by how much of the turbulence is resolved directly versus how much is modeled mathematically.
Direct Numerical Simulation (DNS)
DNS resolves all turbulent scales directly, from the largest energy-containing eddies down to the Kolmogorov scale, without any modeling assumptions. It is the most accurate approach and requires no turbulence model.
It is also almost exclusively used in academia and research institutions to model simple flows at low Reynolds numbers. Along with physical experiments, DNS is the benchmark against which other turbulence models are validated [1]. For practical industrial CFD, it is not a realistic option.
Large Eddy Simulation (LES)
LES resolves the large energy-containing eddies directly and uses a sub-grid scale model to represent only the smallest eddies, which are filtered out of the solution. A good LES resolves approximately 80% of the full turbulent energy spectrum, with the remaining 20% modeled [2].
LES is significantly more accurate than RANS for flows with large-scale unsteady structures: separated flows, aeroacoustics, combustion, atmospheric boundary layers, and aerodynamics of wind turbine blades and rotorcraft. It is widely used in industry and academia to study interactional aerodynamics, aeroacoustics in turbomachinery, and atmospheric turbulence [2].
The cost is substantial. LES requires a finer mesh than RANS in all three dimensions, not just near walls, and requires time-resolved simulation rather than a steady-state solution. Relative to a well-resolved RANS simulation, LES typically requires 10 to 100 times more computational resources depending on the Reynolds number and flow complexity. As GPU acceleration and cloud HPC make large-scale compute more accessible, LES is becoming economically feasible for more industrial applications, but for most routine engineering CFD, RANS remains the workhorse [3].
Reynolds-Averaged Navier-Stokes (RANS)
RANS is by far the most widely used approach in industrial CFD. It does not resolve any turbulent eddies directly. Instead, it time-averages the Navier-Stokes equations, separating flow variables into mean and fluctuating components through a process called Reynolds decomposition [4].
This time-averaging introduces new unknowns, called Reynolds stresses, which represent the effects of turbulent fluctuations on the mean flow. A turbulence model is required to close these equations by providing a relationship between the Reynolds stresses and the mean flow quantities. The choice of closure model is what distinguishes the different RANS turbulence models from each other [5].
RANS requires the least computational resources of any turbulence modeling approach, while still maintaining good accuracy for a wide range of flows. This makes it the practical choice for complex industrial geometries, parametric design studies, and any application where turnaround time is a constraint [2].
The Main RANS Models: A Practical Guide
For most CFD engineers, the day-to-day question is not RANS versus LES, but which RANS model to use. The answer depends on the flow type, the wall treatment strategy, and the accuracy required.
k-epsilon (k-ε)
The k-epsilon model is one of the oldest and most widely used turbulence models. It solves two transport equations: one for turbulent kinetic energy (k), which represents the energy of turbulent fluctuations, and one for its dissipation rate (ε), which represents the rate at which turbulent kinetic energy converts into thermal energy [4].
k-epsilon performs well for fully turbulent flows far from walls: free shear flows, jets, mixing layers, and plumes. It is robust, well-validated for these flow types, and computationally inexpensive.
Its limitation is near-wall behavior. k-epsilon is not accurate for flows with strong pressure gradients, boundary layer separation, or strong wall curvature. In these situations it is notoriously inaccurate and should not be used without awareness of this limitation [3].
k-epsilon works best with wall functions, which model the near-wall region rather than resolving it. This means it requires y+ values between 30 and 300 in the first cell from the wall.
k-omega (k-ω)
The k-omega model solves for turbulent kinetic energy (k) and the specific dissipation rate (ω). Its key advantage is near-wall behavior: unlike k-epsilon, it can be integrated directly through the viscous sublayer without requiring wall functions, making it significantly more accurate for wall-bounded flows, adverse pressure gradients, and heat transfer [6].
k-omega is widely used for turbomachinery simulations and flows with strong vortices. However, it has a significant weakness in free-stream flows: it is very sensitive to the turbulence values specified at the inlet boundary, a disadvantage not shared by k-epsilon. In practice, this sensitivity to freestream turbulence levels can make k-omega difficult to use reliably for external aerodynamics without careful boundary condition specification [6].
SST k-omega (Menter SST)
Developed by Florian Menter in 1994, the Shear Stress Transport (SST) k-omega model is arguably the most popular and versatile RANS model in use today. It combines the strengths of both k-omega and k-epsilon: using k-omega near the wall, where it performs best, and blending to k-epsilon in the freestream, where k-epsilon is more reliable [3].
The SST model uses a blending function based on wall distance to switch between the two approaches. It has superior performance to standard k-omega and k-epsilon for flows with adverse pressure gradients and boundary layer separation, which makes it the default choice for aerospace applications [7]. It requires y+ values close to 1 in the first wall cell, demanding a finer near-wall mesh than k-epsilon but delivering better results for most practical flows.
For engineers new to CFD who are unsure which model to choose, SST k-omega is the most defensible starting point for the broadest range of industrial flows. Among RANS models, it is the closest thing to a general-purpose default [4].
Spalart-Allmaras
Spalart-Allmaras is a one-equation model that solves a single transport equation for a modified turbulent viscosity. It is computationally cheaper than two-equation models and is specifically designed for external aerodynamics and wall-bounded attached flows such as those over airfoils and wings [2].
It performs poorly for highly separated flows and is generally not recommended for internal flows or free shear flows. Its niche is clean, attached aerospace aerodynamics where simplicity and speed matter.
Reynolds Stress Models (RSM)
Reynolds Stress Models solve a transport equation for each component of the Reynolds stress tensor, rather than using the eddy viscosity approximation that underlies all the models above. This makes them more accurate for flows with strong anisotropy: swirling flows, rotating systems, and flows with strong streamline curvature where the eddy viscosity assumption breaks down [5].
The cost is significant: RSM requires more transport equations than two-equation models, is computationally expensive, and can suffer from numerical stiffness and convergence issues. RSM is used where its additional accuracy in anisotropic flows is necessary and the higher computational and convergence cost is justified.
Hybrid RANS-LES: The Middle Ground
Between RANS and full LES sits a family of hybrid approaches that attempt to combine the computational efficiency of RANS for wall-bounded regions with the higher fidelity of LES for separated or wake regions.
Detached Eddy Simulation (DES) was the first widely used hybrid approach. It applies RANS in attached boundary layers and switches to LES in separated regions and wakes. DES is particularly effective for massively separated flows like bluff body aerodynamics and deep stall on airfoils, where RANS is known to be inaccurate but full LES would be prohibitively expensive [1].
Delayed DES (DDES) and Improved DDES (IDDES) are refinements that address numerical issues with the original DES formulation, particularly a phenomenon called "grey area" behavior at the RANS-LES interface. These variants are increasingly replacing standard DES in industrial practice.
As HPC infrastructure makes scale-resolving simulations more accessible, hybrid approaches are growing in use for industrial applications that previously relied entirely on RANS. GPU acceleration in particular is reducing the compute cost of time-resolved simulations, opening LES and hybrid methods to a broader range of engineering teams.
Choosing a Turbulence Model: A Practical Decision Framework
The right turbulence model depends on the flow type, the accuracy required, the computational budget, and what the simulation is being used to predict. The following framework covers the most common situations.
For external aerodynamics with attached boundary layers (airfoils, vehicles at low angle of attack, turbomachinery blading): Spalart-Allmaras or SST k-omega are the standard choices. SST k-omega is preferred where separation or adverse pressure gradients are present.
For internal flows, heat exchangers, and pipe systems: k-epsilon or SST k-omega. k-epsilon is robust and well-validated for fully turbulent internal flows. SST k-omega is better if strong curvature or adverse pressure gradients are present.
For flows with strong separation or bluff body aerodynamics: RANS models are known to be inaccurate for massively separated flows. DES or LES should be considered if the accuracy requirement justifies the cost.
For aeroacoustics or flow-induced noise: LES or DES. Acoustic predictions require the resolution of unsteady flow structures that RANS cannot provide.
For combustion or reactive flows: Specialized combustion-turbulence coupled models, typically based on k-epsilon or the flamelet approach, depending on the combustion regime.
If uncertain: Start with SST k-omega. It is the most broadly applicable RANS model and the most defensible choice for a new simulation [4]. Validate against experimental data if available, and consider running multiple models to bound the uncertainty.
The SimOps CFD 101 guide introduced turbulence modeling as one of the most consequential setup decisions in CFD. This guide has provided the model-level detail needed to make that decision systematically. For engineers ready to apply these concepts in practice, the SimOps Practitioner certification covers the operational skills for running and validating CFD workflows at production scale.
The Validation Imperative
No turbulence model is universally accurate. Every RANS model involves approximations, and every model has flow types for which it performs poorly. The turbulence modeling community, guided by bodies including the AIAA Turbulence Model Benchmarking Working Group (TMBWG) and NASA, maintains benchmark validation cases that document model performance across a range of canonical flows [7].
Before using a turbulence model for a new application type, the responsible practice is to find a validation case in the literature that is similar to your flow of interest, reproduce it with your chosen model, and verify that the model produces physically reasonable results. Results that cannot be validated against experimental data or higher-fidelity simulation should be treated with caution, regardless of how cleanly the solver converged.
Key Takeaways
Turbulence modeling is required because directly resolving all turbulent scales (DNS) is computationally infeasible for practical engineering flows. The three fundamental approaches are DNS (all scales resolved, research only), LES (large scales resolved, 10 to 100x RANS cost), and RANS (all scales modeled, the industrial standard). Among RANS models, SST k-omega is the most broadly applicable starting point: it combines k-omega's near-wall accuracy with k-epsilon's freestream robustness. k-epsilon is preferred for fully turbulent free-shear flows; k-omega and SST are preferred for wall-bounded and separated flows. Hybrid RANS-LES approaches (DES, DDES) are the practical middle ground for massively separated flows where RANS is known to be inaccurate and full LES is too expensive. No turbulence model is universally accurate. Validation against experimental data or benchmark cases is essential before trusting results for a new flow application.
What's Next in This Series?
This is part of SimOps' Simulation 101 series. Related reading:
Mesh Generation in CFD: Why It Makes or Breaks Your Simulation
GPU vs. CPU for Simulation Workloads
CFD in Automotive Design: Real-World Applications
References
Ideal Simulations. (2022). Turbulence Models in CFD: RANS, DES, LES and DNS. idealsimulations.com
Fidelis Engineering Associates. (2024). Turbulence Modeling Techniques in CFD: DNS vs LES vs RANS. fidelisfea.com
MR CFD. (2025). Turbulence Models Compared: k-ε, k-ω, or LES Guide. mr-cfd.com
Versteeg,
H.K. and Malalasekera, W. (2007). An Introduction to Computational Fluid Dynamics: The Finite Volume Method, 2nd edition, Chapter 3: Turbulence and its Modelling. Pearson Education Limited.
SimScale. (2024). Turbulence Models: Which Should I Select? simscale.com
Engineering.com. (2016). Choosing the Right Turbulence Model for Your CFD Simulation. engineering.com
NASA Langley Research Center / AIAA TMBWG. (2024). Turbulence Modeling Resource. turbmodels.larc.nasa.gov
About SimOps
Software development was transformed when teams stopped treating infrastructure as an afterthought and started building shared practices around it. That's what DevOps did for code. SimOps is doing the same thing for simulation.
Simulation and HPC have long operated in silos: different tools, different teams, different workflows, with no shared language or common standards. SimOps exists to change that. We're building a framework and a community where simulation engineers, HPC specialists, and CAE teams can work from the same playbook, share best practices, and push the field forward together.
If that mission resonates with you, this series is a starting point. And the community is where the conversation continues.


