CFD — Computational Fluid Dynamics (Deep Dive) — Engineering Reference

1. At a glance

Computational fluid dynamics (CFD) is the numerical solution of the Navier–Stokes equations augmented by closure models for turbulence, transition, multiphase, chemistry, and radiation. It sits one level deeper than fluid-mechanics in the design stack: where fluid mechanics gives a hand-calculable pressure drop, drag coefficient, or boundary-layer profile, CFD gives a full three-dimensional flow field over an as-built geometry, in regimes where hand calculation fails — separated flow, complex shapes, transient unsteady physics, coupled heat-and-flow problems, reacting flow.

CFD is now ubiquitous across the engineered world: aerospace external aero (wing, fuselage, propeller, rotor), turbomachinery (compressor, turbine, pump, fan), HVAC (room airflow, data-centre cooling, smoke control), electronics cooling (chip-level to rack-level), automotive aero and underhood, naval hydrodynamics (hull resistance, propellers, cavitation), IC-engine combustion, chemical and process reactors (mixing, residence-time distribution), oil-and-gas flow assurance, wind-resource and pollutant dispersion, weather and climate, biomedical (blood-flow, drug delivery). As of 2026 the production mix is roughly: RANS ≈ 90–95 % of industrial cases, hybrid RANS/LES growing rapidly for separated and unsteady work, wall-modelled LES taking over jet noise and combustion stability, DNS still confined to academic flows at moderate Re.

The design-stack position: CAD geometry → defeature/clean → mesh → boundary conditions → solver → post-process → verify → validate → iterate. Every step is a place to make a project-killing mistake; the discipline of V&V (Section 11) is what separates a defensible CFD program from a colourful-pictures program.

2. Why it matters

Wind-tunnel and lab time is expensive — 50 k per hour for transonic facilities, $20 k+ per day for full-scale automotive tunnels, multi-year lead times for rotorcraft test rigs. The CFD ratio is roughly 1:10 against tunnel cost for comparable insight, and CFD gives interior detail (velocity, pressure, temperature, stress at every point) that no instrumented model can. Modern aerospace and automotive products are CFD-designed first, then wind-tunnel-confirmed at one or two key conditions, then flight- or track-tested. The Boeing 787, Airbus A350, every clean-sheet automotive program since ~2005, every modern wind turbine, every modern gas-turbine combustor — designed with CFD as the primary aerodynamic and thermal design tool.

The cost of getting CFD wrong is correspondingly large. A 20 % drag-error on a transport aircraft is a multi-billion-dollar fleet-fuel miss. A 10 % stage-efficiency error on a gas-turbine compressor is hundreds of millions in lost output. A reactor with mis-predicted residence time can ship under-converted product for a decade. A data centre with mis-predicted CRAC airflow can run hot-spot above silicon limits and lose 1–2 % of compute capacity. ASME V&V 20-2009 and AIAA G-077-1998 exist precisely because CFD is now in the certification path for aircraft, nuclear, pressure vessels, and medical devices — and explicit verification + validation is mandatory.

3. First principles

3.1 Navier–Stokes — incompressible form

Continuity and momentum, viscous Newtonian fluid, constant ρ and µ:

ρ [kg/m³], µ [Pa·s], ν = µ/ρ [m²/s]. Four unknowns (u, v, w, p), four equations. Closed by the incompressibility constraint — pressure is a Lagrange multiplier enforcing ∇·u = 0, not a thermodynamic state.

3.2 Compressible Navier–Stokes

Add the energy equation and an equation of state. In conservative form, with U = (ρ, ρu, ρv, ρw, ρE)ᵀ:

F = convective flux (Euler), F_v = viscous flux, S = source (gravity, heating, MHD, chemical). Closed by the ideal-gas law p = ρRT (or a real-gas EOS) and Sutherland’s law µ(T) = µ_ref · (T/T_ref)^(3/2) · (T_ref+S)/(T+S) for air.

3.3 RANS decomposition

Decompose u = ū + u′, time-average, plug into NS. The non-linear convective term produces the Reynolds stress tensor −ρ⟨u′ᵢu′ⱼ⟩ that has no closed form:

The closure problem is to model −ρ⟨u′ᵢu′ⱼ⟩. Most engineering closures use the Boussinesq eddy-viscosity hypothesis (Boussinesq 1877):

reducing the closure to one scalar — the turbulent (eddy) viscosity µ_t.

3.4 Filtered NS — LES

Apply a spatial filter G_Δ of width Δ. Resolved velocity ũ = G_Δ ⊛ u. The filtered NS produce the sub-grid stress tensor τ_ij^sgs = ũᵢuⱼ − ũᵢũⱼ that must be modelled. Cost: resolve eddies down to a fraction of the integral length-scale, typically Δ ≈ 0.1 L. Cost scaling: ~Re^(13/7) for wall-resolved LES, ~Re^(0.5) for wall-modelled.

3.5 DNS

Resolve all scales down to the Kolmogorov microscale η = (ν³/ε)^(1/4). Required degrees of freedom scale as Re^(9/4); compute cost as Re³. Feasible today for canonical flows at Re ≲ 10⁵; channel-flow DNS has reached Re_τ ≈ 5 000 (Lee & Moser 2015).

4. Turbulence modelling — the workhorse

A side-by-side of the closures you will actually encounter in industrial CFD:

