JP | EN | ZH
TOPCFD / Fluid AnalysisExternal Aerodynamics

External Aerodynamics — CFD for Vehicles and Aircraft

From NACA airfoils to SUV drag reduction — external aerodynamics CFD covers flow around bodies immersed in a free stream. This article covers the key coefficients, boundary layer physics, ground effects, mesh strategy, and OpenFOAM setup.

By NovaSolver Contributors (Anonymous Engineers & AI)  |  CFD / Fluid Analysis  |  日本語版 →

1. What is External Aerodynamics?

🧑‍🎓

What exactly is "external aerodynamics" in CFD? How is it different from, say, analyzing flow inside a pipe?

🎓

External aerodynamics is the study of airflow around the outside of a body — a car, aircraft wing, building, cyclist, or missile — where the fluid domain extends to "infinity" in all directions away from the body. The key distinction from internal flow is that the boundaries of the fluid domain are artificial (we define a finite computational domain and apply free-stream boundary conditions), and the main quantities of interest are the aerodynamic forces: drag force opposing motion and lift force perpendicular to the free stream.

🧑‍🎓

So the main outputs are drag and lift? How are those defined in CFD terms?

🎓

Drag and lift are reported as dimensionless coefficients. Drag coefficient $C_D = F_D / (0.5 \rho U_\infty^2 A_{ref})$ and lift coefficient $C_L = F_L / (0.5 \rho U_\infty^2 A_{ref})$. The reference area $A_{ref}$ is the frontal projected area for a car, or the wing planform area for an aircraft. These non-dimensional forms let you compare results across different scales and speeds. For a typical modern sedan, $C_D \approx 0.28$–0.32; a racing car with downforce can reach $C_L \approx -3.0$ (negative lift = downforce).

2. Key Aerodynamic Parameters

The three fundamental aerodynamic coefficients:

$$C_D = \frac{F_D}{\frac{1}{2}\rho U_\infty^2 A_{ref}}, \quad C_L = \frac{F_L}{\frac{1}{2}\rho U_\infty^2 A_{ref}}, \quad C_p = \frac{p - p_\infty}{\frac{1}{2}\rho U_\infty^2}$$

The pressure coefficient $C_p$ is the most informative field quantity for understanding aerodynamic loading. $C_p = 1$ at stagnation points, $C_p < 0$ on suction surfaces, and the minimum $C_p$ (most negative) indicates where local flow velocity is maximum and where separation risk is highest.

QuantityTypical Range (Automotive)Typical Range (Aircraft Wing)
$C_D$ (drag coefficient)0.25–0.45 (passenger cars)0.01–0.03 (airfoil, clean)
$C_L$ (lift coefficient)−0.2 to +0.2 (front/rear balance)0.5–1.5 (cruise), 2.5–3.5 (landing)
$C_p$ at stagnation+1.0+1.0
Reynolds number (highway)Re ~ 5×10⁶ (based on car length)Re ~ 10⁶–10⁷ (based on chord)

3. Boundary Layer Development and Separation

🧑‍🎓

I hear about "boundary layer separation" as a big deal in aero CFD. What actually happens physically, and why does it matter for drag?

🎓

On any surface, there's a thin layer where the flow velocity drops from the free-stream value to zero at the wall — that's the boundary layer. As the boundary layer moves downstream, it grows in thickness. If it encounters an adverse pressure gradient (pressure rising in the flow direction — like the rear of a car body), the momentum in the slow near-wall fluid isn't enough to push through, and the flow detaches from the surface. This creates a large low-pressure recirculation wake behind the body. That wake is the main source of pressure drag for bluff bodies — the front face is at high pressure, the rear wake is at low pressure, and the net pressure difference times frontal area equals your drag force.

The boundary layer thickness $\delta$ and displacement thickness $\delta^*$ for a turbulent flat plate:

$$\frac{\delta}{x} \approx \frac{0.37}{Re_x^{1/5}}, \quad \frac{\delta^*}{\delta} \approx \frac{1}{8}$$

4. Ground Clearance Effects for Automobiles

🧑‍🎓

When running CFD for a car, does it matter that there's a road below it? My first OpenFOAM attempt just used a slip floor — was that wrong?

🎓

Yes, it matters significantly. In a real wind tunnel and on the road, the ground is moving at the same speed as the free stream relative to the car — so there's no relative motion between the air and the ground plane. A slip floor correctly models this (zero wall shear, no boundary layer on the floor). Using a no-slip stationary floor creates a boundary layer that thickens toward the rear, artificially elevates the floor pressure, and can change your underbody drag by 5–15%. For full vehicle simulations, you should also include rotating wheels — wheel rotation dramatically affects the wheelhouse vortex system and can account for 20–25% of total vehicle drag.

Floor Boundary ConditionPhysical MeaningWhen to UseError if Wrong
Moving wall (velocity = U_inf)Ground moving at free-stream speed (correct for road simulation)Automotive aerodynamicsReference
Slip wall (zero shear)Approximately correct — no boundary layerWhen ground BL effect is smallSmall (<2%)
No-slip stationary wallStationary ground — physically wrong for road vehicleOnly if geometry is elevated far from ground5–15% on underbody drag

5. Wind Tunnel Correlation and Domain Sizing

