Rocket Flight Mechanics
Difficulty: Level 3 — From-scratch derivations, code-from-memory, explain-out-loud Time limit: 45 minutes Total marks: 60
Q1. (10 marks) From first principles, derive the 3-DOF point-mass equations of motion for a rocket in a flat-Earth, planar (vertical-plane) trajectory. Use flight-path angle , speed , mass , thrust , drag , and gravity . Assume thrust aligned with velocity and zero angle of attack. Give the differential equations for , , , , and , and explain the physical origin of the term in .
Q2. (12 marks) A finned rocket has the following components. Using the Barrowman equations, compute the centre of pressure location from the nose tip.
- Ogive nose cone: length , , .
- Body of constant diameter (no shoulder/boattail): contributes zero normal force.
- 3 trapezoidal fins at the aft end: root chord , tip chord , semi-span , sweep length of mid-chord , fin root leading edge at from nose. Body radius at fins , reference diameter .
Compute (with interference factor), then . If , compute the static margin in calibers and state whether the rocket is stable.
Q3. (10 marks) Derive Euler's rotational equations of motion for a rigid rocket body from in the inertial frame, transforming to the body frame. State the vector equation, then write the three scalar component equations for a body with a diagonal inertia tensor . Explain physically why a rocket's inertia tensor changes during flight and how this affects the equations.
Q4. (10 marks) Write, from memory, a Python function (pseudocode acceptable but must be runnable in structure) using an explicit RK4 integrator that propagates the vertical-plane 3-DOF trajectory from Q1. Inputs: initial state, constant thrust, constant mass flow, exponential atmosphere , drag . The function should return the state history and stop at burnout. Comment each block explaining the "why."
Q5. (10 marks) A reentry capsule has mass , drag coefficient , and cross-sectional area . (a) Compute the ballistic coefficient . (3) (b) Explain qualitatively how a higher ballistic coefficient changes the deceleration profile and peak heating altitude during reentry. (4) (c) The Chapman/Sutton-Graves stagnation heat flux scales as . If velocity halves and density increases by , by what factor does the heat flux change? (3)
Q6. (8 marks) Explain-out-loud (concise written answers): (a) Define Max-Q and explain why it does not occur at maximum velocity nor at maximum density. (3) (b) Explain the "suicide burn" (hoverslam) terminal landing strategy and why the ignition timing is safety-critical. (3) (c) State the physical cause of the communications blackout during reentry. (2)
Answer keyMark scheme & solutions
Q1 (10 marks)
Newton's second law in velocity (tangential) and normal directions of the flight path.
Tangential (along ): (3 marks: forces resolved along velocity; gravity component opposes climb.)
Normal (perpendicular to ): the only unbalanced force normal to velocity is the gravity component ; centripetal acceleration is : (3 marks.)
Kinematics: (2 marks.)
Mass: (constant propellant flow rate). (1 mark.)
Explanation of term (1 mark): gravity component normal to the velocity curves the trajectory downward. Dividing the normal acceleration by converts it to an angular rate; at high speed the same normal force bends the path less — this is the origin of the gravity turn (path bends over naturally as gravity acts perpendicular to flight).
Q2 (12 marks)
Nose cone: , . (1 mark)
Fin normal-force coefficient (Barrowman): where (mid-chord line length), .
. (1)
; square ; ; denominator . (1)
; numerator . . (2)
Interference factor: . (2)
Fin CP location from nose: Term A . Term B . . (2)
Total:
=\frac{2(0.1398)+21.028(0.95889)}{2+21.028}$$ $=\dfrac{0.2796+20.1656}{23.028}=\dfrac{20.4452}{23.028}=0.8878\,\text{m}$. (1) **Static margin:** $SM=(X_{CP}-X_{CG})/d=(0.8878-0.65)/0.05=4.76$ calibers. (1) $>1$ caliber and positive $\Rightarrow$ **statically stable** (actually quite over-stable). --- ## Q3 (10 marks) Angular momentum in inertial frame: $\vec H = \mathbf I\vec\omega$. Newton–Euler: $$\vec M = \left.\frac{d\vec H}{dt}\right|_{\text{inertial}} = \left.\frac{d\vec H}{dt}\right|_{\text{body}} + \vec\omega\times\vec H$$ (3 marks: transport theorem — rate in body frame plus $\vec\omega\times\vec H$ because the body frame rotates.) With $\vec\omega=(p,q,r)$ and diagonal $\mathbf I$, $\vec H=(I_{xx}p, I_{yy}q, I_{zz}r)$:\begin{aligned} M_x &= I_{xx}\dot p + (I_{zz}-I_{yy})qr\ M_y &= I_{yy}\dot q + (I_{xx}-I_{zz})rp\ M_z &= I_{zz}\dot r + (I_{yy}-I_{xx})pq \end{aligned}
(4 marks — cross-coupling gyroscopic terms.) **Inertia change / physics (3 marks):** Propellant depletion continuously removes mass, so $\mathbf I$ (and CG) are time-varying. Strictly, $\dot{\mathbf I}\vec\omega$ terms and jet-damping/mass-flow reaction terms should be added; the rocket is a variable-mass system. Practically the axial $I_{xx}$ drops as propellant (near axis) burns, and the lateral $I_{yy},I_{zz}$ change as the CG shifts, altering both static margin and rotational dynamics over flight. --- ## Q4 (10 marks) ```python import numpy as np def propagate(state0, T, mdot, CD, A, m0, mprop, rho0=1.225, H=8500.0, g=9.81, dt=0.05): # state = [v, gamma, x, h, m]; why: 3DOF planar point mass def deriv(s): v, gam, x, h, m = s rho = rho0*np.exp(-h/H) # exponential atmosphere D = 0.5*rho*v*v*CD*A # drag magnitude Thr = T if m > (m0 - mprop) else 0.0 # thrust until burnout md = -mdot if Thr > 0 else 0.0 vdot = (Thr - D)/m - g*np.sin(gam) # tangential Newton gamdot = -g*np.cos(gam)/v if v > 1e-3 else 0.0 # gravity turn xdot = v*np.cos(gam) # downrange kinematics hdot = v*np.sin(gam) # altitude kinematics return np.array([vdot, gamdot, xdot, hdot, md]) s = np.array(state0, float) hist = [s.copy()] while s[4] > (m0 - mprop) + 1e-9: # stop at burnout k1 = deriv(s) # RK4: 4 slope evaluations k2 = deriv(s + 0.5*dt*k1) k3 = deriv(s + 0.5*dt*k2) k4 = deriv(s + dt*k3) s = s + (dt/6.0)*(k1 + 2*k2 + 2*k3 + k4) # weighted average hist.append(s.copy()) return np.array(hist) ``` Marks: structure/state def (2), correct derivatives (3), atmosphere+drag (2), RK4 weighting (2), burnout stop (1). --- ## Q5 (10 marks) **(a)** $\beta = \dfrac{m}{C_D A}=\dfrac{3000}{1.4\times12}=\dfrac{3000}{16.8}=178.6\,\text{kg/m}^2$. (3) **(b)** Higher $\beta$ = "heavier per unit drag." The body penetrates deeper into the atmosphere before decelerating, so peak deceleration and peak heating occur at **lower altitude** (denser air), and the peak $g$-load and heat flux are **larger**. Low-$\beta$ (blunt/light) bodies decelerate high up and gently. (4) **(c)** $\dot q_s\propto \sqrt{\rho}\,v^3$. Factor $=\sqrt{8}\times(0.5)^3 = 2.828\times0.125 = 0.3536$. Heat flux drops to about **0.354×** (≈35%). (3) --- ## Q6 (8 marks) **(a)** Max-Q is the maximum of dynamic pressure $q=\tfrac12\rho v^2$. During ascent $v$ increases while $\rho$ decreases; the product peaks at an intermediate altitude (~10–15 km). It is neither at max velocity (which occurs at burnout, high altitude, low $\rho$) nor at max density (sea level, low $v$) — it's where $\frac{dq}{dt}=0$, i.e. where the fractional rise in $v^2$ equals the fractional fall in $\rho$. (3) **(b)** Suicide burn/hoverslam: a single full-thrust deceleration burn timed so that velocity and altitude reach zero **simultaneously**, minimizing propellant (gravity-loss). Ignite too early → craft stops above ground and (over-decelerating) climbs/hovers, wasting fuel or requiring throttle-down; ignite too late → cannot decelerate in remaining distance and crashes. Because thrust-to-weight >1 is fixed and margins are tight, timing must be precise. (3) **(c)** During reentry the shock-heated air ionizes into a plasma sheath around the vehicle; free electrons reflect/attenuate RF signals above the plasma frequency, causing communications blackout. (2) ```verify [ {"claim":"Q2 fin CNalpha with interference ~21.03","code":"import sympy as sp\ns=0.10; d=0.05; N=3; Cr=0.12; Ct=0.06; Xr=0.08; R=0.025\nLf=sp.sqrt(s**2+Xr**2)\nCNaf=(4*N*(s/d)**2)/(1+sp.sqrt(1+(2*Lf/(Cr+Ct))**2))\nK=1+R/(s+R)\nval=float(K*CNaf)\nresult=abs(val-21.03)<0.05"}, {"claim":"Q2 XCP ~0.8878 m","code":"import sympy as sp\ns=0.10;d=0.05;N=3;Cr=0.12;Ct=0.06;Xr=0.08;R=0.025;Xf=0.90;Ln=0.30\nLf=sp.sqrt(s**2+Xr**2)\nCNaf=(4*N*(s/d)**2)/(1+sp.sqrt(1+(2*Lf/(Cr+Ct))**2))*(1+R/(s+R))\nXfp=Xf+(Xr/3)*(Cr+2*Ct)/(Cr+Ct)+ (Cr+Ct-Cr*Ct/(Cr+Ct))/6\nCNan=2; Xn=0.466*Ln\nXcp=(CNan*Xn+CNaf*Xfp)/(CNan+CNaf)\nresult=abs(float(Xcp)-0.8878)<0.002"}, {"claim":"Q5a ballistic coefficient 178.57","code":"result=abs(3000/(1.4*12)-178.571)<0.01"}, {"claim":"Q5c heat flux factor ~0.3536","code":"import sympy as sp\nresult=abs(float(sp.sqrt(8)*0.5**3)-0.35355)<0.001"} ] ```