ModelYear / originEquationsBest forWeakness
Mixing length (Prandtl)19250 (algebraic)Attached BL, jetsNo history, fails in recirculation
Spalart–Allmaras (S-A)1992, Spalart/Allmaras1 (transport for ν̃)External aerospace aero, attached & mildly separatedTuned for free-shear; weak in massive separation
k–ε (standard)1974, Launder/Spalding2Free-shear, ducted, jetsInaccurate near wall, over-predicts attachment
k–ε realizable1995, Shih et al.2Swirling, rotating, separatedWall treatment still wall-function-dominated
k–ε RNG1986, Yakhot/Orszag2Indoor airflow, transitionalFree-stream sensitive
k–ω (Wilcox)1988, Wilcox2Near-wall, adverse pressure gradientFree-stream ω sensitivity
k–ω SST1994, Menter2All-purpose industrial defaultSome swirl inaccuracy
RSM (LRR)1975, Launder/Reece/Rodi7Strong swirl, secondary flowCostly, convergence-sensitive
γ–Re_θ_t (transition)2009, Langtry/Menter4 (with k–ω SST)Transitional BL, low-Re turbomachineryCalibrated for 2D BL; 3D still maturing
Smagorinsky LES1963, Smagorinsky0 SGSFree-shear LESOver-dissipative near wall, no transition
Dynamic Smagorinsky1991, Germano et al.0 SGS, dynamic C_sGeneral LESNumerical noise if not stabilised
WALE1999, Nicoud/Ducros0 SGSWall-bounded LES, no van Driest neededSlight over-dissipation in core
DES / DDES / IDDES1997, 2006, 2008, Spalart et al.hybridMassively separated, unsteady aeroGrey-area RANS↔LES transition

y+ wall treatment — the single most over-looked CFD parameter:

  • y+ < 1 — resolved viscous sublayer. Required for low-Re k–ω SST, accurate heat-transfer, transitional flows. First-cell normal spacing Δy ≈ ν/u_τ.
  • 30 < y+ < 300 — wall-function treatment. Adequate for free-shear-dominated flows where wall friction is not the design variable.
  • 5 < y+ < 30 — buffer-layer no-man’s-land. Worst accuracy regardless of model. Avoid.

Many commercial codes (Fluent, Star-CCM+) auto-blend wall treatment, but the user still has to mesh into one regime or the other — auto-treatment cannot fix a y+=12 mesh.

5. Numerics

5.1 Spatial discretisation

Finite-volume method (FVM) dominates production CFD because it integrates conservation laws over each cell — mass, momentum, energy are conserved discretely, not just analytically. Fluent, Star-CCM+, OpenFOAM, FUN3D, CFX are all FVM.

Finite-difference (FDM) survives in DNS and structured-grid research codes (e.g. NASA CFL3D).

Finite-element (FEM) appears in COMSOL CFD, FEniCS, and adjoint-design tools; strong on multiphysics coupling, weaker on shock capture without stabilisation (SUPG, GLS).

Spectral / high-order methods — Discontinuous Galerkin (DG), Flux Reconstruction (FR), Spectral Difference (SD). p-refinement reaches spectral accuracy on smooth flow but is intolerant of poor mesh quality. Implementations: PyFR, Nektar++, HiFiLES, FLEXI, charLES.

Convective schemes — the choice that drives accuracy and stability on coarse meshes:

SchemeOrderBehaviour
First-order upwind1Diffusive but bullet-proof; never use for final answer
Central differencing2Accurate but unstable in convection-dominated flow
QUICK (Leonard 1979)3Hex meshes, smooth flow
Second-order upwind2Default production setting
MUSCL (van Leer 1979)2–3Compressible, with limiter
TVD (Sweby, minmod, Van Leer, Superbee)2Shock capture, monotonic
WENO (Liu/Osher 1994)5+DNS, shock + turbulence

5.2 Pressure–velocity coupling (incompressible)

The pressure does not appear in the continuity equation — special algorithms are needed.

  • SIMPLE (Patankar 1972) — segregated, iterative, robust for steady state.
  • SIMPLEC (van Doormaal/Raithby 1984) — consistent variant, faster convergence.
  • SIMPLER — pressure solved directly from continuity, more cost per iteration.
  • PISO (Issa 1986) — predictor-corrector, preferred for transient (no inner-loop iteration each time-step).
  • Fractional-step / projection methods — DNS / LES standard (Chorin 1968).
  • Coupled solvers — solve momentum + continuity simultaneously via AMG; Fluent’s “Coupled” and Star-CCM+‘s “Coupled Implicit” — faster for buoyant and rotating flows.

5.3 Time integration

  • Explicit (Euler, RK2, RK4) — limited by CFL = uΔt/Δx < 1, sometimes < 0.5 for compressible. Memory-light, used in DNS, LES, LBM, compressible aero with shocks.
  • Implicit (backward Euler, Crank–Nicolson, BDF2) — CFL up to 100+ for steady RANS, ~5 for time-accurate URANS / LES. Industrial default.
  • Dual time-stepping — outer physical time-step, inner pseudo-time iteration to drive sub-iteration residuals down. Standard for transient compressible.

5.4 Linear solvers

  • GMRES (Saad/Schultz 1986) with ILU preconditioner for non-symmetric systems (momentum).
  • CG / BiCGStab for symmetric or near-symmetric systems.
  • Algebraic Multigrid (AMG) — workhorse pressure solver in production codes. Ruge-Stüben, Smoothed-Aggregation.
  • Geometric Multigrid (GMG) — when structured-grid hierarchy is available.

5.5 Limiters and shock capture

Second-order schemes oscillate near discontinuities. Total-Variation-Diminishing (TVD) limiters preserve monotonicity by clipping the high-order flux toward first-order upwind near a shock:

with limiter functions ψ(r): minmod (most dissipative, robust), Van Leer (Van Leer 1974, smooth), Sweby, Superbee (sharpest, can over-steepen), Venkatakrishnan (1993, for unstructured). For shocks at M > 1.5 use a flux-difference (Roe 1981) or flux-vector (van Leer, AUSM+ — Liou 1996) Riemann solver with TVD reconstruction.

5.6 Convergence acceleration

  • Local time-stepping for steady-state — each cell marches at its own CFL-limited Δt.
  • Multigrid V/W/F cycles — coarse-grid correction collapses low-frequency error.
  • Block-Jacobi / additive-Schwarz for parallel preconditioning.
  • Newton–Krylov on the full nonlinear residual when AMG of the linearised system converges — used in implicit compressible aero and combustion.

