Y-Plus (y+) Calculator
Calculate y-plus (y+) wall distance for proper mesh resolution in CFD turbulence modeling
Category: Cfd
Y-Plus (y+) Calculator Inputs
Y-Plus (y+) Calculator Formula
Equation
y^+ = (u_\tau y)/(\nu) = (y)/(\delta_\nu)
Excel Formula
=y^+=(u_y)/=(y)/(_)
Variables
- Characteristic Velocity (U, m/s) — Enter the Characteristic Velocity (U, m/s) value used by the Y-Plus (y+) Calculator.
- Characteristic Length (L, m) — Enter the Characteristic Length (L, m) value used by the Y-Plus (y+) Calculator.
- Kinematic Viscosity (ν, m²/s) — Enter the Kinematic Viscosity (ν, m²/s) value used by the Y-Plus (y+) Calculator.
- Density (ρ, kg/m³) — Enter the Density (ρ, kg/m³) value used by the Y-Plus (y+) Calculator.
- Turbulence Model — Choose the Turbulence Model option used by the Y-Plus (y+) Calculator.
- Target Y-Plus — Enter the Target Y-Plus value used by the Y-Plus (y+) Calculator.
- Mesh Growth Rate — Enter the Mesh Growth Rate value used by the Y-Plus (y+) Calculator.
- Number of Prism Layers — Enter the Number of Prism Layers value used by the Y-Plus (y+) Calculator.
How the Y-Plus (y+) Calculator Works
Y-plus (y+) is a dimensionless wall distance used in CFD to determine the appropriate mesh resolution near walls for turbulence modeling. It represents the distance from the wall in viscous length scales (wall units) and determines whether wall functions or near-wall resolution is appropriate. Proper y+ values are critical for accurate prediction of wall shear stress, heat transfer, and flow separation.
The core relationship is y^+ = \frac{u_\tau y}{\nu} = \frac{y}{\delta_\nu}. Typical inputs include Characteristic Velocity (U, m/s), Characteristic Length (L, m), Kinematic Viscosity (ν, m²/s), Density (ρ, kg/m³).
Enter your values in the y-plus (y+) calculator above, review the step-by-step solution, and compare against the worked examples below so you can see how each input changes the result. This free online cfd tool is built for homework, design checks, and professional verification.
Y-Plus (y+) Calculator Theory & Explanation
Definition and Physical Meaning
Y-plus is defined as:
y^+ = (u_\tau y)/(\nu) = (y)/(\delta_\nu)
Where: • y = distance from wall (m) • u_\tau = friction velocity (m/s) • \nu = kinematic viscosity (m²/s) • \delta_\nu = \nu/u_\tau = viscous length scale (m)
**Friction velocity:** u_\tau = √(\frac\tau_w)\rho
Where \tau_w is wall shear stress and \rho is density.
**Physical interpretation:** • y^+ measures distance in viscous length scales • Low y^+: Within viscous sublayer (molecular viscosity dominates) • Medium y^+: Buffer layer (transition region) • High y^+: Log-layer (turbulent mixing dominates)
y^+ = (u_\tau y)/(\nu)
Boundary Layer Structure
The turbulent boundary layer has distinct regions:
**Viscous Sublayer (y^+ < 5):** • Linear velocity profile: u^+ = y^+ • Molecular viscosity dominates • No turbulence production • Requires very fine mesh resolution
**Buffer Layer (5 < y^+ < 30):** • Transition region • Both viscous and turbulent effects important • Complex velocity profile • Difficult to model accurately
**Log-Law Region (30 < y^+ < 300):** • Logarithmic velocity profile: u^+ = (1)/(\kappa)\ln(y^+) + B • \kappa ≈ 0.41 (von Kármán constant) • B ≈ 5.0 (smooth wall) • Turbulence dominates • Wall functions applicable
**Outer Layer (y^+ > 300):** • Wake region • Depends on pressure gradient and flow history
u^+ = (1)/(\kappa)\ln(y^+) + B
Y+ Requirements for Different Models
**Low Reynolds Number Models (k-ω SST, k-ω, Spalart-Allmaras):** • Target: y^+ < 1 (ideally y^+ ≈ 0.5-1) • First cell must be in viscous sublayer • Requires very fine near-wall mesh • Accurate wall shear stress and heat transfer • Best for: Separated flows, heat transfer, transition
**Wall Function Models (Standard k-ε, Realizable k-ε):** • Target: 30 < y^+ < 300 (ideally y^+ ≈ 30-100) • First cell in log-layer • Coarser mesh acceptable • Less accurate for separated flows • Best for: Attached flows, high Re, faster computations
**Enhanced Wall Treatment:** • Blends wall functions and low-Re approach • Works for y^+ < 1 to y^+ > 30 • More flexible but less accurate at extremes
**Scalable Wall Functions:** • Prevent y^+ from going below certain value • More robust but sacrifices some accuracy
First Cell Height Calculation
To achieve target y^+, calculate first cell height:
y = (y^+ \nu)/(u_\tau)
**Estimating friction velocity:**
For flat plate turbulent boundary layer: u_\tau ≈ 0.0225 · U_∞ · Re_L^-1/8
Using friction coefficient: u_\tau = U_∞ √(\fracC_f)2
**Friction coefficient estimates:** • Pipe flow: C_f ≈ 0.079 Re_D^-1/4 (turbulent) • Flat plate: C_f ≈ 0.027 Re_x^-1/7 (turbulent) • Using wall shear: C_f = (2\tau_w)/(\rho U^2)
**Practical approach:** 1. Estimate C_f from Re and geometry 2. Calculate u_\tau = U_∞√(C_f/2) 3. Calculate y = y^+ \nu / u_\tau for target y^+
y = (y^+ \nu)/(u_\tau)
Mesh Growth Rate and Layer Count
After first cell height, subsequent layers grow:
**Growth rate:** y_n+1 = y_n · r
Typical growth rates: r = 1.1 to 1.3
**Total height after n layers:** y_total = y_1 (r^n - 1)/(r - 1)
**Number of cells to reach boundary layer:** n = (\ln(\delta/y_1 · (r-1) + 1))/(\ln(r))
Where \delta is boundary layer thickness.
**Recommendations:** • Low-Re models: 15-20 cells in boundary layer • Growth rate: 1.05-1.2 (gentler for low-Re) • First 10 cells should be within y^+ < 10-15 • Avoid sharp changes in cell size
y_total = y_1 (r^n - 1)/(r - 1)
Practical Considerations
**Iterative Nature:** • Wall shear stress unknown until solution converges • Initial mesh based on estimates • Check actual y^+ after solving • Refine mesh if needed and re-solve
**Variable y^+:** • y^+ varies across surface (different velocities, shear) • Design mesh for maximum expected u_\tau • Check y^+ contours in post-processing
**Computational Cost:** • y^+ = 1 requires 10-100× more cells than y^+ = 30 • Use wall functions when accuracy allows • Reserve low-Re models for critical regions
**Complex Geometries:** • Maintain mesh quality (orthogonality, aspect ratio) • Prism/inflation layers perpendicular to walls • May need local refinement in high-gradient regions
Heat Transfer Considerations
For heat transfer, thermal boundary layer also matters:
**Temperature y+:** y^+_T = (u_\tau y)/(α)
Where α is thermal diffusivity.
**Relationship:** (y^+_T)/(y^+) = (\nu)/(α) = Pr
Where Pr is Prandtl number.
**Requirements:** • For accurate heat transfer: resolve thermal sublayer • Gases (Pr ≈ 0.7): similar to velocity resolution • Water (Pr ≈ 7): thermal layer thinner, needs finer mesh • Oils (Pr > 100): very fine mesh needed for thermal layer
**Practice:** • For Pr ≈ 1: same y^+ works for velocity and temperature • For Pr >> 1: may need finer mesh or thermal wall functions
y^+_T = (u_\tau y)/(α) = y^+ · Pr
Y-Plus (y+) Calculator Worked Examples
Worked Example
Inputs
- velocity: 50
- length: 1
- kinematicViscosity: 1.5e-5
- targetYplus: 1
- turbulenceModel: k-omega-sst
Result: First cell height: 4.52e-06 m, y+ = 1.0, suitable for k-ω SST
Explanation
**Example 1: Airfoil Low-Re Mesh**
Air flow over airfoil: • Freestream velocity: U_∞ = 50 m/s • Chord length: L = 1 m • Kinematic viscosity: \nu = 1.5 × 10^-5 m²/s (air at 20°C) • Target: y^+ = 1 for k-ω SST
**Step 1: Calculate Reynolds number** Re_L = (U_∞ L)/(\nu) = (50 × 1)/(1.5 × 10^-5) = 3.33 × 10^6
**Step 2: Estimate friction coefficient** For turbulent flat plate: C_f ≈ (0.027)/(Re_L^1/7) = (0.027)/((3.33 × 10^6)^0.143) = (0.027)/(7.56) = 0.00357
**Step 3: Calculate friction velocity** u_\tau = U_∞ √(\fracC_f)2 = 50 √(\frac0.00357)2 = 50 × 0.0422 = 2.11\text m/s
**Step 4: Calculate first cell height** y = (y^+ \nu)/(u_\tau) = \frac1 × 1.5 × 10^-52.11 = 7.11 × 10^-6\text m = 7.11\text μm
**Step 5: Mesh design** For 20 layers with growth rate 1.2: y_20 = y_1 × 1.2^19 = 7.11 × 10^-6 × 37.4 = 266\text μm
Boundary layer thickness estimate: \delta ≈ 0.16 L/Re_L^1/7 = 0.16 × 1/7.56 = 21.2 mm
The 20 layers cover: y_total = 7.11\text μm × \frac1.2^20-10.2 = 2.75 mm ≈ 13% of boundary layer
---
**Example 2: Pipe Flow with Wall Functions**
Water in pipe: • Velocity: U = 2 m/s • Diameter: D = 0.1 m • Kinematic viscosity: \nu = 10^-6 m²/s • Target: y^+ = 30 for standard k-ε
**Step 1: Reynolds number** Re_D = (UD)/(\nu) = (2 × 0.1)/(10^-6) = 200,000
**Step 2: Friction factor** For turbulent pipe (Blasius): f = (0.316)/(Re_D^0.25) = (0.316)/((200,000)^0.25) = (0.316)/(21.15) = 0.0149
**Step 3: Wall shear stress** \tau_w = f (\rho U^2)/(8) = 0.0149 × (1000 × 4)/(8) = 7.45\text Pa
**Step 4: Friction velocity** u_\tau = √(\frac\tau_w)\rho = √(\frac7.45)1000 = 0.0863\text m/s
**Step 5: First cell height** y = (y^+ \nu)/(u_\tau) = \frac30 × 10^-60.0863 = 3.48 × 10^-4\text m = 0.348\text mm
For y^+ = 30: first cell should be ~0.35 mm from wall.
**Comparison:** • For y^+ = 1: y = 11.6 μm (30× smaller) • Cell count scales inversely with cell size • Wall function approach much more economical
---
**Example 3: Checking Existing Mesh**
Given mesh: • First cell height: y = 0.0001 m = 0.1 mm • Flow conditions give: u_\tau = 0.5 m/s • \nu = 1.5 × 10^-5 m²/s
**Calculate actual y+:** y^+ = (u_\tau y)/(\nu) = (0.5 × 0.0001)/(1.5 × 10^-5) = (0.00005)/(1.5 × 10^-5) = 3.33
**Assessment:** y^+ = 3.33 is in viscous sublayer → Good for low-Re models But in buffer layer gap → Not ideal for wall functions
**Recommendation:** • For k-ω SST: Acceptable (y^+ < 5) • For k-ε with wall functions: Too small (y^+ < 30) - coarsen mesh • For best results with k-ω SST: Reduce to y^+ ≈ 1
Second Scenario
Inputs
- velocity: 37.5
- length: 1
- kinematicViscosity: 1.5e-5
- targetYplus: 1
- turbulenceModel: k-omega-sst
Result: First cell height: 4.52e-06 m, y+ = 1.0, suitable for k-ω SST
Explanation
This scenario uses different inputs (velocity = 37.5, length = 1, kinematicViscosity = 1.5e-5, targetYplus = 1, turbulenceModel = k-omega-sst) to show how changing one variable affects the y-plus (y+) result. Run the calculator above with these values to get the exact updated output with step-by-step work.
Common Y-Plus (y+) Calculator Use Cases
- Y-Plus (y+) homework and study
- Y-Plus (y+) design and analysis
- Quick y-plus (y+) estimates
- Verifying spreadsheet or hand calculations
Y-Plus (y+) Calculator FAQs
What is y-plus and why is it important?
Y-plus (y+) is a dimensionless wall distance that determines if your mesh properly resolves the boundary layer for turbulence modeling. It measures distance in viscous length scales. Correct y+ ensures accurate wall shear stress, drag, heat transfer, and separation prediction. Wrong y+ gives incorrect results regardless of solver settings or run time.
What y+ should I use for my simulation?
For k-ω SST or Spalart-Allmaras (low-Re models): target y+ < 1, ideally 0.5-1. For k-ε or standard models with wall functions: target 30 < y+ < 300, ideally 30-100. For enhanced wall treatment: y+ < 300 works but y+ < 1 gives best results. For heat transfer or separation: use y+ < 1. For simple attached flows: y+ = 30-100 acceptable.
How do I calculate first cell height for target y+?
Use y = (y+ × ν) / u_τ. Estimate friction velocity u_τ from friction coefficient: u_τ = U∞√(Cf/2). For turbulent flat plate: Cf ≈ 0.027/Re^(1/7). For pipe: use Moody diagram or Blasius equation. Then calculate wall distance y for desired y+. This is iterative - check actual y+ after solving and refine if needed.
Why is my y+ different than expected?
Y+ varies across surfaces based on local velocity and wall shear stress. It changes during solution as flow develops. Design mesh for maximum expected u_τ (highest velocity/shear regions). In complex flows, y+ may be < 1 in some areas and > 100 in others. Check y+ contours in post-processing to identify problem regions.
Can I use different y+ in different regions?
Yes, but with caution. Use fine mesh (y+ < 1) in critical regions (separation, transition, heat transfer) and coarser mesh (y+ = 30-100) elsewhere. However, mixing wall treatment types in same simulation can cause inconsistencies. Best practice: use same approach throughout or use enhanced wall treatment for flexibility.
What if I cannot achieve y+ < 1?
If mesh with y+ < 1 is too expensive: (1) use enhanced wall treatment with y+ < 10, (2) use scalable wall functions with k-ω SST (works reasonably at higher y+), (3) switch to wall function model (k-ε) with y+ = 30-100, or (4) use wall-modeled LES. Accept that accuracy will be reduced, especially for heat transfer and separation.
How many prism layers do I need?
For low-Re models (y+ < 1): 15-20 layers to resolve boundary layer, first 10 layers within y+ < 15. For wall functions (y+ = 30-100): 5-10 layers sufficient, just need first cell in log-layer. Use growth rate 1.1-1.2 for low-Re, 1.2-1.3 for wall functions. Total height should cover boundary layer thickness (δ ≈ 0.16L/Re^(1/7) for flat plate).
Does y+ affect heat transfer results?
Yes, critically. Heat transfer requires resolving thermal boundary layer. For Pr ≈ 1 (gases), velocity resolution (y+) suffices. For Pr > 1 (water, oils), thermal layer is thinner - may need finer mesh. Thermal y+ = y+ × Pr. Inaccurate y+ causes errors in Nusselt number and wall heat flux, even if flow field looks correct.
What causes high aspect ratio cells with low y+?
Low y+ requires very small wall distance (μm scale) while streamwise spacing might be mm-cm scale, giving aspect ratios of 1:1000 or more. This is normal and acceptable for prism/inflation layers perpendicular to walls. Solvers handle this well. Maintain orthogonality (cells perpendicular to wall) - aspect ratio is less critical than skewness for wall-normal resolution.
How do I check y+ in my CFD solver?
Most CFD software reports y+ as standard output: in ANSYS Fluent (yplus field), Star-CCM+ (y+ scalar), OpenFOAM (yPlus utility), Simcenter (Y Plus scene). View y+ contours on walls after solving. Check: (1) minimum y+ (should match target), (2) maximum y+ (ensure not too high), (3) average y+ (overall quality). Most solvers also report y+ statistics in solver output.