DES (Detached Eddy Simulation)
Theory & Physics
Overview
Professor, I've learned that RANS models the entire turbulence spectrum by time averaging, while LES directly resolves large-scale eddies. Is DES a hybrid strategy that uses both?
Exactly. DES is a pragmatic hybrid: use RANS near solid walls in the boundary layer to save cost, and switch to LES in separated wakes and free shear regions where accuracy demands it. RANS alone can't capture the large unsteady vortex structures in separated flows — it can only give you a time-averaged picture. Full LES everywhere is prohibitively expensive for most industrial configurations. DES resolves this dilemma. Spalart proposed it in 1997 with bluff-body aerodynamics in mind, and today it's the workhorse model for automotive aerodynamics, aircraft design, and wind engineering.
What exactly is a "separated wake," and why does RANS fail there specifically?
Think of the rear of a car trunk or the back of a building where the flow detaches from the surface and forms a highly unsteady recirculation region. Large coherent vortical structures — reminiscent of a von Kármán vortex street — shed periodically. RANS averages all of this into a steady recirculation lump, missing the unsteady pressure fluctuations responsible for aeroacoustic noise, lift variations, and drag instabilities. DES lets the LES region directly resolve these large-scale structures, giving designers the unsteady picture they actually need.
And in the attached boundary layer upstream of separation — why is RANS still preferred there?
In an attached boundary layer, the energetically dominant turbulent scales are extremely small — on the order of $y^+$ wall units — and resolving them with LES would require an enormous number of cells. The classical estimate shows LES cell count scales as $Re^{1.8}$ for wall-resolved LES versus roughly $Re^{0.4}$ for RANS. At a car Reynolds number of $10^7$, that's a difference of many orders of magnitude. RANS is not only cheaper — it's actually quite accurate for attached boundary layers, which is exactly where its assumptions hold well. DES leverages this: let RANS do what it does well (attached layers), and let LES do what only it can do (large-scale unsteady wake dynamics).
DES97 Formulation
Can you walk me through the actual DES97 equations?
DES97 is built on the Spalart-Allmaras (S-A) one-equation model. The only modification is in the destruction term, where the wall-distance length scale $d_w$ is replaced by a blended length scale:
Here $\Delta = \max(\Delta x, \Delta y, \Delta z)$ is the local cell size, and $C_{DES} \approx 0.65$ for the S-A base model. When $d_w \ll C_{DES}\Delta$ (near a wall), $\tilde{d} = d_w$ and the model behaves identically to RANS. When $C_{DES}\Delta \ll d_w$ (deep in the separated wake far from walls), $\tilde{d} = C_{DES}\Delta$ and the destruction term becomes equivalent to a Smagorinsky-type SGS model. This single substitution achieves the RANS-to-LES transition.
So the RANS-to-LES switch is entirely controlled by the cell size $\Delta$? Does that mean the mesh design directly controls where RANS ends and LES begins?
Precisely. The transition location is where $d_w = C_{DES}\Delta$. In the boundary layer mesh, you keep cells large enough that $C_{DES}\Delta > d_w$ (RANS mode). In the wake region, you refine cells so that $C_{DES}\Delta < d_w$ (LES mode). This mesh-driven switching is simple and effective for most flows — but it has a critical weakness when boundary layer meshes are made very fine, which is where the Modeled Stress Depletion problem arises.
Spalart-Allmaras Base Model
I hear DES is usually built on either S-A or SST k-ω. Can you explain the Spalart-Allmaras side?
The S-A model transports a single modified eddy viscosity variable $\tilde{\nu}$. Its transport equation is:
The destruction term contains $(\tilde{\nu}/\tilde{d})^2$. Replacing $d_w$ with $\tilde{d} = \min(d_w, C_{DES}\Delta)$ is the entire DES97 modification. In the LES region, the destruction term increases, reducing $\tilde{\nu}$, which reduces the eddy viscosity to Smagorinsky-equivalent levels. The eddy viscosity $\mu_t = \rho\tilde{\nu}f_{v1}$ where $f_{v1}$ is a near-wall damping function.
DES on SST k-ω Base
Many engineers prefer the SST k-ω model. Does DES also work with SST as the base?
Yes — SST-DES is widely used and often preferred because SST-RANS tends to be more accurate than S-A for adverse-pressure-gradient boundary layers. The modification in SST-DES appears in the turbulent kinetic energy (TKE) dissipation term:
$L_{RANS} = k^{1/2}/(\beta^* \omega)$ is the RANS turbulent length scale. When $L_{RANS} > C_{DES}\Delta$, the dissipation increases and TKE is reduced, enabling LES-like resolved fluctuations. $C_{DES}$ values differ between the k-ω region ($C_{DES} \approx 0.78$) and k-ε region ($C_{DES} \approx 0.61$) when using the SST blending function. SST-DES inherits SST's superior near-wall accuracy and its RANS-LES transition benefits from the already-refined SST blending mechanism.
RANS/LES Switching & MSD Problem
You mentioned the Modeled Stress Depletion problem earlier. What actually goes wrong?
MSD is the major weakness of DES97. If you refine the boundary layer mesh to very fine cells for accuracy — say, to achieve y+ ≈ 1 for a wall-resolved boundary layer — $\Delta$ in the BL region becomes small enough that $C_{DES}\Delta < d_w$ even inside the attached boundary layer. The model then switches to LES mode prematurely, drastically reducing eddy viscosity. But in an attached BL, the LES mesh is still far too coarse to actually resolve the small BL turbulent scales, so the model produces insufficient eddy viscosity (stress depletion). The result: the boundary layer separates far too early, leading to massive drag overprediction — even on a flat surface. This is why DES97 is problematic on fine meshes.
How was this addressed? I've heard DDES was the fix.
DDES (Delayed DES, Spalart et al. 2006) adds a shielding function $f_d$ to the length scale formula:
When $f_d \approx 0$ (inside an attached BL), $\tilde{d}_{DDES} = d_w$ — pure RANS. When $f_d \approx 1$ (in separated/free shear regions), the modification is fully applied and the model behaves like DES. $f_d$ is computed from the ratio of eddy viscosity to molecular viscosity and the local velocity gradient magnitude, which naturally identify attached BL cells. DDES is now the default "DES" in essentially all commercial CFD codes. The original DES97 is retained mainly for historical reference.
Numerical Methods & Implementation
Mesh Requirements
What are the standard mesh design guidelines for a DES simulation?
Here are the widely accepted guidelines for DES mesh design:
| Region | Recommended y+ | Cell Type | Notes |
|---|---|---|---|
| RANS boundary layer | y+ ≈ 1–5 (wall-resolved) or 30–300 (wall function) | Prismatic layers, wall-parallel | S-A needs y+≈1; SST can use wall functions |
| RANS-to-LES transition zone | — | Smooth transition to isotropic cells | Growth rate ≤ 1.2; avoid abrupt size jumps |
| LES separated wake | — | Near-isotropic (cube-like) cells | Aspect ratio ideally ≤ 5:1; anisotropic cells degrade SGS |
| Far field | — | Coarser structured or polyhedral | Sponge zone to prevent reflections if needed |
Total cell counts for automotive DES: roughly 50–200 million cells. Aircraft wing sections: 10–50 million cells. Wind engineering tall building studies: 5–50 million cells.
Should the LES region cells be hexahedral, or can I use polyhedral elements?
Polyhedral and hex cells both work, but the key requirement is near-isotropy. A polyhedral cell that is nearly spherical in shape is far better than an elongated prism. Hexahedral meshes have an accuracy advantage for LES because they naturally support non-dissipative central differencing. Tetrahedral LES is generally discouraged for the LES region because implicit numerical dissipation in tetrahedral schemes acts like artificial viscosity, contaminating the SGS model. If you must use tets in the wake (e.g., from automatic meshing), compensate with a blended scheme (70%+ central difference weighting).
Numerical Scheme Requirements
In RANS I always used upwind schemes. Do those work for DES?
First-order upwind is absolutely incompatible with the LES region — its numerical diffusion will damp out the resolved fluctuations you're trying to compute. In the LES region you need:
- Convection scheme: Bounded central differencing (BCD) or at minimum 60–80% central blend. OpenFOAM's
filteredLinearorLUSTare good choices. Fluent's bounded central differencing is the default DES convective scheme. - Time integration: Second-order implicit (backward differencing or Crank-Nicolson). The Courant number in the LES region should ideally be $Co \lesssim 1$.
- RANS region: Upwind schemes are fine here and reduce cost. A hybrid approach — upwind in RANS, central in LES — is implemented automatically in some solvers via the DES indicator field.
Statistical Convergence
How long do I need to run a DES simulation before I can trust the time-averaged results?
This is one of DES's most underestimated cost drivers. You need to:
- Initial transient flush: Run for at least 5–10 flow-through times ($T_{flow} = L_{ref}/U_\infty$) before starting statistics collection. During this phase, the RANS initial condition "washes out" and resolved turbulence develops in the LES region.
- Averaging period: Collect statistics for at least another 10–20 flow-through times. For forces (drag, lift), check convergence by comparing the running mean over the first half and second half of the averaging window — they should differ by less than 1–2%.
- Spectral check: Compute the energy spectrum of velocity fluctuations at a probe point in the wake. A well-resolved DES should show a -5/3 slope (Kolmogorov inertial subrange) over roughly one decade of frequency before the dissipation range.
- Practical timeline: For a full-scale automotive DES at 50M cells, expect 50,000–200,000 time steps. On a 256-core HPC cluster that's typically 3–10 days of wall-clock time.
Practical Guide
I need to run DES for wind loading on a tall building. What are the key steps and checks?
Wind engineering is one of DES's most important application areas. Here is the complete workflow:
- Domain sizing: Inlet 5H upstream, outlet 15H downstream, lateral walls 5H from the building, top 5H above roof. For group building studies, 10H spacing to prevent interference.
- Inlet boundary conditions: Apply an atmospheric boundary layer (ABL) mean velocity profile following a log-law or power-law. The turbulence intensity should match site measurements. Use a Synthetic Turbulence Generator (STG) or Synthetic Eddy Method (SEM) to add turbulent fluctuations; without them the LES region will develop no resolved turbulence until far downstream.
- Wall treatment on building surfaces: Wall functions (y+ 30–300) are practical for building facades. Reserve resolved near-wall layers for the ground ABL where velocity gradients matter for structural loading.
- Cell sizing near the building: Target $\Delta/H \lesssim 0.05$ near corners and leading edges where separation initiates. Coarser cells are acceptable in the far wake.
- Statistical sampling: For structural loading, collect mean and peak pressure coefficients $C_p$ and their probability distributions. Building wind load codes require extreme-value estimation, which needs 10–60 minutes of full-scale equivalent sampling time.
- Validation: Compare mean $C_p$ profiles against wind tunnel data. For the CAARC Standard Tall Building (a benchmark case), DES mean base pressure results typically agree within ±10% of wind tunnel values when setup is correct.
What about using DES for automotive aerodynamics — what's different there?
Automotive DES follows a similar pattern but with different emphasis:
- Focus regions: Rear window (fastback separation), underbody diffuser, wheel arches — these are the critical LES regions for aerodynamic drag and lift.
- Moving ground and rotating wheels: Use sliding mesh or multiple reference frames for wheel rotation. The wheel wake is highly unsteady and significantly affects diffuser performance — RANS completely misses this.
- Time step: Typically $\Delta t = 1$–5 × 10⁻⁵ s for a full-scale vehicle at 140 km/h. This keeps $Co \lesssim 1$ in the wake region with typical cell sizes of 5–15 mm.
- What DES adds over RANS: The rear wake vortex shedding that RANS cannot capture accounts for 5–15% of total aerodynamic drag. For electric vehicle range, that margin is critical.
Software Comparison
Which tools support DES, and how do they differ?
Here's a comparison of major tools:
| Tool | DES Variants | Base Models | Recommended Use |
|---|---|---|---|
| Ansys Fluent | DES97, DDES, IDDES | S-A, Realizable k-ε, SST k-ω | Automotive, aerospace; rich post-processing; GPU-accelerated |
| OpenFOAM | SpalartAllmarasDES, SpalartAllmarasDDES, kOmegaSSTDES, kOmegaSSTIDDES | S-A, SST k-ω | Open source; highly customizable; strong wind engineering community |
| Simcenter STAR-CCM+ | DES97, DDES, IDDES | SST k-ω, SST k-ω γ-Re_θ | Full vehicle aero; powerful meshing pipeline |
| SU2 | SA-DES, SA-DDES | S-A | Aerospace optimization; coupled aeroelastic DES |
| Siemens Simcenter AMESIM (1D/3D coupling) | DDES via STAR-CCM+ kernel | SST k-ω | System-level coupling with CFD |
In OpenFOAM, how do I actually select DES vs DDES?
In constant/turbulenceProperties, set:
RASModel kOmegaSSTIDDES; // or SpalartAllmarasDDES
// In the model coefficients dict:
kOmegaSSTIDDESCoeffs
{
CDES 0.65;
CDDESCoeffs
{
Cd1 8;
Cd2 3;
}
}
IDDES is generally the best choice for modern work — it incorporates both the DDES shielding and WMLES capability. Use DDES when you need a more predictable RANS/LES transition and don't need wall-modeled LES. Never use the plain SpalartAllmarasDES (DES97) for production runs due to MSD risk.
Advanced Topics
DES Family Evolution & IDDES
What are the main developments beyond DDES, and where is the field heading?
The DES lineage is well-defined: DES97 (Spalart, 1997) → DDES (Spalart et al., 2006) → IDDES (Shur et al., 2008) → SLA (Stress-Limiting Approach, Spalart & Garbaruk, 2023).
IDDES unified DDES with Wall-Modeled LES (WMLES). In WMLES mode, IDDES applies a modified subgrid length scale that accounts for the distance from the wall inside the boundary layer, allowing accurate turbulence transport in thin boundary layers that DDES could not handle. The SLA variant further addresses the grey area problem by applying a stress-limiting function at the RANS/LES interface to prevent resolved fluctuations from dying out.
Current research directions include: (1) machine learning to dynamically determine the RANS/LES blending coefficient based on flow state sensors; (2) data-driven subgrid models trained on DNS databases; (3) gray zone bridging methods that explicitly generate resolved LES fluctuations at the RANS-LES interface through stochastic forcing.
Cost vs. Accuracy: Where DES Fits
How does DES compare to RANS and full LES in terms of cost and accuracy for separated flows?
Here's a practical comparison for a typical bluff-body or separated flow problem:
| Method | Relative Cost | Accuracy (Separated Wakes) | Typical Use Case |
|---|---|---|---|
| Steady RANS | 1× (reference) | Poor — misses unsteady vortex dynamics | Preliminary design, attached flows |
| Unsteady RANS (URANS) | 5–10× | Fair — captures dominant shedding frequency but not broadband | Vortex-dominated flows with clear dominant frequency |
| DES/DDES/IDDES | 50–200× | Good — resolves large-scale structures accurately | Production aerodynamic analysis, wind engineering |
| Wall-resolved LES | 1,000–10,000× | Excellent — captures full spectrum | Academic validation, low-Re components |
How DES Was Born
Philippe Spalart proposed Detached Eddy Simulation in his landmark 1997 AIAA paper "Comments on the Feasibility of LES for Wings, and on a Hybrid RANS/LES Approach." At the time, the turbulence modeling community faced an impasse: RANS was practical but fundamentally incapable of accurately predicting separated and wake flows around wings and vehicles. Full LES cost an order of magnitude more than any industrial budget could support. Spalart's idea was beautifully simple: "Keep RANS near the wall where it works well and costs little, and switch to LES only in the separated region where the physics demands it." The elegance of the DES97 formulation — a single substitution $d_w \to \min(d_w, C_{DES}\Delta)$ that requires no new equation or coupling term — contributed enormously to its rapid adoption. Today the DES family is the most widely used high-fidelity turbulence model in industrial CFD.
Troubleshooting
What are the most common problems in DES simulations, and how do I diagnose them?
Here are the most common DES failure modes and their signatures:
| Symptom | Likely Cause | Remedy |
|---|---|---|
| Separation far too early on a smooth surface | MSD — DES97 in LES mode inside BL | Switch from DES97 to DDES or IDDES |
| Wake looks laminar / no resolved structures | Grey area — LES fluctuations not developing at interface | Use IDDES; add synthetic fluctuations at RANS/LES interface; check scheme (upwind contaminates LES) |
| Mean drag/lift oscillates and never converges | Insufficient statistical averaging time | Run 10+ additional flow-through times; use running mean convergence metric |
| Checkerboard pressure oscillations | Central differencing with collocated mesh | Add Rhie-Chow pressure correction; use pressure-velocity coupling appropriate for LES (PISO or fractional step) |
| Residuals diverge in LES region | Courant number too large in wake | Reduce time step; target Co ≤ 1 in LES region based on local velocity and cell size |
How do I visualize whether the RANS and LES regions are where I intended them to be?
Plot the DES indicator field — most solvers output this directly. In OpenFOAM it's the ratio $C_{DES}\Delta / d_w$; values below 1 mean RANS is active, above 1 means LES. For DDES, plot the shielding function $f_d$ (0 = RANS shielded, 1 = LES active). Also visualize instantaneous Q-criterion iso-surfaces — if the LES region is working correctly you should see a rich population of 3D vortical structures in the wake. If the wake shows only 2D rollers or no vortices at all, the LES region is not developing properly.
MSD, grey zone issues, statistical convergence, boundary condition setup, time step selection — detailed solutions
Go to Troubleshooting Guide