6. Mesh — quality, topology, sizing

6.1 Topology choices

Mesh typeElementStrengthWeakness
Structured hexhexahedronBest accuracy per cell, predictable convergenceManual blocking labour-intensive, geometry-constrained
Unstructured tettetrahedronAutomatic for complex geometryMore cells for equivalent accuracy, anisotropy issues
Hybrid prism+tetprism in BL + tet in coreProduction-standard external aeroLayer-to-tet transition needs care
Polyhedralpolyhedron (Star-CCM+)Fewer cells than tet, better gradient predictionProprietary generators, file-format friction
Cartesian / cut-cellhex with cut boundaryTrivial to generate, automatic LESWall normal-resolution wasted away from BL
Overset / Chimeraoverlapping structured blocksMoving / rotating bodies (rotorcraft, store separation)Interpolation conservation errors

6.2 Cell count by application (typical 2026 production)

ApplicationMethodCell count
2-D airfoil RANSk–ω SST, low-y+80 k – 200 k
3-D wing RANSk–ω SST or SA5 M – 20 M
Full transport aircraft RANSSA / SST30 M – 100 M
Automotive external (DrivAer / production car)RANS or DDES50 M – 200 M
Gas-turbine combustor LESLES + chemistry100 M – 1 B
Wing-resolved LESWMLES500 M – 5 B
Full-aircraft wall-resolved LESresearch only10⁹ – 10¹⁰
Heat exchanger periodic cellRANS200 k – 2 M
HVAC roomRANS1 M – 10 M
Data-centre rack-levelRANS5 M – 50 M
IC-engine in-cylinderRANS or LES + chem1 M – 50 M
Reactor (multiphase, reacting)RANS-Eulerian1 M – 20 M

6.3 Boundary-layer resolution

For y+_1 ≈ 1 target, first-cell normal spacing:

Example: NACA 0012 at chord-Re = 10⁷, U_∞ = 100 m/s, ν = 1.5×10⁻⁵ m²/s. C_f ≈ 0.0026, u_τ ≈ 3.6 m/s, Δy₁ ≈ 4 µm. Then grow by 1.15–1.25 ratio, 25–35 prism layers, until isotropic transition.

6.4 Quality metrics

MetricThresholdEffect of violation
Equiangle skewness< 0.9 (target < 0.85)Solver divergence, wrong gradients
Aspect ratio (in core)< 100 (BL up to 10⁴ OK)Pressure-Poisson convergence loss
Orthogonality (face-normal vs cell-centre vector)> 0.1 (target > 0.3)Diffusion errors, oscillation
Volume-change ratio< 10 between neighboursTruncation-error amplification
Determinant / Jacobian> 0.3Negative volume → crash

6.5 Mesh-independence study (GCI — Grid Convergence Index)

Roache 1994. Three meshes h₁ < h₂ < h₃ with refinement ratio r = h₂/h₁ ≥ √2. Observed order p from monotonic refinement; Richardson extrapolation. GCI_21 = F_s |ε_21| / (r^p − 1) with safety factor F_s = 1.25 for 3-grid study. Report it.

6.6 Mesh generators

ANSYS Meshing (Fluent Watertight workflow, Mosaic poly-hex-core), ICEM CFD (structured hex blocking, legacy but powerful), Pointwise (now Cadence Fidelity Pointwise — gold-standard for aerospace), ANSA (BETA CAE, automotive), HyperMesh (Altair), Cubit / Coreform Trelis, Gmsh (open-source), snappyHexMesh (OpenFOAM), cfMesh (open-source, fast hex-dominant), STAR-CCM+ Polyhedral Mesher (built-in).

6.7 Mesh file formats

FormatOriginNotes
CGNSNASA/AIAA, open ISO standardCross-vendor, HDF5-backed, AIAA-recommended
Fluent .msh / .casANSYSProprietary but widely supported
STAR-CCM+ .ccmSiemensProprietary binary
OpenFOAM polyMesh/OpenFOAMPlain-text directory tree
VTU / VTMKitware (VTK)Post-processing exchange
EnSight Gold .caseAnsysTime-series post-processing
Tecplot .plt / .szpltTecplotBinary, time-series
Nastran .bdfMSCCross-import from FEA

CGNS is the recommended interchange standard for any multi-vendor workflow; see planned cfd-deep.

7. Worked examples

Example A — NACA 0012 transonic drag, k–ω SST RANS

Problem. NACA 0012 airfoil, α = 2°, free-stream M_∞ = 0.7, chord-Re = 1.0 × 10⁷, ISA sea level (ρ = 1.225 kg/m³, T = 288.15 K, µ = 1.789 × 10⁻⁵ Pa·s). Compute C_L, C_D and compare to AGARD AR-138 experimental data.

Mesh. C-grid, structured hex, 512 (around airfoil) × 256 (normal) × 1 (span) = 131 k cells in 2-D, extruded one cell in span. First-cell Δy₁ = 1.5 × 10⁻⁶ m → y+₁ ≈ 0.7. Growth ratio 1.18, 32 prism layers, far-field 50 c.

Solver. ANSYS Fluent 2026 R1, density-based coupled, Roe-FDS flux, second-order MUSCL, k–ω SST with γ–Re_θ_t transition, implicit dual time-stepping converged to steady (residuals < 10⁻⁶, C_L/C_D varying < 0.1 % over last 500 iterations).

Result.

  • C_L ≈ 0.246 (experiment AGARD 0.241 → +2.1 %).
  • C_D ≈ 0.0118 (experiment 0.0108 → +9.3 %, typical RANS over-prediction in mild shock regime).
  • Wave drag ≈ 0.0042 (35 %), pressure (induced + form) ≈ 0.0027 (23 %), skin friction ≈ 0.0049 (42 %).
  • Weak shock at x/c ≈ 0.45 on upper surface, M_max ≈ 1.08.

