RANS Turbulence Modeling — Overview
Reynolds-Averaged Navier-Stokes: why RANS dominates industrial CFD, the k-ε and k-ω model families, Reynolds Stress Models, wall treatment strategies, y+ requirements, and a practical model selection guide.
By NovaSolver Contributors (Anonymous Engineers & AI) | CFD / Fluid Analysis | 日本語版 →
1. What is RANS? — Time and Ensemble Averaging
I've been running OpenFOAM cases and every tutorial uses RANS. But what exactly does "Reynolds-Averaged" mean? How is it different from just solving the regular Navier-Stokes equations?
Regular Navier-Stokes is exact — it describes every turbulent eddy down to the millimeter. But at Re = 10⁶, those eddies span scales from meters down to 0.1 mm. Resolving all of them (DNS) would require $10^{11}$ cells. Nobody does that for a car or a ship.
RANS takes the velocity field and splits it into a time-averaged mean $\bar{U}_i$ and a fluctuation $u'_i$:
$$u_i(x,t) = \bar{U}_i(x) + u'_i(x,t), \qquad \bar{U}_i = \lim_{T\to\infty}\frac{1}{T}\int_0^T u_i\,dt$$
Substituting into N-S and averaging eliminates the fluctuation terms — except for one stubborn nonlinear group: $-\rho\overline{u'_i u'_j}$, the Reynolds stress tensor. This 6-component symmetric tensor represents momentum transfer by turbulent eddies. Modeling it is what all RANS turbulence models are about. The resulting equations describe only the smooth time-mean flow — exactly what engineers usually want.
But if we're only computing the time-averaged flow, do we lose information about unsteady behavior?
Yes — and that's a known limitation. Steady RANS completely discards time history; you get one snapshot of the mean flow. For most industrial use cases — does this heat exchanger meet target pressure drop? Does this aircraft wing generate enough lift at cruise? — the mean flow is precisely what you need.
But for phenomena like vortex shedding behind a bluff body, buffet on a transonic wing, or combustion dynamics, you need either unsteady RANS (URANS) or LES. URANS solves the RANS equations with a time-marching scheme, capturing low-frequency large-scale unsteadiness while still modeling all turbulent fluctuations. It's a pragmatic middle ground used widely in turbomachinery and offshore structures.
2. Why RANS Dominates Industrial CFD
I've read that LES is more accurate. If that's true, why does every company I know use RANS instead?
Pure economics. Consider a full-car external aerodynamics simulation at highway speed (Re ≈ 3 × 10⁷). A well-converged steady RANS run — say with k-ω SST — might use 20 million cells and finish in 8 hours on a 64-core workstation. An equivalent wall-modeled LES would need 500 million cells, require time-accurate integration for several flow-through times, and run for 2–3 weeks on a 2,000-core HPC cluster. The RANS result predicts drag to within about 5–10% of wind-tunnel data. LES might get to 2–3% error. For design-space exploration — comparing 10 variants of a bumper shape — RANS wins decisively on cost.
The breakdown by computational cost, roughly:
- RANS: $\sim N^{1.3}$ scaling with mesh size; hours per case
- URANS: 5–20× RANS cost; days per case
- Wall-modeled LES (WMLES): $\sim Re^{1.8}$; weeks on HPC
- Wall-resolved LES: $\sim Re^{2.4}$; years (research only)
- DNS: $\sim Re^3$; practically impossible at industrial Re
3. Overview of RANS Model Families
All RANS models close the Reynolds stress by expressing $-\rho\overline{u'_i u'_j}$ in terms of solved mean-flow quantities. The key split is between eddy viscosity models (Boussinesq hypothesis) and Reynolds Stress Models (transport equations for each stress component).
k-ε Family
- Standard k-ε (Jones & Launder, 1972)
- RNG k-ε (Yakhot & Orszag, 1986)
- Realizable k-ε (Shih et al., 1994)
Solve transport equations for turbulent kinetic energy $k$ and dissipation rate $\varepsilon$; compute $\mu_t = \rho C_\mu k^2/\varepsilon$. Robust for fully attached flows and free shear. Weakness: adverse pressure gradient flows, separation prediction.
k-ω Family
- Standard k-ω (Wilcox, 1988/2006)
- k-ω SST (Menter, 1994) — industry standard
Solve for $k$ and specific dissipation rate $\omega = \varepsilon/(C_\mu k)$. k-ω requires no damping functions near walls. SST blends k-ω near walls with k-ε in freestream for the best of both worlds. Best choice for separated aerodynamic flows.
One-Equation Models
- Spalart-Allmaras (1992)
Solves one transport equation for modified eddy viscosity $\tilde{\nu}$. Extremely efficient, very robust convergence. Well-calibrated for attached boundary layers. Standard in aerospace external aerodynamics (NACA, NASA workflows). Poor for flows with significant separation or swirl.
Reynolds Stress Models (RSM)
- LRR (Launder-Reece-Rodi)
- SSG (Speziale-Sarkar-Gatski)
- Quadratic pressure-strain models
Solve 6 transport equations for $\overline{u'_i u'_j}$ directly — no Boussinesq assumption. Captures anisotropic turbulence, secondary flows, and curvature effects that two-equation models miss. Used for swirling flows, cyclones, curved ducts. Convergence is tricky — usually initialized from k-ε first.
Hybrid RANS-LES
- Detached Eddy Simulation (DES)
- Delayed DES (DDES)
- Scale-Adaptive Simulation (SAS)
RANS near walls (cheap); LES away from walls (accurate in separated regions). Designed for massively separated flows — stalled airfoils, bluff bodies, combustor geometries — at manageable cost. Requires finer mesh and transient solver.
4. How to Choose Your Turbulence Model
OK so there are a lot of options. When I'm setting up a new CFD case, how do I actually decide which model to use? Is there a decision process?
The clearest framework I use is three questions:
1. Do you have significant boundary layer separation or adverse pressure gradients? If yes — aerodynamics with possible stall, diffuser with angle > 15°, turbine blade pressure side near trailing edge — use k-ω SST. It explicitly limits eddy viscosity in APG regions. k-ε will consistently predict delayed separation.
2. Is the flow strongly swirling or does it have curved streamlines? Think cyclone separators, swirl burners, draft tube of a Francis turbine. Here eddy viscosity models fail because turbulence is highly anisotropic. Use RSM.
3. Is it a simple internal flow — ducts, pipes, heat exchangers — with no major separation? Then k-ε Realizable or even standard k-ε is perfectly adequate and will converge faster and more robustly than SST.
What about Spalart-Allmaras? I see it in some aerospace codes and ANSYS tutorials. When does it make sense?
Spalart-Allmaras is excellent for external aerodynamics with attached boundary layers — cruise conditions for wings and fuselages, helicopter blade near hover, high-lift devices with moderate flap angles. It was purpose-built for these flows and has been extensively validated against NASA wind-tunnel databases. One equation makes it fast to converge. The key restriction is: do not use it for bluff bodies, round jets, massively separated flows, or any problem where bulk turbulence generation matters away from walls. For example, running S-A on a turbomachinery stage with strong secondary flows will give noticeably wrong results. In that case, SST or RSM is more appropriate.
5. Wall Treatment Options and y+ Requirements
I always get confused about wall functions. My mesh has y+ around 50 near the walls — is that OK? Does it depend on which model I'm using?
y+ = 50 is in the log-law region, which is fine for standard wall functions with k-ε. The log-law region spans roughly $30 < y^+ < 300$. Here the velocity profile follows:
$$u^+ = \frac{1}{\kappa}\ln(y^+) + B, \qquad \kappa \approx 0.41,\; B \approx 5.0$$
Wall functions apply this relation algebraically at the first cell, bypassing the need to resolve the viscous sublayer ($y^+ < 5$) and buffer layer ($5 < y^+ < 30$). For k-ω SST with automatic wall treatment — which is the default in modern OpenFOAM and Fluent — the model adapts smoothly between log-law behavior (y+ > 30) and low-Re behavior (y+ ≈ 1). If you have y+ around 50, SST with automatic wall treatment handles it gracefully. The danger zone is $5 < y^+ < 30$ with standard wall functions — neither assumption is valid there.
| Wall Treatment Strategy | Required y+ | Compatible Models | Pros / Cons |
|---|---|---|---|
| Standard wall function (log-law) | 30 – 300 | k-ε standard, RNG, Realizable | Fast convergence, coarser mesh; inaccurate near separation or reattachment |
| Enhanced wall treatment (blended) | 1 – 300 (adaptive) | k-ω SST, k-ω standard | Best accuracy for adverse pressure gradient; preferred for aerodynamics |
| Low-Re near-wall approach | y+ ≈ 1 (5+ cells in sublayer) | k-ε Launder-Sharma, v2-f, all LES | Maximum accuracy; requires mesh count 3–5× higher than wall function approach |
| Spalding unified law | 1 – 200 (blended) | Spalart-Allmaras with low-Re correction | Single continuous function from sublayer to log-law; robust |
6. Model Comparison Table
| Model | Accuracy (General) | Accuracy (APG/Sep.) | CPU Cost | Convergence | Best Application |
|---|---|---|---|---|---|
| k-ε Standard | Moderate | Poor | Very low | Excellent | Fully turbulent internal flows, far-field wakes |
| k-ε RNG | Moderate–Good | Fair | Very low | Excellent | Swirling flows with moderate APG; transitional flows |
| k-ε Realizable | Good | Fair | Low | Very good | Rotating flows, jets, round plumes; general purpose |
| k-ω SST | Good–Very Good | Very Good | Low | Good | Aerodynamics, turbomachinery, wind turbines, APG flows |
| Spalart-Allmaras | Good | Fair–Good | Very low | Excellent | Attached external aero BL; aerospace codes |
| RSM (LRR/SSG) | Very Good | Very Good | High (6 eqns) | Difficult | Swirling flows, cyclones, curved ducts, secondary flows |
| DES / DDES | Very Good–Excellent | Excellent | Very High | Moderate | Massively separated flows, aeroacoustics, bluff bodies |
7. Sub-Articles in This Section
8. Quick Model Selection Cheat Sheet
- Pipe / duct / heat exchanger (attached flow, high Re): k-ε Realizable + standard wall functions (y+ 30–100)
- External aerodynamics, wing, car, wind turbine: k-ω SST + automatic/low-Re wall treatment (y+ ~ 1 or 30–300)
- Aircraft / fuselage at cruise, clean config: Spalart-Allmaras (y+ ~ 1)
- Cyclone, swirl burner, curved duct: RSM (SSG or LRR) + wall functions
- Transitional flat plate, low-turbulence inlet: k-ω SST + γ-Reθ transition model
- Bluff body wake, stalled wing, combustor: DDES or LES (requires transient, finer mesh)
- Unknown flow, first exploratory run: k-ω SST — the safest default across all codes