Level 5 — MasteryCompressible Flow & Aerodynamics

Compressible Flow & Aerodynamics

3 minutes100 marksprintable — key stays hidden on paper

Level: 5 — Mastery (cross-domain: derivation, computation, coding) Time limit: 3 hours Total marks: 100

Use γ=1.4\gamma = 1.4 and R=287 J/(kg⋅K)R = 287\ \text{J/(kg·K)} for air unless otherwise stated. State all assumptions.


Question 1 — De Laval Nozzle Design & Shock Analysis (40 marks)

A converging–diverging nozzle is fed from a large reservoir at P0=1.0 MPaP_0 = 1.0\ \text{MPa}, T0=600 KT_0 = 600\ \text{K}. The throat area is A=10 cm2A^* = 10\ \text{cm}^2 and the exit area is Ae=25 cm2A_e = 25\ \text{cm}^2. The nozzle exhausts into a back-pressure environment.

(a) Derive the area–velocity relation dAA=(M21)dVV\dfrac{dA}{A} = (M^2 - 1)\dfrac{dV}{V} starting from the continuity, momentum (Euler), and isentropic sound-speed relations. Explain physically why a throat (dA=0dA=0) is required to accelerate from subsonic to supersonic. (8 marks)

(b) Assuming isentropic, choked flow throughout, compute the supersonic design exit Mach number MeM_e corresponding to Ae/A=2.5A_e/A^* = 2.5. Then find the exit pressure PeP_e, exit temperature TeT_e, and the mass flow rate m˙\dot m. (10 marks)

(c) Now suppose the back pressure is raised so that a normal shock stands in the diverging section at an area As=20 cm2A_s = 20\ \text{cm}^2. Using the Rankine–Hugoniot relations, compute the Mach number M1M_1 just upstream of the shock, the downstream Mach number M2M_2, the static pressure ratio P2/P1P_2/P_1, and the stagnation-pressure loss ratio P0,2/P0,1P_{0,2}/P_{0,1} across the shock. (14 marks)

(d) After the shock, the flow is subsonic and continues to decelerate isentropically to the exit. Explain qualitatively (with reference to A/AA/A^* and the new effective sonic throat A2A^*_2) how you would find the exit pressure, and state whether the nozzle is over- or under-expanded relative to part (b)'s design. (8 marks)


Question 2 — Oblique Shock / Expansion Solver (35 marks)

A supersonic flow at M1=3.0M_1 = 3.0, P1=20 kPaP_1 = 20\ \text{kPa}, T1=220 KT_1 = 220\ \text{K} approaches a symmetric diamond (double-wedge) airfoil with a half-angle of 1010^\circ at zero angle of attack.

(a) On the compression (leading) surface an oblique shock forms. Using the θ\thetaβ\betaMM relation, determine the weak shock-wave angle β\beta for a flow deflection θ=10\theta = 10^\circ. Then find M2M_2 and P2P_2 behind the shock. (12 marks)

(b) At the shoulder (mid-chord) the flow turns by 2020^\circ through a Prandtl–Meyer expansion fan. Using the Prandtl–Meyer function ν(M)\nu(M), find the Mach number M3M_3 and pressure P3P_3 on the rear (expansion) surface. (10 marks)

(c) Write a self-contained Python function solve_oblique(M1, theta_deg, gamma=1.4) that returns the weak-shock β\beta (in degrees) by numerically solving the θ\thetaβ\betaMM relation, and a function prandtl_meyer(M, gamma=1.4) returning ν(M)\nu(M) in degrees. Explain how your root-finder selects the weak rather than the strong solution. (8 marks)

(d) Explain, using your pressure results, why this diamond airfoil at zero incidence still produces wave drag but zero lift. Sketch the pressure distribution schematically. (5 marks)


Question 3 — Thin Airfoil & Finite Wing Theory (25 marks)

(a) State the thin-airfoil-theory result for lift per unit span of a cambered airfoil and show that for a symmetric airfoil the lift coefficient is c=2παc_\ell = 2\pi\alpha (with α\alpha in radians). Identify the zero-lift angle for a cambered plate. (8 marks)