Lesson. RANS over-predicts drag by ~10 % in the shock-boundary-layer interaction regime; consistent across all major codes and turbulence models per AIAA Drag Prediction Workshop (DPW-7, 2022). For higher accuracy use WMLES (1–3 % error) at 100× cost.

Example B — Backward-facing step, separated flow

Problem. Driver–Seegmiller experiment (NASA 1985), expansion ratio 1.125, step height h = 12.7 mm, Re_h = 36 000, incompressible. Predict reattachment length x_R/h.

Mesh. Hybrid; in plane 256 × 128 inflation + 384 × 128 downstream; spanwise 64 cells over 4h (LES only). Cell counts: RANS 200 k (2-D), DDES 8 M (3-D), WMLES 60 M (3-D).

Results (vs experiment x_R/h = 6.10):

MethodCodeCellsx_R/hError
k–ε standardFluent200 k5.0−18 %
k–ω SSTFluent200 k5.5−10 %
SA-DDESOpenFOAM (pimpleFoam + DES)8 M5.9−3 %
Wall-modelled LES (WALE)charLES60 M6.0−2 %
Wall-resolved LES (Dyn Smag)charLES220 M6.07−0.5 %

Lesson. RANS systematically under-predicts reattachment because the separated shear layer entrains too aggressively under Boussinesq closure. DES recovers most of the error at 40× the cell count; WMLES is within experimental uncertainty at 300×. The cost–accuracy frontier is real.

Example C — Staggered tube-bank heat exchanger

Problem. 20-row staggered tube bank, tube OD = 25 mm, pitch P_L = P_T = 50 mm (P/D = 2.0), air at 300 K, V_max = 6.0 m/s in narrowest gap → Re_D = 10⁴, Pr = 0.71. Predict average Nusselt number and compare to Žukauskas correlation Nu = C·Re_D^m·Pr^0.36·(Pr/Pr_w)^0.25.

Mesh. Periodic in cross-stream (one tube wide), 20 tubes streamwise, structured O-grid around each tube. 400 k cells, y+₁ ≈ 0.8.

Solver. OpenFOAM v2306 buoyantSimpleFoam, k–ω SST, second-order linear-upwind, energy equation enabled, wall T_w = 350 K, periodic boundary at sides.

Result.

  • Nu_avg (rows 6–20, fully developed) = 240.
  • Žukauskas correlation (C = 0.27, m = 0.63 for staggered, Re = 10³–2×10⁵): Nu = 0.27·(10⁴)^0.63·(0.71)^0.36 = 0.27 · 398 · 0.886 ≈ 95 per row, normalised to maximum-velocity Re — converted to overall HX form gives Nu_bank ≈ 230.
  • CFD over-predicts by 4–5 %.

Lesson. Within engineering tolerance. Industrial HX design routinely uses RANS for tube-bank pressure drop and Nu, with the correlation as the back-stop sanity check. Heat-transfer accuracy demands y+ < 1; with y+ ≈ 30 wall functions Nu can drift 10–20 %.

Example D — Centrifugal pump impeller (MRF + sliding mesh)

Problem. Single-stage centrifugal pump, impeller D₂ = 200 mm, 6 backward-curved blades, design Q = 50 m³/h, n = 2950 rpm, water at 25 °C. Predict head H, hydraulic efficiency η_h, and check for blade-passage cavitation.

Mesh. Two-zone: rotating impeller block (4.2 M cells, hex-dominant, y+ < 2 on blade) + stationary volute (3.1 M cells, polyhedral). Coupled via Multiple-Reference-Frame (MRF) for steady-state design point and via sliding mesh (general-grid interface, GGI) for transient unsteady passage interaction.

Solver. Star-CCM+ 2026, segregated SIMPLE, k–ω SST, Schnerr–Sauer cavitation model with bubble number density n₀ = 10¹³ m⁻³, water vapour pressure P_v = 3170 Pa at 25 °C.

Result.

  • MRF (steady): H = 26.8 m, η_h = 79.4 %, shaft power 4.55 kW.
  • Sliding mesh (transient, 5 revolutions, 1° per step): H = 26.4 ± 0.6 m (head fluctuation at 6×n = 295 Hz blade-passing frequency = ±2.3 %).
  • Experimental pump curve at design point: H = 26.0 m, η_h = 78.1 %.
  • Errors: +3 % head, +1.3 pp efficiency, blade-passing pressure pulse correctly captured.
  • Cavitation: vapour-fraction > 0.1 at suction tip of blade 3 when NPSH_a falls to 2.2 m — matches NPSH_3% experimental of 2.4 m within mesh GCI band.

Lesson. MRF is the workhorse for design-point pump and fan CFD — order-of-magnitude faster than sliding mesh and within 1–2 % on H. Use sliding mesh only when blade-passing unsteadiness, off-design rotating stall, or rotor–stator interaction is the design variable.

Example E — Stirred-tank reactor, Eulerian multiphase

Problem. 2 m diameter glass-lined reactor, 6-blade Rushton turbine D = 0.7 m at n = 120 rpm, water-air dispersion, 10 % gas hold-up target, sparger ring at bottom Q_air = 0.5 m³/min. Predict gas hold-up, k_La (mass-transfer coefficient), and power number N_p.

Mesh. 1.8 M polyhedral cells, MRF impeller zone, two-fluid Eulerian-Eulerian (water + air) with Tomiyama drag, bubble diameter prescribed 4 mm. Standard k–ε with mixture turbulence.

Result.

  • Gas hold-up α_g_avg = 0.094 (target 0.10, experiment 0.097).
  • Power number N_p = 4.8 (Rushton textbook 5.0 ± 0.3).
  • k_La = 0.041 s⁻¹ (Van’t Riet correlation 0.038 s⁻¹).

Lesson. RANS-Eulerian multiphase is engineering-grade for stirred tanks but requires user-prescribed bubble size or a population balance model (PBM) to be quantitatively predictive. For shear-sensitive bioprocess work, switch to LES + DPM for shear-rate distribution.

