Staging Transients and Mass Variation

From propellant depletion and burnout to structural jettison, coast, second-stage ignition, and numerical event handling: a complete interactive launch-vehicle GNC worked example.

Why staging is a hybrid-dynamics problem

A two-stage launch vehicle climbs through a simplified vertical atmosphere. Stage 1 consumes propellant, reaches burnout, releases its dry structure, coasts briefly, and starts Stage 2 with a finite ignition ramp. The vehicle does not teleport or gain velocity merely because mass is discarded.

1 · Powered Stage 1

Thrust and mass flow act together; the vehicle becomes lighter as fuel is burned.

2 · Burnout and separation

Thrust shuts off; a discrete dry-mass jettison changes the mass state, not the altitude or velocity.

3 · Coast and Stage 2

During delay, gravity and drag continue. Stage 2 then ramps to commanded thrust.

Model scope: Educational 1D vertical ascent with no guidance steering, gravity turn, rotation, separation impulse, throttle feedback, or engine shutdown tail-off. These effects matter in flight-quality 6-DOF simulations.

Continuous dynamics and discrete resets

State vector \(x=[h,v,m]^T\), with altitude \(h\), upward velocity \(v\), and instantaneous total vehicle mass \(m\).

\[\dot h=v,\quad \dot v=\frac{T-\frac12\rho(h)C_D A v|v|}{m}-g(h),\quad \dot m=-\frac{T}{I_{sp}g_0}\]
\[\rho(h)=\rho_0e^{-h/H},\qquad g(h)=g_0\left(\frac{R_E}{R_E+h}\right)^2\]

At the stage-separation instant \(t_s\), impose the state reset:

\[h^+=h^-,\qquad v^+=v^-,\qquad m^+=m^- - m_{dry,1}\]

Stage 2 ignition follows \(t_i=t_s+\Delta t_{coast}\). Its thrust ramps from zero to \(T_2\) over \(\tau_r\), while the propellant mass flow follows actual thrust.

\[T(t)=T_2\,\min\left(1,\max\left(0,\frac{t-t_i}{\tau_r}\right)\right)\]

For zero ramp duration, ignition is modeled as an instantaneous step. The ideal mass reset is a mathematical event, not a continuous high-rate mass-flow pulse.

Reference launch vehicle

QuantityBaselineInterpretation
Initial mass120,000 kgAll stages, payload and propellant
Stage 1 thrust / Isp2.0 MN / 280 sConstant nominal thrust and specific impulse
Stage 1 propellant75,000 kgBurns before Stage 1 shutdown
Stage 1 dry mass15,000 kgDiscarded at separation
Stage 2 thrust / Isp450 kN / 320 sRamps up following coast
Stage 2 propellant20,000 kgAvailable second-stage fuel
Coast / ignition ramp3 s / 2 sTransients between powered phases
\[\dot m_{p,1}=\frac{2{,}000{,}000}{280(9.80665)}\approx728.37\ \mathrm{kg/s}\]
\[t_{b,1}=\frac{75{,}000}{728.37}\approx102.97\ \mathrm{s}\]

At Stage 1 burnout, mass is 45,000 kg. Discarding 15,000 kg leaves 30,000 kg. A hypothetical thrust-to-mass acceleration of 44.44 m/s² immediately before shutdown would become 66.67 m/s² if the same thrust were still available after jettison. It is not the actual post-separation acceleration because Stage 1 has shut down.

Run the full two-stage mission

Modify the mission inputs and recompute altitude, velocity, total mass, thrust, acceleration, and dynamic pressure. The simulation uses a fixed-step RK4 integrator with exact event-time subdivision and explicit separation resets. A simplified fixed-step solver is used here, not MATLAB ode45.

Stage 1 burnout—
Stage 2 ignition—
Final altitude—
Final velocity—
Peak dynamic pressure—
Peak net acceleration—
Final mass—
Stage 2 burnout—
Run the simulation to inspect event transitions.

What changes when the coast or ignition ramp grows?

Compare the baseline (3-second coast, 2-second ramp) against the current inputs. Both cases share all other parameters. Results are aligned by time since Stage 1 separation, not by absolute launch time.

Click Compare to generate matched simulations.

Interpretation: Longer coast time can reduce vertical speed before ignition, but altitude and velocity effects depend on the entire trajectory. A slower ramp also changes propellant consumption and total impulse over a finite observation interval.

Checks that a staging simulation must pass

TestExpected behaviorFailure interpretation
Mass monotonicityMass non-increasing; separation produces a downward jumpWrong mass-flow sign or event reset
Position continuityAltitude continuous through separationIncorrect state reset
Velocity continuityNo instantaneous Δv without modeled impulseSpurious staging impulse
Coast thrustZero until ignitionOverlapping stage logic
Propellant boundNeither stage consumes beyond its allocated propellantMissing depletion event
Integrator refinementOutput converges as timestep decreasesNumerical error / event misalignment
Mass accountingInitial mass = consumed propellant + jettisoned mass + remaining massMass conservation bookkeeping error
Press the button after running a mission.

Passing these checks verifies selected implementation invariants, not full physical validation or flight certification.

Python and MATLAB starting points

import numpy as np
from scipy.integrate import solve_ivp

g0, Re, rho0, H = 9.80665, 6371000., 1.225, 8500.

def rhs(t, x, thrust, isp, Cd=0.4, A=8.):
    h, v, m = x
    rho = rho0*np.exp(-max(h, 0)/H)
    drag = 0.5*rho*Cd*A*v*abs(v)
    grav = g0*(Re/(Re+max(h, 0)))**2
    return [v, (thrust-drag)/m-grav,
            -thrust/(isp*g0) if thrust > 0 else 0.]

# Integrate each phase separately, with exact event boundaries.
# Example: first-stage burn
T1, Isp1, prop1 = 2e6, 280., 75000.
tb1 = prop1*Isp1*g0/T1
sol1 = solve_ivp(lambda t,x: rhs(t,x,T1,Isp1),
                 (0,tb1), [0.,0.,120000.],
                 rtol=1e-9, atol=1e-9, dense_output=True)

# Explicit separation reset: altitude and velocity unchanged.
x_sep = sol1.y[:,-1].copy()
x_sep[2] -= 15000.

# Coast and Stage 2 are additional integrations with
# thrust=0 and time-dependent ignition-ramp thrust.
# Check mass budget and join segments without smoothing the jump.

These snippets demonstrate phase integration and separation; the browser experiment additionally handles Stage 2 depletion and variable ramp thrust. They are starting points rather than full flight dynamics software.

A smooth trajectory does not prove correct staging logic

Staging is a state-machine problem as much as it is a differential-equation problem. A physically defensible simulation must combine continuous mass depletion, unpowered coast, explicit structural-mass resets, and well-defined ignition events. Verify event continuity and mass conservation before interpreting acceleration spikes or tuning a control system.

Next extension: Add 3-DOF pitch steering, gravity-turn guidance, time-varying thrust, structural load constraints, thrust-vector control, and separation impulses for a more realistic launch vehicle.