Compressible Flow & Aerodynamics
Level 3 — Production (from-scratch derivations, code-from-memory, explain-out-loud) Time limit: 45 minutes Total marks: 60
Use and for air unless stated otherwise. Show all reasoning; state every assumption.
Question 1 — Speed of sound & stagnation temperature (10 marks)
(a) Starting from the mass and momentum equations for a 1-D isentropic disturbance, derive from scratch the expression for the speed of sound . State clearly why the process is treated as isentropic. (6)
(b) From the steady-flow energy equation for an adiabatic open system, derive the stagnation temperature relation and evaluate for air moving at in a stream at . (4)
Question 2 — Area–velocity relation & de Laval nozzle (10 marks)
(a) Derive the area–velocity relation from continuity, the isentropic momentum (Euler) equation, and . (6)
(b) Using the sign of each term, explain out loud (in writing) why a converging–diverging geometry is required to accelerate a flow from subsonic to supersonic, and what must occur at the throat. (4)
Question 3 — Normal shock from Rankine–Hugoniot (14 marks)
Air at , , passes through a stationary normal shock.
(a) Write the three conservation equations across the shock and derive the downstream Mach number relation (6)
(b) Compute , , , and the stagnation-pressure ratio . (6)
(c) Explain physically why while is unchanged. (2)
Question 4 — Oblique shock & Prandtl–Meyer (10 marks)
(a) State the –– relation. A wedge with half-angle sits in a stream; the weak-shock wave angle is . Compute the normal upstream Mach number and downstream normal Mach , then find . (6)
(b) The flow instead expands around a convex corner. Given , find the downstream Mach number using the Prandtl–Meyer function, and explain why this expansion is isentropic while the shock is not. (Use , .) (4)
Question 5 — Thin airfoil & finite wing (10 marks)
(a) For a symmetric thin airfoil, state the lift-per-unit-span result and hence show . Compute for . (3)
(b) Explain the origin of induced drag on a finite wing and write the induced-drag-coefficient relation in terms of aspect ratio and span efficiency . For an elliptical wing () with operating at , compute . (4)
(c) Define critical Mach number and explain, out loud, its link to wave drag and to Whitcomb's area rule. (3)
Question 6 — Code from memory (6 marks)
Write a self-contained Python function (NumPy allowed, no external tables) isentropic(M, gamma=1.4) that returns a dictionary with the ratios , , and the area ratio . State the formula for you implement. (6)
End of paper.
Answer keyMark scheme & solutions
Question 1 (10)
(a) Speed of sound (6)
Consider a weak pressure pulse moving at speed into still gas; work in the wave frame (steady). Gas enters at , , and leaves at , , .
- Continuity: (1)
- Momentum: (2)
- Combine: eliminate : . (1)
- Disturbance is weak & fast ⇒ negligible gradients & no time for heat transfer ⇒ isentropic; for with const, . (1)
- Hence . (1)
(b) Stagnation T (4) Adiabatic steady flow energy: ; with : . (1) Divide by , use , , : (2) At : . (1)
Question 2 (10)
(a) (6)
- Continuity (log-differentiate const): . (2)
- Euler (inviscid, steady): . (1)
- Isentropic: . (2)
- Substitute into continuity: . (1)
(b) (4)
- Subsonic (): , so and opposite signs → to accelerate () need (converging). (1)
- Supersonic (): same sign → to accelerate need (diverging). (1)
- Therefore continuous subsonic→supersonic acceleration requires converge then diverge = de Laval. (1)
- At throat : either or ; for accelerating flow the sonic condition occurs at the throat. (1)
Question 3 (14)
(a) (6) Conservation across shock:
- Mass: (1)
- Momentum: (1)
- Energy: (so constant). (1) Combining with , and algebra yields (3):
(b) (6) With , :
- (1.5)
- (1.5)
- (1.5)
- (from ) (1.5)
(c) (2) Shock is adiabatic ⇒ energy conserved ⇒ unchanged (1). But it is irreversible (entropy rises), so stagnation pressure is lost: (1).
Question 4 (10)
(a) (6) ––: . (1)
- (2)
- Normal-shock relation: (2)
- (1)
(b) (4) Expansion: . (1) Interpolate between and ... target 64.76 is above these; extrapolating the given trend (~1.06°/0.1M): (accept ). (2) Expansion occurs through infinitely many weak Mach waves, each isentropic, so no entropy generation; the shock compresses abruptly across a finite discontinuity, generating entropy → not isentropic. (1)
Question 5 (10)
(a) (3) Thin-airfoil: (symmetric, camber term zero) ⇒ with : . (2) rad ⇒ (1)
(b) (4) Finite wing: trailing tip vortices induce downwash, tilting the local lift vector backward → a drag component (induced drag). (1.5) . (1) (1.5)
(c) (3) Critical Mach number = free-stream at which local flow first reaches somewhere on the airfoil. (1) Beyond it, embedded supersonic pockets terminate in shocks → wave drag rises sharply (drag divergence). (1) Whitcomb's area rule smooths the cross-sectional-area distribution of the whole aircraft to delay/reduce transonic wave drag. (1)
Question 6 (6)
import numpy as np
def isentropic(M, gamma=1.4):
g = gamma
T = (1 + 0.5*(g-1)*M**2)**-1 # T/T0
p = T**(g/(g-1)) # p/p0
rho = T**(1/(g-1)) # rho/rho0
Astar = (1.0/M)*((2/(g+1))*(1 + 0.5*(g-1)*M**2))**((g+1)/(2*(g-1)))
return {"T/T0": T, "p/p0": p, "rho/rho0": rho, "A/Astar": Astar}Marks: correct (1), (1), (1), formula (2), valid returnable/self-contained code (1). formula: .
[
{"claim":"T0 = 450 K at M=2, T=250 K","code":"T=250; M=2; g=1.4; T0=T*(1+(g-1)/2*M**2); result = abs(T0-450)<1e-6"},
{"claim":"Normal shock M1=2 gives M2=0.5774","code":"g=1.4; M1=2; M2=sqrt((1+(g-1)/2*M1**2)/(g*M1**2-(g-1)/2)); result = abs(float(M2)-0.5774)<1e-3"},
{"claim":"p2/p1=4.5 and T2/T1=1.6875 for M1=2","code":"g=1.4; M1=2; p=1+2*g/(g+1)*(M1**2-1); T=(1+(g-1)/2*M1**2)*(2*g/(g-1)*M1**2-1)/((g+1)**2/(2*(g-1))*M1**2); result = abs(p-4.5)<1e-6 and abs(float(T)-1.6875)<1e-3"},
{"claim":"p02/p01=0.7209 for M1=2 normal shock","code":"g=1.4; M1=2.0; pr=((g+1)*M1**2/2/(1+(g-1)/2*M1**2))**(g/(g-1))*((2*g*M1**2-(g-1))/(g+1))**(-1/(g-1)); result = abs(float(pr)-0.7209)<1e-3"},
{"claim":"Induced drag coefficient = 0.0368 for cL=0.9, AR=7, e=1","code":"cL=0.9; AR=7; e=1; cdi=cL**2/(pi*e*AR); result = abs(float(cdi)-0.0368)<1e-3"},
{"claim":"Oblique shock Mn1=1.601, M2=2.254 for M1=3, beta