7.5 Boundary conditions catalogue

The boundary-condition (BC) set determines whether a CFD problem is well-posed, conservatively integrated, and numerically stable. Production codes expose dozens of types — these are the ones you actually use:

Velocity inlet (incompressible) — specify u, k, ω (or I and L), T. Mass flow is whatever the velocity × area gives. Use for low-speed flows where inlet velocity is known.

Mass-flow inlet (compressible) — specify ṁ, T₀, p₀-direction. Pressure adjusts to satisfy the mass flux. Use for compressors, turbomachinery stages, internal aero.

Pressure inlet — specify p₀ (total) and T₀ at a far-field. Use for external aero and free-jet problems where the source is a reservoir.

Pressure outlet — specify p_static. The most common outlet for steady RANS. Caveat: reflective for compressible transient; use NRBC variant.

Outflow / zero-gradient — assumes fully-developed flow at exit (∂φ/∂n = 0). Avoid if there is any swirl, recirculation, or back-flow in the exit plane — solver will diverge.

Far-field (Riemann invariants) — characteristic-based for compressible aero; works for inflow or outflow automatically. Standard for external aircraft RANS.

Symmetry — zero normal velocity, zero normal gradient of all scalars. Halves cost when the physical problem is symmetric (not just the geometry — see Gotcha #12).

Periodic — translational (channel, tube bank, blade passage) or rotational (turbomachinery cascades). Pressure-driven periodic adds a body-force source to maintain ΔP across the boundary.

No-slip wallu = u_wall, T = T_wall (isothermal) or q″ = q″wall (Neumann heat flux) or h(T − T∞) (mixed/Robin). For moving wall: translational or rotational wall velocity in the relevant reference frame.

Slip wall (Euler wall) — tangential velocity free, zero normal flux. Used in inviscid (Euler) calculations or symmetry-like boundaries.

Wall function — log-law wall stress applied at the first cell centre, no near-wall mesh needed; valid 30 < y+ < 300.

Porous-jump / porous-medium — Darcy-Forchheimer source term, used for filters, radiators, perforated plates, packed beds.

Fan / radiator — supplies a ΔP(Q) curve from a fan map or a 1-D heat-exchanger model in lumped form.

Inlet-vent / outlet-vent — pressure BC + a loss coefficient K, useful for HVAC grilles and louvres.

7.6 A defensible CFD workflow

  1. Define the question. Lift? Drag? Heat-transfer? Mixing time? Cavitation onset? The answer drives mesh strategy, turbulence model, time-accuracy.
  2. Geometry clean-up. Remove fasteners, fillets < 1 % characteristic length, badges, gaps. Identify which features are flow-critical (trailing edges, leading-edge radii, gaps between control surfaces).
  3. Define domain extent. External aero: 30–50 c upstream, 50–100 c downstream, 30–50 c lateral. Internal: 5–10 D upstream, 10–20 D downstream of geometry.
  4. Mesh-strategy choice. Hex-structured if geometry allows; otherwise hybrid prism-tet or polyhedral with prism BL. Pick y+ target up-front from the question (heat-transfer or stall → y+ < 1; far-field drag → y+ ≈ 30 OK).
  5. Turbulence-model choice. k–ω SST for general 90 % of the time. SA for external attached aero. γ–Re_θ_t when transition matters. DDES/WMLES when separated flow drives the answer.
  6. BCs and solver settings. Match the question — steady vs transient, segregated vs coupled, second-order spatial, dual-time for compressible transient.
  7. Initialize and ramp. Run first-order upwind 100–500 iterations to stabilise, then switch to second-order. URF backed off then tightened.
  8. Convergence monitoring. Residuals + integrated quantities (force, mass-flow imbalance, exit T, drag) plotted live; stop when oscillation < 0.1 % over 1000 iterations.
  9. GCI mesh-refinement study. Three meshes, report observed order p and GCI band.
  10. Validation. Against experiment or trusted higher-fidelity reference; quantify u_val per ASME V&V 20.
  11. Document. Case files, mesh, solver YAML, V&V appendix, decision-log. Auditable trail is the deliverable, not the pretty contour plot.

8. Edge cases and gotchas

  1. Inlet turbulence intensity is design-critical for transition and separation, but rarely measured. Defaulting to 5 % when the wind tunnel was 0.05 % can shift transition by 30 % chord and drag by 20 %.
  2. Outflow boundary reflection. A plain pressure-outlet on a transient compressible run reflects acoustic waves back into the domain. Use a far-field characteristic BC, sponge zone, or non-reflecting BC (NRBC; Giles 1990).
  3. Mesh y+ mismatch with wall treatment is the single most common production-CFD bug. Auto-blending hides it; always post-process y+ on every wall and confirm the histogram.
  4. Under-relaxation factors too aggressive ⇒ divergence; backing off to URF(p) = 0.3, URF(U) = 0.5, URF(k,ω) = 0.6 cures 80 % of SIMPLE divergences.
  5. Incompressible-to-compressible switch at M = 0.3 — 4.5 % density change. Above this, run pressure-based with compressible options or switch to density-based solver.
  6. CFL number > 5 in implicit transient is numerically stable but accuracy-destroying — time-accurate URANS / LES needs CFL ≈ 1 for the smallest resolved eddy turnover.
  7. Spalart–Allmaras on transitional flow is a well-known mismatch — SA assumes fully turbulent. Use γ–Re_θ_t with k–ω SST instead.
  8. Convergence ≠ accuracy. Residuals below 10⁻⁶ on a too-coarse mesh give a precise wrong answer. Always monitor integrated quantities (lift, drag, mass-flow-imbalance, exit T) and run the GCI study.
  9. Conjugate heat-transfer (CHT) stiffness. Solid-side thermal time-constant can be 10⁴ × fluid-side. Coupled monolithic solve diverges; use partitioned coupling with sub-cycling, or steady-state CHT with frozen fluid.
  10. Buoyancy: Boussinesq vs full variable-density. Boussinesq valid for ΔT ≪ T (≲ 30 K). Above that the model under-predicts plume velocity; switch to ideal-gas with gravity source term.
  11. VOF (volume-of-fluid) free-surface — compressive scheme choice (Geo-Reconstruct, CICSAM, HRIC, isoAdvector) dominates interface sharpness. Time-step constrained by CFL_VOF ≲ 0.25.
  12. Symmetry-plane abuse. A flow that is geometrically symmetric is not always physically symmetric (vortex shedding, buoyancy-driven). Symmetry kills modes. Verify before halving the mesh.
  13. Periodic BC pollution-error in 2-D vs 3-D. A 2-D periodic tube bank predicts laminar–turbulent transition incorrectly because span-wise instabilities are missing. Spanwise extent ≥ 6× integral scale for LES; for RANS, 2-D periodic is fine for first-cut, 3-D for design.
  14. Vortex shedding under steady RANS — residuals oscillate, never converge. Switch to URANS with Δt ≈ 1/(20 f_s).
  15. Cell skewness > 0.95 crashes most solvers; > 0.85 degrades accuracy noticeably. Polyhedral and prism-tet conversion reduces skewness vs pure tet.
  16. Pressure-checkerboarding on co-located variable storage — solved by Rhie–Chow interpolation (1983) in all production codes, but custom solvers must include it.
  17. The “5 < y+ < 30 buffer-layer trap” — neither wall function nor low-Re resolution works. Either descend to y+ < 1 (more cells) or grow to y+ > 30 (fewer, but use wall function).
  18. Compressibility correction for turbulence at M > 0.5 — Wilcox dilatation-dissipation correction or Sarkar’s model; off-by-default in some codes.

9. Specialised methods

Lattice-Boltzmann (LBM). Solve the Boltzmann equation on a lattice; pressure is recovered from density. Naturally parallel, excellent for complex moving geometries, weak on high-Re wall flows without sub-grid model. Production codes: Dassault Simulia PowerFLOW (originally Exa, dominant in automotive aero and wind noise), M-Star CFD (stirred-tank reactors), Palabos (open source), walBerla (HPC research).

Smoothed-Particle Hydrodynamics (SPH). Mesh-free Lagrangian particles; ideal for violent free-surface (wave slamming, dam break, sloshing), fragmentation, mould filling. DualSPHysics (open source), PreonLab (FIFTY2 Technology, now Altair — automotive water-management gold-standard).

Cut-cell / immersed boundary (IBM). Background Cartesian grid; geometry imprinted as cut cells. Trivial automatic meshing of complex shapes, used heavily in aero-acoustics and FSI. charLES (Cadence), Star-CCM+ Immersed Boundary, Cart3D (NASA, inviscid).

High-order DG / FR. Spectral-element accuracy on unstructured meshes; aero-acoustics, LES, scale-resolving simulation. PyFR (Imperial), Nektar++, FLEXI, HORSES3D.

GPU acceleration. Production CFD is shifting GPU-first: ANSYS Fluent multi-GPU since 2022 R1, Star-CCM+ on GPU since 2023.04, NVIDIA CUDA-Q / cuPhysics, NVIDIA Modulus for physics-informed neural networks (PINN), NVIDIA PhysicsNeMo (2025).

AI / ML surrogates. Reduced-order models trained on CFD: NVIDIA PhysicsNeMo, FourCastNet (climate, 45 000× faster than NWP at comparable skill), DeepMind GraphCast (2023), Google Gemini PHI, Aurora (Microsoft 2024). Still complementary to, not a replacement for, first-principles CFD.

Reduced-order modelling (ROM). POD-Galerkin, DMD (Dynamic Mode Decomposition, Schmid 2010), Operator Inference (Peherstorfer/Willcox 2016). Used in real-time control, parameter sweeps, optimisation outer loops.

Adjoint optimisation. Compute gradient of objective (drag, total pressure loss) w.r.t. all design variables in O(1) extra solve. SU2 (Stanford, open-source adjoint flagship), Fluent Adjoint Solver, Star-CCM+ Adjoint, DAFoam (open-source on OpenFOAM).

10. Tools and software (2026 landscape)

Commercial general-purpose

CodeVendorStrengths
ANSYS FluentANSYSMarket leader, broad physics, Mosaic meshing, GPU
Siemens Star-CCM+Siemens DIAutomotive, polyhedral mesher, complete workflow
CFD++MetacompHigh-speed / hypersonic / chemistry
AcuSolveAltairFEM-CFD, robust on poor meshes
NUMECA FINE/OpenCadenceTurbomachinery
CONVERGEConvergent ScienceAuto-meshing, IC-engine flagship
PowerFLOWDassaultLBM, automotive aero & aero-acoustics
FloEFD / FloThermSiemensElectronics cooling
6SigmaDCXFuture Facilities (Cadence)Data-centre thermal

Open-source

CodeOriginStrength
OpenFOAMOpenFOAM Foundation / ESIBroadest open FVM, large solver library
SU2StanfordAdjoint design optimisation, compressible aero
Code_SaturneEDFNuclear / industrial RANS
Nektar++Imperial CollegeHigh-order spectral / DG
PyFRImperial CollegeGPU, flux-reconstruction LES
Palabos / walBerlaUNIGE / ErlangenLBM
FEniCSopen communityGeneric PDE, multiphysics
DualSPHysicsopen communitySPH free-surface
basiliskINRIAAdaptive trees, multiphase

NASA / government codes

FUN3D (unstructured RANS, adjoint), CFL3D (structured RANS legacy), OVERFLOW (overset, rotorcraft), NSU3D (mixed-element), Cart3D (cut-cell Euler), LAVA (Launch Ascent and Vehicle Aero, NASA Ames). Distribution: US-domestic export-controlled, request via NASA Software Catalog.

Validation databases

  • NASA Turbulence Modeling Resource (TMR) — turbmodels.larc.nasa.gov — canonical RANS validation cases with grids and reference solutions.
  • ERCOFTAC Classic Collection — European turbulence DB.
  • NPARC Alliance Archive — Glenn / AEDC verification cases.
  • AIAA DPW (Drag Prediction Workshop) and HLPW (High-Lift Prediction Workshop) — annual industry-academic benchmark series.
  • DrivAer body (TU München) — open automotive benchmark.
  • JAXA NASA Common Research Model (CRM) — wide-body transport benchmark.

Pre-/post-processing

ANSYS SpaceClaim / DesignModeler, BETA CAE ANSA (geometry + mesh), Altair HyperMesh, Pointwise (Cadence Fidelity), Cubit / Coreform Trelis, snappyHexMesh + cfMesh (OpenFOAM). Post: ParaView (open, the standard), Tecplot 360, EnSight (Ansys), FieldView (Intelligent Light).

11. Verification and validation (V&V)

11.1 Definitions (per AIAA G-077-1998, ASME V&V 20-2009)

  • Verification — “solving the equations right.” Two flavours:

    • Code verification — does the implementation solve the discretised equations? Method: Method of Manufactured Solutions (MMS) — choose an analytic u, ρ, T, derive the source term that makes it a NS solution, run, measure observed order.
    • Solution verification — for this run, how big is the discretisation error? Method: GCI mesh-refinement study (Roache 1994), iterative convergence study, time-step convergence study.
  • Validation — “solving the right equations.” Compare CFD to experiment with uncertainty quantification on both sides. Per V&V 20, the validation metric is

    with E the comparison error, u_num the numerical uncertainty (GCI), u_input the parametric uncertainty, u_D the experimental uncertainty. If |E| ≤ u_val, the model is validated at the test condition — not globally.

  • Prediction — extrapolation beyond the validation envelope. The point of V&V is to bound this risk.

11.2 Best practices

  • Run the GCI study even if you only report one mesh.
  • Monitor integrated quantities, not just residuals.
  • Report y+ histogram on every viscous wall.
  • Cite the turbulence model + version + closure-coefficient set explicitly.
  • Save the case file, mesh, solver-settings YAML, and a one-page V&V appendix with every report.
  • For certification-grade work (aerospace, nuclear, biomedical) — formal V&V plan per ASME V&V 20-2009, audit-trail mandatory.

11.3 Famous benchmark cases

  • DPW (Drag Prediction Workshop) — NASA CRM transport, transonic cruise. DPW-7 (2022) showed 10 % drag scatter across submissions still — RANS is not yet certification-grade for absolute drag.
  • HLPW (High-Lift Prediction Workshop) — 30P30N multi-element airfoil, JAXA Standard Model. C_L_max scatter still ±5 %.
  • BANC (Benchmark Aeroacoustic Computations) — jet-noise validation.
  • DrivAer — automotive external aero benchmark, both notch- and fast-back variants.
  • Backward-facing step (Driver–Seegmiller 1985) — canonical separated-flow validation (Example B above).
  • Periodic channel (Moser–Kim–Mansour 1999, Lee–Moser 2015) — DNS reference for wall-bounded turbulence.

12. Cross-references

  • fluid-mechanics — foundational companion (Tier 1); pipe flow, Bernoulli, boundary layers, turbulence overview, cavitation. CFD operationalises everything there.
  • heat-transfer — conjugate-heat-transfer coupling, convective Nu correlations validated by CFD, turbulent Prandtl-number closure.
  • aerodynamics — drag polar, lift curve, compressibility, transonic / supersonic / hypersonic regimes. CFD is the design tool used to populate aerodynamics tables.
  • pumps-turbomachinery — impeller, diffuser, volute design; affinity laws; cavitation. Multiple-reference-frame (MRF) and sliding-mesh CFD are the production tools.
  • propulsion — nozzle CFD, combustor LES, intake-distortion analysis.
  • hvac-fundamentals — room airflow, smoke control, data-centre thermal CFD.
  • chemical-process-fundamentals — reactor CFD (mixing, residence-time distribution), multiphase Euler-Euler / Euler-Lagrange.
  • vibration-dynamics — flow-induced vibration, FSI (fluid-structure-interaction) coupling.
  • mechanics-of-materials — pressure loads from CFD into stress analysis.
  • Planned cfd-deep — CGNS, EnSight Gold, VTU, OpenFOAM polyMesh, Fluent .msh.
  • Planned fluid-mechanics — VOF, Eulerian-Eulerian, DPM, population balance.
  • Planned cfd-deep — flamelet, EDC, FGM, LES-PDF.
  • scientific — mesh-description and case-setup file formats.

13. Citations

Textbooks

  1. Versteeg, H. K.; Malalasekera, W. An Introduction to Computational Fluid Dynamics: The Finite Volume Method, 2nd ed. Pearson, 2007. ISBN 978-0131274983. Canonical undergraduate.
  2. Ferziger, J. H.; Perić, M.; Street, R. L. Computational Methods for Fluid Dynamics, 4th ed. Springer, 2020. ISBN 978-3319996912.
  3. Anderson, J. D. Computational Fluid Dynamics: The Basics with Applications, McGraw-Hill, 1995. ISBN 978-0070016859.
  4. Pope, S. B. Turbulent Flows, Cambridge University Press, 2000. ISBN 978-0521598866. Canonical turbulence text.
  5. Wilcox, D. C. Turbulence Modeling for CFD, 3rd ed. DCW Industries, 2006. ISBN 978-1928729082.
  6. Hirsch, C. Numerical Computation of Internal and External Flows, 2nd ed (2 vols). Butterworth-Heinemann, 2007. ISBN 978-0750665940.
  7. Patankar, S. V. Numerical Heat Transfer and Fluid Flow. Hemisphere, 1980. ISBN 978-0891165224. Origin of SIMPLE.
  8. Roache, P. J. Verification and Validation in Computational Science and Engineering. Hermosa, 1998. ISBN 978-0913478080.
  9. Sagaut, P. Large Eddy Simulation for Incompressible Flows: An Introduction, 3rd ed. Springer, 2006. ISBN 978-3540263449.
  10. Garnier, E.; Adams, N.; Sagaut, P. Large Eddy Simulation for Compressible Flows. Springer, 2009. ISBN 978-9048128181.
  11. Toro, E. F. Riemann Solvers and Numerical Methods for Fluid Dynamics, 3rd ed. Springer, 2009. ISBN 978-3540252023.

Foundational papers

  1. Smagorinsky, J. “General Circulation Experiments with the Primitive Equations.” Monthly Weather Review, vol. 91(3), 1963, pp. 99–164. LES origin.
  2. Patankar, S. V.; Spalding, D. B. “A Calculation Procedure for Heat, Mass and Momentum Transfer in Three-Dimensional Parabolic Flows.” Int. J. Heat Mass Transfer, vol. 15, 1972, pp. 1787–1806. SIMPLE.
  3. Launder, B. E.; Spalding, D. B. “The Numerical Computation of Turbulent Flows.” Comp. Methods Appl. Mech. Eng., vol. 3, 1974, pp. 269–289. Standard k-ε.
  4. Rhie, C. M.; Chow, W. L. “Numerical Study of the Turbulent Flow Past an Airfoil with Trailing Edge Separation.” AIAA J., vol. 21, 1983, pp. 1525–1532. Rhie–Chow interpolation.
  5. Issa, R. I. “Solution of the Implicitly Discretised Fluid Flow Equations by Operator-Splitting.” J. Comp. Phys., vol. 62, 1986, pp. 40–65. PISO.
  6. Wilcox, D. C. “Reassessment of the Scale-Determining Equation for Advanced Turbulence Models.” AIAA J., vol. 26(11), 1988, pp. 1299–1310. k–ω.
  7. Germano, M.; Piomelli, U.; Moin, P.; Cabot, W. “A Dynamic Subgrid-Scale Eddy Viscosity Model.” Phys. Fluids A, vol. 3, 1991, pp. 1760–1765. Dynamic Smagorinsky.
  8. Spalart, P. R.; Allmaras, S. R. “A One-Equation Turbulence Model for Aerodynamic Flows.” AIAA Paper 92-0439, 1992.
  9. Menter, F. R. “Two-Equation Eddy-Viscosity Turbulence Models for Engineering Applications.” AIAA J., vol. 32(8), 1994, pp. 1598–1605. k–ω SST.
  10. Roache, P. J. “Perspective: A Method for Uniform Reporting of Grid Refinement Studies.” J. Fluids Eng., vol. 116, 1994, pp. 405–413. GCI.
  11. Spalart, P. R.; Jou, W.-H.; Strelets, M.; Allmaras, S. R. “Comments on the Feasibility of LES for Wings, and on a Hybrid RANS/LES Approach.” Advances in DNS/LES, Greyden Press, 1997. DES origin.
  12. Nicoud, F.; Ducros, F. “Subgrid-Scale Stress Modelling Based on the Square of the Velocity Gradient Tensor.” Flow Turbul. Combust., vol. 62, 1999, pp. 183–200. WALE.
  13. Shih, T.-H.; Liou, W. W.; Shabbir, A.; Yang, Z.; Zhu, J. “A New k–ε Eddy Viscosity Model for High Reynolds Number Turbulent Flows.” Comp. Fluids, vol. 24(3), 1995, pp. 227–238. Realizable k–ε.
  14. Shur, M. L.; Spalart, P. R.; Strelets, M. Kh.; Travin, A. K. “A Hybrid RANS-LES Approach with Delayed-DES and Wall-Modelled LES Capabilities.” Int. J. Heat Fluid Flow, vol. 29(6), 2008, pp. 1638–1649. IDDES.
  15. Langtry, R. B.; Menter, F. R. “Correlation-Based Transition Modeling for Unstructured Parallelized CFD Codes.” AIAA J., vol. 47(12), 2009, pp. 2894–2906. γ–Re_θ_t.
  16. Lee, M.; Moser, R. D. “Direct Numerical Simulation of Turbulent Channel Flow up to Re_τ ≈ 5200.” J. Fluid Mech., vol. 774, 2015, pp. 395–415.

Standards & official references

  1. AIAA G-077-1998 — Guide for the Verification and Validation of Computational Fluid Dynamics Simulations.
  2. ASME V&V 20-2009 (R2021) — Standard for Verification and Validation in Computational Fluid Dynamics and Heat Transfer.
  3. NASA Turbulence Modeling Resource (TMR) — turbmodels.larc.nasa.gov.
  4. NPARC Alliance Verification & Validation Archive — nparc.nasa.gov.
  5. AIAA Drag Prediction Workshop (DPW) — dpw.larc.nasa.gov.
  6. AIAA High-Lift Prediction Workshop (HLPW) — hiliftpw.larc.nasa.gov.
  7. ERCOFTAC Classic Database — kbwiki.ercoftac.org.
  8. ANSYS Fluent Theory Guide (current release 2026 R1).
  9. OpenFOAM Foundation, Programmer’s Guide and User Guide (v12, 2025).
  10. Driver, D. M.; Seegmiller, H. L. “Features of a Reattaching Turbulent Shear Layer in Divergent Channel Flow.” AIAA J., vol. 23(2), 1985, pp. 163–171. BFS validation data.
  11. Žukauskas, A. “Heat Transfer from Tubes in Crossflow.” Advances in Heat Transfer, vol. 8, 1972, pp. 93–160.

Tier 2 deep dive — extends fluid-mechanics §9p (turbulence) and aerodynamics §6 (CFD-of-aero) with full numerics, mesh, V&V, and the 2026 software landscape.