(b) A finite elliptical wing has aspect ratio AR=7AR = 7 and operates at a lift coefficient CL=0.6C_L = 0.6. Compute the induced-drag coefficient CD,iC_{D,i}. Then determine the effective 3-D lift-curve slope aa given the 2-D slope a0=2π rad1a_0 = 2\pi\ \text{rad}^{-1}, using a=a01+a0/(πAR)a = \dfrac{a_0}{1 + a_0/(\pi\,AR)} (elliptical, e=1e=1). (9 marks)

(c) The same wing is re-designed with AR=10AR = 10 at the same CLC_L. Compute the new CD,iC_{D,i} and the percentage reduction in induced drag. Discuss the trade-off (structural weight, wave drag) that limits arbitrarily large aspect ratios, and relate the critical Mach number concept to why high-AR wings are avoided on transonic fighters. (8 marks)


Answer keyMark scheme & solutions

Question 1

(a) Area–velocity relation derivation (8 marks)

Continuity (steady, 1-D): ρAV=const\rho A V = \text{const}. Log-differentiate: dρρ+dAA+dVV=0(1)\frac{d\rho}{\rho} + \frac{dA}{A} + \frac{dV}{V} = 0 \quad (1) (2 marks)

Euler (momentum), inviscid, no body force: dP=ρVdVdP = -\rho V\,dV. (1 mark)

Isentropic sound speed: a2=dPdρsdρ=dPa2=ρVdVa2a^2 = \dfrac{dP}{d\rho}\Big|_s \Rightarrow d\rho = \dfrac{dP}{a^2} = \dfrac{-\rho V\,dV}{a^2}, so dρρ=VdVa2=M2dVV(2)\frac{d\rho}{\rho} = -\frac{V\,dV}{a^2} = -M^2\frac{dV}{V}\quad (2) (2 marks)

Substitute (2) into (1): M2dVV+dAA+dVV=0dAA=(M21)dVV-M^2\frac{dV}{V} + \frac{dA}{A} + \frac{dV}{V} = 0 \Rightarrow \boxed{\frac{dA}{A} = (M^2-1)\frac{dV}{V}} (2 marks)

Physical interpretation: For M<1M<1, (M21)<0(M^2-1)<0: area must decrease to accelerate (dV>0dA<0dV>0 \Rightarrow dA<0). For M>1M>1, (M21)>0(M^2-1)>0: area must increase to accelerate. To pass from subsonic to supersonic, dAdA must change sign, which requires dA=0dA=0 at M=1M=1 — i.e. a throat where sonic conditions occur. (1 mark)

(b) Supersonic design exit conditions (10 marks)

Area–Mach relation: AA=1M[2γ+1(1+γ12M2)]γ+12(γ1)=2.5\frac{A}{A^*} = \frac{1}{M}\left[\frac{2}{\gamma+1}\left(1+\frac{\gamma-1}{2}M^2\right)\right]^{\frac{\gamma+1}{2(\gamma-1)}} = 2.5

Solving the supersonic root gives Me2.44M_e \approx 2.44. (4 marks)

Isentropic ratios at Me=2.44M_e = 2.44:

  • T0Te=1+0.2Me2=1+0.2(5.9536)=2.1907Te=600/2.1907=273.9 K\dfrac{T_0}{T_e} = 1 + 0.2 M_e^2 = 1 + 0.2(5.9536) = 2.1907 \Rightarrow T_e = 600/2.1907 = 273.9\ \text{K} (2 marks)
  • P0Pe=(T0/Te)3.5=2.19073.5=15.53Pe=106/15.53=64.4 kPa\dfrac{P_0}{P_e} = (T_0/T_e)^{3.5} = 2.1907^{3.5} = 15.53 \Rightarrow P_e = 10^6/15.53 = 64.4\ \text{kPa} (2 marks)

Mass flow (choked): m˙=P0AT0γR(2γ+1)γ+12(γ1)\dot m = \frac{P_0 A^*}{\sqrt{T_0}}\sqrt{\frac{\gamma}{R}}\left(\frac{2}{\gamma+1}\right)^{\frac{\gamma+1}{2(\gamma-1)}} =106×1036001.4287(0.8333)3= \frac{10^6 \times 10^{-3}}{\sqrt{600}}\sqrt{\frac{1.4}{287}}(0.8333)^{3} =100024.49(0.06986)(0.5787)=40.83×0.04043=1.651 kg/s= \frac{1000}{24.49}(0.06986)(0.5787) = 40.83 \times 0.04043 = 1.651\ \text{kg/s} m˙1.65 kg/s\dot m \approx 1.65\ \text{kg/s}. (2 marks)

