| name | cfd-postprocessing |
| description | CFD post-processing — drag/lift coefficient extraction, force/moment integration, wake analysis, flow visualization techniques, pressure coefficient, boundary layer quantities, turbulence statistics. |
| metadata | {"priority":7,"promptSignals":{"phrases":["CFD post","drag coefficient","lift coefficient","force integration","pressure coefficient","wake analysis","flow visualization","CFD results","boundary layer analysis","y plus"],"minScore":3}} |
CFD Post-Processing — Complete Skill
Force and Moment Integration
Pressure and Viscous Forces
Total force on body: F = Σ (p_i × n̂_i + τ_i) × A_i (over all surface faces)
n̂_i = face outward normal [unit vector]
τ_i = wall shear stress vector [Pa]
A_i = face area [m²]
Decompose into pressure + friction:
F_pressure = Σ p_i × n̂_i × A_i
F_friction = Σ τ_w,i × t̂_i × A_i (t̂ = tangential direction along flow)
In most CFD solvers: wall shear stress τ_w = μ × ∂u/∂n|_wall (computed from velocity gradient at wall)
Aerodynamic Coefficients
Reference quantities: ρ_∞, V_∞ (freestream density and velocity), A_ref (reference area)
Drag coefficient:
C_D = F_D / (½ ρ_∞ V_∞² A_ref)
F_D = force component in freestream direction
Lift coefficient:
C_L = F_L / (½ ρ_∞ V_∞² A_ref)
F_L = force component perpendicular to freestream (in lift direction)
Reference areas:
Airfoil/wing: A_ref = planform area (span × chord) or chord × unit span
Bluff body (vehicle): A_ref = frontal area (projected area ⊥ to flow)
Sphere: A_ref = πD²/4
Moment coefficient:
C_M = M / (½ ρ_∞ V_∞² A_ref × L_ref)
L_ref = reference length (chord, diameter)
M = pitching/rolling/yawing moment about specified point
Pressure Coefficient
C_p = (p - p_∞) / (½ ρ_∞ V_∞²)
C_p = 1.0: stagnation point (all kinetic → static pressure)
C_p = 0: freestream conditions
C_p < 0: suction (velocity > V_∞)
C_p = 1 - (V/V_∞)²: Bernoulli relationship (incompressible)
Suction peak: large negative C_p near leading edge suction surface → indicates attached flow and high lift
Separation indicator: C_p plateau followed by recovery region → indicates flow separation
Boundary Layer Analysis
Wall y+ and Resolution
y⁺ = u_τ y₁ / ν
u_τ = √(τ_w/ρ) (friction velocity)
y₁ = distance from wall to first cell center [m]
y+ targets:
Low-Re treatment: y⁺ < 1 (resolve viscous sublayer)
Wall function: 30 < y⁺ < 300 (log-law region; first cell in log layer)
Transition between: y⁺ = 5-30 (buffer layer, avoid this region)
Checking after simulation:
Plot y⁺ contour on all walls; identify regions with y⁺ outside target
Regions with excessive y⁺ → local refinement needed
Integral Boundary Layer Quantities
Displacement thickness:
δ* = ∫₀^∞ (1 - u/U_e) dy [m]
Indicates outward displacement of streamlines
Momentum thickness:
θ = ∫₀^∞ (u/U_e)(1 - u/U_e) dy [m]
Shape factor: H = δ*/θ
H = 1.3: fully turbulent attached
H = 1.5-2.5: transitional to separated
H > 3.5: separated/reversed flow
Skin friction coefficient:
C_f = τ_w / (½ρU_e²)
Integrate over surface: friction drag = ∫ τ_w dA
Boundary Layer Separation Detection
Methods:
- C_f < 0: reversed flow (wall shear opposite to freestream)
- Vortex core lines or isosurfaces of Q-criterion (Q > 0)
- Oil flow patterns / particle traces on surface
Reattachment: C_f recovers positive after separation bubble
Wake Analysis
Velocity Deficit
U_deficit = (U_∞ - U(y,z)) / U_∞ at downstream plane
Integrate for drag: D = ρ ∫∫ U(U_∞-U) dA + ∫∫(p-p_∞) dA (far-wake, negligible pressure term)
Trefftz plane analysis (far-field drag):
Decompose: D = D_friction + D_pressure = D_profile + D_induced
Induced drag: from vorticity in wake plane (trailing vortices of wing)
Turbulence intensity in wake:
TI = u'/U_local × 100%
u' = RMS of velocity fluctuations (from time-averaging or from k: u' = √(2k/3))
Wake recovery length: U_deficit < 5% requires 10-20 diameters downstream (bluff body)
Vortex Identification
Q-criterion: Q = ½(||Ω||² - ||S||²) > 0 (vortex where rotation > strain)
Ω = antisymmetric part of velocity gradient (rotation rate tensor)
S = symmetric part (strain rate tensor)
Isosurface Q = const: visualizes vortex tubes
λ₂-criterion: second eigenvalue of (S² + Ω²) < 0 in vortex core
Preferred over Q for accuracy; less sensitive to freestream
Δ-criterion: discriminant of velocity gradient tensor > 0 (complex eigenvalues → swirling)
Flow Visualization
Streamlines, Pathlines, Streaklines
Streamlines: tangent to instantaneous velocity field; defined by dx/u = dy/v = dz/w
In steady flow: streamline = pathline = streakline (all equivalent)
In unsteady flow: they differ — use appropriate one for physical meaning
Particle traces: integrate dx/dt = u(x,t) forward in time → pathline of tracer
LIC (Line Integral Convolution): dense texture-based streamline visualization on surface
Surface streamlines / limiting streamlines:
u_wall = 0 (no-slip), so trace wall shear stress vectors τ_w
Saddle points: flow reattachment/separation lines
Nodal points: spiral sources/sinks (recirculation zones)
Volume Visualization
Iso-surfaces: surfaces where scalar = constant (pressure, temperature, y+, Q-criterion)
Volume rendering: semi-transparent 3D view of scalar (turbulence kinetic energy, temperature)
Cutting planes: 2D slices of any field quantity at selected positions
Turbulence Statistics
Time-averaged quantities (RANS): Ū, k = ½ u_i'u_i', ε or ω
Turbulence intensity: TI = √(2k/3) / U_ref × 100%
Reynolds stress tensor: τᵢⱼ = -ρ<u_i'u_j'> (anisotropy from non-diagonal terms → secondary flows)
Spectral analysis (LES/DNS):
Power Spectral Density of u': E(k) ∝ k^(-5/3) in inertial subrange (Kolmogorov)
Deviation from -5/3: indicates insufficient spatial resolution (LES) or wall-bounded effects
Common Post-Processing Workflow
CFD Report Checklist
- Residuals: converged to 10⁻⁴ (10⁻⁶ for sensitive quantities)
- y+ distribution: on all walls; within target range
- Grid independence: compare coarse/medium/fine solutions (GCI < 5%)
- Global quantities: C_D, C_L, Nusselt number vs. experiment/correlation
- Local fields: C_p distribution, velocity profiles at key sections
- Separation/attachment: C_f map, flow topology (saddle/node points)
- Uncertainty: discretization error (GCI), turbulence model sensitivity
- Comparison: simulation vs. experiment/analytical with percent deviation
Reporting Aerodynamic Coefficients
Always specify:
- Reference area A_ref [m²]
- Reference length L_ref [m]
- Moment reference point [m]
- Freestream conditions (ρ, V, T, Re)
- Angle of attack α [°]
- Decomposition (pressure vs. friction contributions)
Output
Provide: C_D and C_L [—] with pressure/friction breakdown, C_p distribution at key stations, y+ check (max, min, mean), separation detection (C_f < 0 location), wake velocity deficit [%] at downstream plane, GCI-based discretization uncertainty [%], comparison to experimental data or analytical correlation.