🧑‍🎓

How big does the CFD domain need to be around the car model? And how do I make sure my CFD result matches wind tunnel measurements?

🎓

Domain sizing is a common mistake for beginners. If your domain is too small, the blockage ratio becomes significant — the model forces the flow to accelerate around it because the domain walls are too close, effectively speeding up the free stream and reducing drag (the same effect that makes wind tunnel results at high blockage ratio unreliable). Standard practice: inlet at least 5 car lengths upstream, outlet 15–20 car lengths downstream (the wake needs space to develop), and sides/top at least 5 car widths/heights away. This keeps blockage below 1% which is the accepted threshold. For mesh independence, always do a 3-mesh study: coarse, medium, fine with roughly 2x refinement each step.

Domain BoundaryMinimum Distance (D = vehicle length)Boundary Condition
Inlet (upstream)5D upstream of noseVelocity inlet (U = U_inf, k and omega from turbulence intensity)
Outlet (downstream)15–20D downstream of tailPressure outlet (p = 0 gauge)
Side walls5D from vehicle centerSlip wall or symmetry
Top boundary5D above roofSlip wall or symmetry
Floor0 (road contact) or ground clearanceMoving wall at U_inf (automotive) or slip

6. Turbulence Modeling for External Aerodynamics

🧑‍🎓

Which RANS turbulence model gives the best results for car or aircraft wing CFD? I've seen k-epsilon and SST k-omega mentioned.

🎓

SST k-omega (Shear Stress Transport) is the industry standard for external aerodynamics, and for good reason. Standard k-epsilon performs poorly near walls and in adverse pressure gradients — it typically underpredicts the size of separation zones, so it underestimates the wake and therefore underpredicts drag. SST blends the accurate near-wall behavior of k-omega with the free-stream robustness of k-epsilon, and crucially it includes the Bradshaw stress-intensity correction that improves separated flow prediction. For a typical car, SST gives drag predictions within 3–8% of wind tunnel with a well-resolved mesh. With k-epsilon you might be off by 15–25% on the same mesh.

7. Applications: Automotive and Aircraft

ApplicationKey ObjectiveTypical $C_D$ TargetCFD Approach
Passenger car (NCAP)Minimize frontal drag, control front/rear lift balance0.25–0.30Steady RANS (SST), rotating wheels
Formula 1 carMaximize downforce ($C_L < 0$), minimize drag-to-downforce ratio$C_D \approx 1.0$, $C_L \approx -3.5$DES/LES for wake, RANS for attached flow
NACA airfoil (2D)Maximize $C_L/C_D$ (lift-to-drag ratio), delay stall$C_D \approx 0.01$ (NACA 0012 at 0°)Steady RANS (SST) or Transition SST
Commercial aircraft wingCruise $C_L/C_D$ up to 18–20, stall behavior$C_D \approx 0.025$ (total, cruise)RANS (SST) for design, DES for off-design
Building (wind engineering)Peak wind loads, comfort on pedestrian level$C_D \approx 1.0$–1.5 (bluff body)LES or DES for unsteady loads

8. OpenFOAM Setup: simpleFoam for Steady External Aero

// system/fvSolution -- typical settings for external aero with simpleFoam solvers { p { solver GAMG; smoother GaussSeidel; tolerance 1e-6; relTol 0.1; } U { solver smoothSolver; smoother GaussSeidel; tolerance 1e-8; relTol 0.1; } k { solver smoothSolver; smoother GaussSeidel; tolerance 1e-8; relTol 0.1; } omega { solver smoothSolver; smoother GaussSeidel; tolerance 1e-8; relTol 0.1; } } SIMPLE { nNonOrthogonalCorrectors 2; residualControl { p 1e-4; U 1e-4; k 1e-4; omega 1e-4; } } relaxationFactors { fields { p 0.3; } equations { U 0.7; k 0.7; omega 0.7; } }
// 0/U -- far-field inlet velocity and turbulence for car at 30 m/s internalField uniform (30 0 0); boundaryField { inlet { type fixedValue; value uniform (30 0 0); } outlet { type zeroGradient; } car { type noSlip; } floor { type movingWallVelocity; value uniform (30 0 0); } sides { type slip; } } // Turbulence at inlet: 0.5% intensity, length scale 0.1 m // k = 1.5*(U*I)^2 = 1.5*(30*0.005)^2 = 0.034 m2/s2 // omega = k^0.5 / (Cmu^0.25 * L) = 0.184 / (0.09^0.25 * 0.1) = 3.4 1/s
Mesh quality for external aero: Target y+ ~ 1 for SST with low-Reynolds wall treatment, or y+ = 30–300 with wall functions. Check that you have at least 5 prism layers in the boundary layer with a growth ratio no greater than 1.2. Poor boundary layer resolution is the most common cause of incorrect drag predictions.
Compressibility check: For vehicle speeds below 100 m/s (Ma < 0.3), incompressible simpleFoam is sufficient. Above this, use rhoPimpleFoam or rhoSimpleFoam which solves the full density-coupled system. Aircraft near transonic speeds (Ma ~ 0.8) require compressible solvers and appropriate equation of state.
Cross-topics: RANS Turbulence Modeling | CFD Meshing | LES for Aeroacoustics | Compressible Flow