(c) Normal shock at As=20 cm2A_s = 20\ \text{cm}^2 (14 marks)

Before the shock the flow is supersonic with As/A=20/10=2.0A_s/A^* = 20/10 = 2.0. Supersonic root: M12.20M_1 \approx 2.20 (4 marks)

Rankine–Hugoniot downstream Mach: M22=1+γ12M12γM12γ12=1+0.2(4.84)1.4(4.84)0.2=1.9686.576=0.2993M_2^2 = \frac{1 + \frac{\gamma-1}{2}M_1^2}{\gamma M_1^2 - \frac{\gamma-1}{2}} = \frac{1 + 0.2(4.84)}{1.4(4.84) - 0.2} = \frac{1.968}{6.576} = 0.2993 M2=0.547M_2 = 0.547 (3 marks)

Static pressure ratio: P2P1=1+2γγ+1(M121)=1+2.82.4(3.84)=1+4.48=5.48\frac{P_2}{P_1} = 1 + \frac{2\gamma}{\gamma+1}(M_1^2 - 1) = 1 + \frac{2.8}{2.4}(3.84) = 1 + 4.48 = 5.48 (3 marks)

Stagnation-pressure ratio (total-pressure loss): P0,2P0,1=[γ+12M121+γ12M12]γγ1[γ+12γM12(γ1)]1γ1\frac{P_{0,2}}{P_{0,1}} = \left[\frac{\frac{\gamma+1}{2}M_1^2}{1+\frac{\gamma-1}{2}M_1^2}\right]^{\frac{\gamma}{\gamma-1}}\left[\frac{\gamma+1}{2\gamma M_1^2-(\gamma-1)}\right]^{\frac{1}{\gamma-1}} With M1=2.20M_1 = 2.20: first bracket =(1.2×4.841.968)3.5=(2.951)3.5=44.8= \left(\dfrac{1.2\times4.84}{1.968}\right)^{3.5} = (2.951)^{3.5}=44.8; second bracket =(2.46.576)2.5=(0.3650)2.5=0.0805=\left(\dfrac{2.4}{6.576}\right)^{2.5}=(0.3650)^{2.5}=0.0805; product 3.607\approx 3.607...

Correcting: P0,2/P0,1=44.8×0.0805/?P_{0,2}/P_{0,1} = 44.8 \times 0.0805/? — proper formula gives P0,2/P0,10.628P_{0,2}/P_{0,1} \approx 0.628 at M1=2.20M_1=2.20 (standard normal-shock table value). (4 marks)

Accept table value P0,2/P0,10.628P_{0,2}/P_{0,1} \approx 0.628.

(d) Post-shock exit & expansion state (8 marks)

Across the shock, stagnation pressure drops but stagnation temperature is conserved; the entropy rise means the effective sonic area increases: A2=A(P0,1/P0,2)=10×(1/0.628)=15.9 cm2A^*_2 = A^* \cdot (P_{0,1}/P_{0,2}) = 10 \times (1/0.628) = 15.9\ \text{cm}^2. (3 marks)

Downstream, subsonic isentropic flow uses Ae/A2=25/15.9=1.57A_e/A^*_2 = 25/15.9 = 1.57. The subsonic root gives Me0.40M_e \approx 0.40, and Pe=P0,2/(1+0.2Me2)3.5P_e = P_{0,2}/(1+0.2 M_e^2)^{3.5}. With P0,2=0.628 MPaP_{0,2}=0.628\ \text{MPa}: Pe0.628/1.117=0.562 MPaP_e \approx 0.628/1.117 = 0.562\ \text{MPa}. (3 marks)

Compared with the design exit pressure of 64.4 kPa, the actual exit pressure is far higher → the flow has been compressed by the internal shock; relative to design (supersonic) operation the nozzle is over-expanded (back pressure too high for full supersonic expansion, forcing an internal shock). (2 marks)


Question 2

(a) Oblique shock, θ=10\theta = 10^\circ, M1=3M_1=3 (12 marks)

θ\thetaβ\betaMM relation: tanθ=2cotβM12sin2β1M12(γ+cos2β)+2\tan\theta = 2\cot\beta\,\frac{M_1^2\sin^2\beta - 1}{M_1^2(\gamma+\cos 2\beta)+2} Solving the weak root gives β27.4\beta \approx 27.4^\circ. (4 marks)

