RANS schemes in code_saturne

🌪️ Turbulence: predict the unpredictable

Turbulence is one of the most complex and fascinating phenomena in fluid dynamics — a chaotic interplay of swirling eddies and vortices, spanning a wide range of spatial and temporal scales. Yet despite its complexity, understanding turbulence is essential: it influences drag, heat transfer, mixing, acoustic noise, and countless other effects in real-world systems.

Simulating all turbulent scales directly using Direct Numerical Simulation (DNS) is theoretically possible — but in practice, it’s far too computationally demanding for most engineering applications. That’s where turbulence models come in. They approximate the influence of the unresolved turbulent motions, making it possible to simulate realistic flows within reasonable computational cost.

There are two main families of turbulence modeling approaches:

  • Reynolds-Averaged Navier–Stokes (RANS) methods, which focus on the mean flow by averaging out the influence of turbulent motion.
  • Large Eddy Simulation (LES) models, which resolve the large-scale turbulent structures explicitly, while modeling only the smaller scales.
turbulence modeling in CFDTubulent field obtained with DNS, LES and RANS (Source:  B. Cuenot. Introduction à la modélisation de la combustion turbulente CERFACS/CFD Toulouse- France: Cours de Combustion Turbulente de D. Vey nante, ECP et L. Vervisch, INSA Rouen, 2005.)

In code_saturne, several turbulence modeling approaches are available — from statistical RANS models to scale-resolving techniques such as LES and hybrid methods. Each relies on different assumptions about how turbulence interacts with the mean flow.

In this post, we’ll focus on **RANS modeling — ** the most widely used and computationally efficient approach for engineering simulations. RANS models allow us to capture the average effect of turbulence without simulating every chaotic fluctuation, making them efficient and robust for a wide range of industrial applications.


🌀 Reynolds-Averaged Navier–Stokes (RANS) models

Turbulence introduces chaotic fluctuations that interact with the mean flow. RANS models take a practical route: they don’t resolve turbulence directly but predict its overall effect on the flow.

This leads to additional terms in the equations — the Reynolds stresses — which represent the momentum transfer caused by turbulence. Since these stresses are unknown, they need to be modeled to close the system of equations.

A widely used approach for this is the Boussinesq hypothesis.

Joseph Valentin Boussinesq (Source: https://archiviostorico.unibo.it/it/patrimonio-documentario/lauree-honoris-causa?record=112377)

What is the Boussinesq Hypothesis ?

The Boussinesq hypothesis models turbulence as an enhanced viscosity — the eddy viscosity — which accounts for the additional momentum transfer caused by turbulent fluctuations.

It assumes that turbulent stresses are proportional to the mean strain rate, which simplifies the equations significantly. This assumption works well for many engineering flows, but relies on the idea that turbulence is isotropic — a limitation in near-wall regions, swirling flows, or under strong curvature.

To compute the eddy viscosity, closure equations are introduced. Different models use different formulations, depending on the flow features they aim to represent.

Eddy viscosity turbulence models in code_saturne:

Several turbulence models in code_saturne are based on the Boussinesq hypothesis, each using different closure equations to compute the eddy viscosity. Here’s an overview of the main models available:

  • k–ε (Standard): A widely used two-equation model that solves for turbulent kinetic energy (k) and its dissipation rate (ε). Simple, robust, and well-suited for free shear flows and wall-free regions, but less accurate near walls and not ideal for strong separation or adverse pressure gradients.
  • k–ε (Linear Production): A variant specific to* code_saturne,* using a linearized expression for the turbulence production term. This improves stability and convergence, particularly on coarse or irregular meshes. The simplification may reduce physical fidelity in highly strained regions, but remains accurate for most engineering flows with moderate gradients.
  • v²–f (BL-v²/k): A more advanced model that adds new variables to better capture near-wall anisotropy and non-equilibrium effects. Well-suited for boundary layers and flows with separation or reattachment.
  • k–ω SST: A hybrid model combining k (turbulent kinetic energy) and ω (specific dissipation rate), blending the strengths of k–ω near walls with k–ε in the outer flow. It offers improved accuracy in flows with separation, pressure gradients, or curvature.
  • Spalart–Allmaras: A one-equation model that solves directly for eddy viscosity. Efficient and widely used for external aerodynamic flows with predominantly attached boundary layers.
  • Mixing Length: An algebraic model based on Prandtl’s idea that eddy viscosity scales with a characteristic mixing length and local velocity gradient. Useful for simple, steady boundary-layer flows, but too simplistic for complex or separated flows.

When the Boussinesq Assumption Breaks Down :

The Boussinesq hypothesis works well for many engineering flows, but it has clear limitations. It assumes turbulence is isotropic — an approximation that breaks down near walls, in strong shear layers, swirling regions, or curved flows.

In flows where turbulence is strongly anisotropic, a more detailed approach is needed. That’s where Reynolds Stress Models (RSM) come in: instead of relying on a single eddy viscosity, they solve transport equations for each component of the Reynolds stress tensor. This enables them to better capture anisotropy, swirl, and complex strain effects.

Reynolds Stress Models in code_saturne:

For flows where turbulence is strongly anisotropic — such as swirling jets, curved ducts, or flows with separation — c**ode_saturne**** **provides several Reynolds Stress Models (RSM) designed to capture these complex effects more realistically than eddy-viscosity models.

  • R–ε (LRR, SSG, EBRSM):
    • LRR (Launder–Reece–Rodi): Baseline linear pressure–strain model, suitable for moderately complex flows.
    • SSG (Speziale–Sarkar–Gatski): Nonlinear model improving predictions in swirling or strongly curved flows.
    • EBRSM (Elliptic Blending Reynolds Stress Model): Extends SSG for better near-wall treatment.

⚙️ In short

  • Eddy viscosity turbulence models → simpler, faster, assume isotropic turbulence.
  • Reynolds Stress Models → more accurate, resolve turbulence anisotropy directly.

With both model families available, code_saturne gives users the flexibility to balance computational cost and physical fidelity across a wide range of applications.

💡 Understanding turbulence modeling is key to understanding turbulence itself — and to turning chaotic flows into engineering insight.

🧵 Stay tuned: A future post will explore the LES models available in #code_saturne and how they differ from RANS approaches.