How to choose y⁺ for your CFD mesh
The single number that decides whether your near-wall physics is real or a polite fiction is y⁺. Pick it well and your mesh resolves the boundary layer honestly; pick it badly and your drag, heat transfer, and separation are all quietly wrong.
If you've ever asked "how fine does my first cell near the wall need to be?" — this is the number that answers it. Here's a practical way to choose a target and turn it into an actual cell height.
What y⁺ actually is
y⁺ is a dimensionless wall distance. It measures how far the first grid point sits from the wall, but in units scaled by the near-wall turbulence rather than millimetres:
The friction velocity uτ = √(τw / ρ) is built from the wall shear stress. Because it folds in the local flow, y⁺ tells you which part of the boundary layer your first cell lands in — and that's what your turbulence model cares about.
The boundary layer has zones — put your cell in the right one
Very close to a wall, a turbulent boundary layer splits into regions:
- Viscous sublayer (y⁺ < 5): viscosity dominates; velocity varies linearly with distance.
- Buffer layer (5 < y⁺ < 30): the messy transition where neither the linear nor the log law holds cleanly.
- Log-law region (30 < y⁺ < ~300): velocity follows the logarithmic "law of the wall."
Your meshing strategy is really a choice of which zone the first cell centroid sits in.
Two strategies: resolve the wall, or model it
Wall-resolved (target y⁺ ≈ 1). You put the first cell deep inside the viscous sublayer and let the mesh capture the steep near-wall gradient directly. This is what low-Reynolds-number turbulence models and LES generally want. It's the accurate route for separation, transition, and heat transfer — but it's expensive, because tiny first cells mean lots of prism layers.
Wall functions (target y⁺ ≈ 30–300). You place the first cell out in the log-law region and let an analytical wall function bridge the gap to the wall. Far cheaper, and perfectly reasonable for attached, high-Reynolds flows where you don't need the sublayer resolved.
Turning a target y⁺ into a first cell height
You can't measure y⁺ until you've run the case — it depends on the solution. So we estimate it ahead of time from a flat-plate boundary-layer correlation. The recipe:
- 1. Reynolds number:
ReL = U · L / ν, withLa representative length. - 2. Skin-friction estimate (turbulent flat plate):
Cf ≈ 0.058 · ReL−0.2. - 3. Wall shear stress:
τw = ½ · Cf · ρ · U². - 4. Friction velocity:
uτ = √(τw / ρ). - 5. First cell distance for your target:
Δy = y⁺target · ν / uτ.
That Δy is the wall distance of the first node. It's an estimate — the real y⁺ won't be exactly your target because the correlation is approximate and the local shear varies over the geometry. That's fine: you set the mesh from the estimate, run, then check the actual y⁺ field in post-processing and refine if a critical region drifted into the buffer layer.
A sane default workflow
- Decide the strategy from the physics: separation / transition / heat transfer → wall-resolved, y⁺ ≈ 1. Attached high-Re aero/duct flow where cost matters → wall functions, y⁺ ≈ 30–100.
- Estimate
Δywith the recipe above. - Grow the prism layers off that first cell with a modest expansion ratio (≈ 1.2) until they blend into the core mesh.
- Run, then plot the y⁺ field and confirm it's where you intended everywhere that matters.
- Refine locally where it isn't.
The estimate is arithmetic, not art — which is exactly why it's worth having a calculator do it so you can sweep operating conditions in seconds instead of re-deriving each time.
Skip the arithmetic
The AgniCycle y⁺ calculator turns your flow conditions and target y⁺ into a first cell height — free, no sign-in, in your browser.
Open the y⁺ calculator CFD Training