12. Single-stage orbital insertion in polar coordinates
Reaching orbit requires more than altitude: a vehicle also needs enough horizontal speed to keep falling around Earth. How should thrust turn from upward to horizontal to deliver the greatest mass to orbit?
| Item | Definition |
|---|---|
| States | Radius , angle , radial and tangential velocities , mass |
| Controls | Radial and tangential thrust |
| Objective | Maximize final mass |
| Phases | One phase, 30 nodes, free final time |
| New concepts | Polar dynamics, two thrust components, multiple path constraints |
Situation
Section titled “Situation”A 100 t rocket starts at rest and must enter a 400 km circular orbit. At arrival it needs the target altitude, zero radial velocity, and circular speed about 7.67 km/s. The dry vehicle is 1 t and propellant accounts for 99% of initial mass. Maximizing final mass measures how much propellant can remain. Earth rotation is neglected. Thrust and the acceleration felt by the vehicle are limited.
Formulation
Section titled “Formulation”Coordinates
Section titled “Coordinates”- is distance from Earth’s center; altitude is .
- is angular distance from the launch site; downrange distance is .
- is outward radial (vertical) velocity; is tangential (local horizontal) velocity.
- are thrust components. Magnitude is and elevation is in this nonnegative quadrant.
Components avoid introducing a steering angle that becomes undefined at zero thrust and adds trigonometric nonlinearities.
Dynamics
Section titled “Dynamics”The centrifugal term balances gravity on a circular orbit. The term expresses conservation of angular momentum: without tangential force, stays constant as radius changes.
Drag opposes velocity. The same gravitational parameter is used for the dynamics and target circular speed.
Boundary conditions
Section titled “Boundary conditions”Target speed is about 7672.6 m/s. Final angle and time are free.
Constraints
Section titled “Constraints”Thrust cannot point downward or backward. Its magnitude is limited to 1.5 times initial weight, about 1471 kN. The 8 G limit is non-gravitational acceleration, as measured by an accelerometer. All constraints apply at nodes.
Objective and parameters
Section titled “Objective and parameters”| Parameter | Value |
|---|---|
| 6371 km | |
| 9.80665 m/s² | |
| m³/s² | |
| Initial / dry mass | 100 t / 1 t |
| 0.6, 4 m² | |
| 300 s | |
| Thrust-to-weight ratio | 1.5 |
| Acceleration limit | 8 G |
Scale radius by , speed by , and mass by initial mass (scaling).
Initial guess
Section titled “Initial guess”Use time 0 to 200 s. Radius rises cubically to the target, angle rises cubically to 25°, radial velocity is zero, and tangential velocity grows linearly to target speed. Mass decreases cubically from 100 t to 1 t. Both thrust components decrease cubically from to zero.
Results
Section titled “Results”Final altitude is 400.0 km (target 400.0 km), and speed is 7,672.6 m/s (target 7,672.6 m/s).


- The first burn ends around 263 s.
- After coasting upward, a second burn from about 886 to 901 s circularizes the orbit.
- Final mass is 4,370 kg, about 4% of initial mass: 1 t of structure plus remaining propellant.
- Insertion occurs 5,105 km downrange.
- Maximum node acceleration is 8.00 G, below the inactive 8 G limit.
Explanation
Section titled “Explanation”Rise, then turn
Section titled “Rise, then turn”Thrust starts nearly upward, around 80°, then turns toward horizontal. Early climbing escapes dense air and drag. Turning too late wastes propellant against gravity. The optimum balances these effects, resembling a gravity turn.
Burn, coast, and circularize
Section titled “Burn, coast, and circularize”The first burn creates a trajectory with apogee near 400 km. Coasting raises altitude without consuming propellant. A final horizontal burn at apogee creates the circular orbit, similar to a Hohmann transfer. Tangential speed decreases during the outward coast because angular momentum is conserved.
Interpreting the plots
Section titled “Interpreting the plots”Constraints hold at nodes; interpolating curves may exceed limits between them. A single polynomial spans both engine switches, so fine details depend on the node count (multiple phases, checking results).
Try it
Section titled “Try it”- Change the 30 nodes or the 200 s time guess and compare convergence and final mass.
- Lower
MaxGfrom 8 to 4 and inspect throttling when the acceleration constraint becomes active. - Change
Htargetto 300 or 600 km and compare coast duration and final mass.
uv run python examples/12_rocket_ascent_polar_ssto.py