Normal component upstream: Mn1=M1sinβ=3sin27.4=3(0.4602)=1.381M_{n1} = M_1\sin\beta = 3\sin27.4^\circ = 3(0.4602)=1.381. (2 marks)

Downstream normal Mach: Mn22=1+0.2Mn121.4Mn120.2=1+0.2(1.907)1.4(1.907)0.2=1.3812.470=0.5593, Mn2=0.748M_{n2}^2 = \frac{1+0.2 M_{n1}^2}{1.4 M_{n1}^2 - 0.2} = \frac{1+0.2(1.907)}{1.4(1.907)-0.2}=\frac{1.381}{2.470}=0.5593,\ M_{n2}=0.748 M2=Mn2sin(βθ)=0.748sin17.4=0.7480.2990=2.50M_2 = \frac{M_{n2}}{\sin(\beta-\theta)} = \frac{0.748}{\sin17.4^\circ}=\frac{0.748}{0.2990}=2.50 (3 marks)

Pressure: P2P1=1+2γγ+1(Mn121)=1+2.82.4(0.907)=1+1.058=2.058\frac{P_2}{P_1}=1+\frac{2\gamma}{\gamma+1}(M_{n1}^2-1)=1+\frac{2.8}{2.4}(0.907)=1+1.058=2.058 P2=2.058×20=41.2 kPaP_2 = 2.058 \times 20 = 41.2\ \text{kPa}. (3 marks)

(b) Prandtl–Meyer expansion of 2020^\circ (10 marks)

ν(M)=γ+1γ1tan1γ1γ+1(M21)tan1M21\nu(M)=\sqrt{\frac{\gamma+1}{\gamma-1}}\tan^{-1}\sqrt{\frac{\gamma-1}{\gamma+1}(M^2-1)}-\tan^{-1}\sqrt{M^2-1}

ν(M2=2.50)=39.12\nu(M_2=2.50)=39.12^\circ. (3 marks)

After turning 2020^\circ: ν(M3)=39.12+20=59.12\nu(M_3)=39.12+20=59.12^\circ. Inverting gives M33.51M_3 \approx 3.51. (3 marks)

Isentropic (stagnation pressure constant through expansion; P0,2P_{0,2} from behind the shock): P3P2=(1+0.2M221+0.2M32)3.5=(1+0.2(6.25)1+0.2(12.32))3.5=(2.253.464)3.5=(0.6496)3.5=0.2213\frac{P_3}{P_2}=\left(\frac{1+0.2M_2^2}{1+0.2M_3^2}\right)^{3.5}=\left(\frac{1+0.2(6.25)}{1+0.2(12.32)}\right)^{3.5}=\left(\frac{2.25}{3.464}\right)^{3.5}=(0.6496)^{3.5}=0.2213 P3=0.2213×41.2=9.12 kPaP_3 = 0.2213 \times 41.2 = 9.12\ \text{kPa}. (4 marks)

(c) Python solver (8 marks)

import numpy as np
from scipy.optimize import brentq
 
def prandtl_meyer(M, gamma=1.4):
    if M < 1: raise ValueError("M must be >= 1")
    g = gamma
    term = np.sqrt((g+1)/(g-1))
    nu = (term*np.arctan(np.sqrt((g-1)/(g+1)*(M**2-1)))
          - np.arctan(np.sqrt(M**2-1)))
    return np.degrees(nu)
 
def theta_beta_M(beta_rad, M1, theta_rad, gamma=1.4):
    b, g = beta_rad, gamma
    num = M1**2*np.sin(b)**2 - 1
    den = M1**2*(g+np.cos(2*b)) + 2
    return 2/np.tan(b)*num/den - np.tan(theta_rad)
 
def solve_oblique(M1, theta_deg, gamma=1.4):
    th = np.radians(theta_deg)
    mu = np.arcsin(1/M1)              # Mach angle: lower bound
    # weak solution lies between Mach angle and the theta_max angle (<~ 65 deg).
    # Bracket just above mu up to ~65 deg and take the FIRST root -> weak.
    beta = brentq(theta_beta_M, mu+1e-4, np.radians(65),
                  args=(M1, th, gamma))
    return np.degrees(beta)
 
# solve_oblique(3.0, 10) -> ~27.4 ; prandtl_meyer(2.5) -> ~39.1

*(6 mar