Why a rocket encounters Max-Q
A launch vehicle accelerates as it climbs, while atmospheric density decreases with altitude. Dynamic pressure initially rises because speed increases, then falls because the atmosphere becomes thin. The maximum value, Max-Q, is an important aerodynamic loading indicator.
Dynamic pressure and load equations
For vertical flight through a stationary atmosphere, differentiating q yields
At an interior maximum with nonzero velocity, 2a/v = v/H. This is a diagnostic condition, not a separate guidance law. Proper axial acceleration is approximately (T − D)/(mg₀); the aerodynamic drag deceleration is D/m.
Change altitude and velocity
Use these controls to see why high speed does not always mean high dynamic pressure.
Run a variable-mass vertical launch
Fourth-order Runge–Kutta integration with explicit burn-out handling and 0.1-second steps. The model starts at rest and integrates altitude, vertical velocity and mass. Select constant throttle or a simple pressure-feedback throttle strategy.
Constant thrust versus Max-Q limiting
Run both strategies with the same vehicle and atmosphere. The controller reduces throttle when dynamic pressure approaches the design limit. It cannot guarantee the limit if minimum throttle, inertia, or insufficient control authority prevents compliance.
| Strategy | Peak Q (kPa) | Time (s) | Altitude (km) | Burnout (s) | Limit |
|---|
Verify your ascent design
Keep peak dynamic pressure at or below your selected limit.
Compare the two throttle strategies and quantify their Max-Q difference and burnout timing.
Increase sea-level density by 10%, rerun, and check whether the constraint still holds.
Reproduce the pressure calculation
These short examples calculate dynamic pressure for a prescribed vertical trajectory. The browser simulation additionally integrates the vehicle equations and mass depletion.
import numpy as np
h = np.linspace(0, 80000, 1001) # m
v = 1200 * (1 - np.exp(-h / 18000)) # illustrative profile
rho = 1.225 * np.exp(-h / 8500)
q = 0.5 * rho * v**2
k = np.argmax(q)
print(f"Max-Q: {q[k]/1000:.2f} kPa at {h[k]/1000:.2f} km")h = linspace(0,80000,1001); % m
v = 1200*(1-exp(-h/18000)); % illustrative profile
rho = 1.225*exp(-h/8500);
q = 0.5*rho.*v.^2;
[qmax,k] = max(q);
fprintf('Max-Q: %.2f kPa at %.2f km\n',qmax/1000,h(k)/1000);The illustrative speed profiles above are not solutions of the powered ascent equations. For cross-validation, implement the coupled differential equations using SciPy solve_ivp or MATLAB ode45, including burnout events.
Max-Q is a constraint, not the mission objective
Confirm units (Pa versus kPa), inspect the full q(t) curve rather than a single sample, repeat the integration at half the timestep, and compare with a second numerical solver. A throttle strategy that reduces Max-Q may extend burn time or change the altitude and speed reached at burnout.