11. Two-stage rocket ascent
Empty tanks and engines become dead weight. Discarding them lets the remaining propellant accelerate a lighter vehicle. How much higher can a two-stage rocket fly with the same 3000 kg of propellant as Example 10?
| Item | Definition |
|---|---|
| States | Radius , upward velocity , mass |
| Control | Thrust |
| Objective | Maximize final altitude |
| Phases | Two stages, 25 nodes each; free separation and final times |
| New concepts | Discontinuous mass and explicit phase linkage |
Situation
Section titled “Situation”Initial mass is 5000 kg. The atmosphere, gravity, engine efficiency, and thrust limit match Example 10. The difference is stage separation:
- Stage 1 has total mass 3000 kg, including 1800 kg of propellant and 1200 kg of structure.
- Stage 2 has total mass 2000 kg, including 1200 kg of propellant and 800 kg of structure.
- After stage 1 consumes its own propellant, its 1200 kg structure is discarded.
Each stage’s dry-to-wet mass ratio is Mc = 0.4. Total propellant remains 3000 kg, but only 800 kg of dry structure reaches the endpoint.
Each stage can consume only its own propellant. Separate phase polynomials represent the instantaneous mass drop.
Formulation
Section titled “Formulation”Dynamics
Section titled “Dynamics”Both phases use
See Example 10 for the model terms.
Phases and linkage
Section titled “Phases and linkage”At separation time ,
Thus stage 1 ends at 3200 kg and stage 2 begins at 2000 kg. The propellant budgets are exactly kg and kg. Disable automatic state continuity and write these equations explicitly (linking phases).
Boundary conditions
Section titled “Boundary conditions”The endpoint is the highest point after both stages have consumed their propellant.
Constraints and objective
Section titled “Constraints and objective”The same maximum thrust applies to both stages.
Parameters and scaling
Section titled “Parameters and scaling”Use Mc = 0.4, , m², s, kg/m³, and m.
Earth constants and units match Example 10: radius , speed , and mass 5000 kg.
Initial guess
Section titled “Initial guess”Use phase times s. Radius rises cubically from the surface to 50 km altitude, with zero velocity. Mass decreases linearly from 5000 to 3200 kg in phase 1 and from 2000 to 800 kg in phase 2. Thrust decreases cubically from maximum to zero over the full time interval.
Results
Section titled “Results”
- Maximum altitude: 184.1 km, about 2.8 times the single-stage value 65.5 km.
- Stage 1 burns out around 64 s, then coasts briefly before separation at 69.2 s.
- Mass drops from 3,200 kg to 2,000 kg, exactly the discarded 1200 kg.
- Stage 2 ignites at separation; total burnout occurs around 152 s, and the highest point at 307 s.
Explanation
Section titled “Explanation”Why discard structure?
Section titled “Why discard structure?”Ignoring gravity and drag, the rocket equation gives
A single stage has mass ratio 5000/2000 = 2.5. Discarding structure before the second burn lets the same propellant accelerate a much lighter vehicle. Peak speed rises from roughly 780 m/s to 1420 m/s, greatly increasing altitude.
First-stage burn and separation
Section titled “First-stage burn and separation”Stage 1 uses maximum thrust for about 22 s, then throttles to limit drag, consuming its 1800 kg around 64 s. It coasts for a few seconds before separation. With no thrust during that interval, carrying the empty structure has little effect on the modeled motion; the separation time effectively chooses when stage 2 ignites.
Fixing the stage-specific propellant budgets matters. Otherwise the optimizer favors early separation and unrealistically assigns more propellant to stage 2 than its tank can hold.
Second-stage thrust
Section titled “Second-stage thrust”The second stage again shows maximum, intermediate, and zero thrust. Its maximum-thrust interval is short because it starts with speed and a lighter vehicle. Oscillation near burnout remains a limitation of representing each stage’s entire control with one polynomial.
Try it
Section titled “Try it”- Remove
result.equal(m2[0], obj.M0_2nd)and widen the mass bounds toset_states_bounds(2, 0, obj.Mdry_1st + obj.Mdry_2nd, obj.M0)andset_states_bounds(2, 1, obj.Mdry_2nd, obj.M0 - obj.Mdry_1st). Separation moves to the 10 s lower bound and altitude may reach about 261 km, but stage 2 starts near 3530 kg, exceeding its 2000 kg capacity. - Lower
Mcfrom 0.4 to 0.3. Lighter structure can increase altitude to roughly 476 km.
uv run python examples/11_rocket_ascent_two_stage.py