Contents

Course 02 · Foundations

Thrust, mass flow and specific impulse

Where thrust actually comes from, what specific impulse measures, and why a vacuum nozzle is shaped differently.

The rocket equation asks the engine for one number, its exhaust velocity. This course is about where that number comes from, and about the other thing an engine decides.

The two are easy to confuse. Thrust is how hard the engine pushes. It decides whether the rocket can leave the pad, how quickly it climbs out of gravity's way and whether a landing stage can stop in time. Specific impulse is how much push each kilogram of propellant buys. It decides the Δv. An engine can be strong and wasteful or weak and frugal, and a launch vehicle needs the right amount of each in the right place.

Along the way we meet the strangest unit in engineering — the second, used as a measure of efficiency — and the reason an upper stage's engine ends in a bell the size of a car.

Two pictures of the same push

The first picture is the one from course 01. The engine throws mass backwards and the rocket recoils. A garden hose kicks back in your hand for the same reason, and a fire hose hard enough to need two people.

The second picture is pressure. Inside the combustion chamber, hot gas at enormous pressure pushes on every surface around it: the walls, the injector plate at the front, the inside of the nozzle. Most of those pushes cancel — the left wall is pushed left, the right wall right. But the chamber has a hole at the back and none at the front. The push on the front has nothing opposite to balance it, and that unbalanced push is the thrust.

These are not two forces. They are two ways of adding up the same one — the first by watching the gas, the second by watching the metal.

Momentum thrust

Newton wrote his second law as: force is the rate at which momentum changes. Every second the engine takes kilograms of propellant — the dot means "per second", and is the mass flow rate — and sends it out of the nozzle at speed relative to the rocket. The momentum given to the exhaust each second is , and the rocket receives the same amount in the opposite direction:

That is the momentum thrust. It is the brick-throwing bookkeeping of course 01, done per second instead of per brick.

Pressure thrust

The momentum picture leaves one thing out. The exhaust does not leave the nozzle at zero pressure. At the exit it still has some pressure , and the air outside has its own, the ambient pressure : about 101 kPa at sea level, falling to almost nothing by 50 km.

Two corrections follow. The exhaust crossing the exit plane is still pressing back on the gas behind it, and through that gas on the engine, with a force , where is the area of the nozzle exit. And the ambient air presses on the rocket's outside from every direction. Over a closed shape those presses would cancel exactly, but the rocket is not closed. At the back there is a hole of area where the air cannot press, because the exhaust is in the way. So the air's pushes no longer balance, and the air pushes the rocket backwards with a force . The full thrust is

with the mass flow, the speed of the gas at the exit, its pressure there, the ambient pressure and the exit area. It assumes steady flow leaving straight backwards and evenly across the exit, which a good nozzle comes close to.

The second term can be positive or negative. In vacuum it is always positive. At sea level it is often negative, because, as we shall see, a sea-level engine usually lets its exhaust expand to below the pressure of the air around it.

Effective exhaust velocity

Divide the thrust by the mass flow and you get a speed:

This is the effective exhaust velocity. It is the number the rocket equation really wants, because it is thrust per unit of propellant flow, pressure term and all. Course 01 called it and treated it as a fixed property of the engine. It is not quite fixed: its second term depends on the air outside, so the same engine has one effective exhaust velocity on the pad and another in space.

Specific impulse

Engine datasheets rarely quote . They quote specific impulse, , in seconds:

where m/s², exactly. The Merlin 1D in the simulator's catalogue is quoted at 282 s at sea level and 311 s in vacuum. Multiply by and those become effective exhaust velocities of 2,765 m/s and 3,050 m/s.

Specific impulse measures efficiency: how much thrust each kilogram per second of propellant produces. A higher value means more Δv from every kilogram, and the rocket equation can now be written

In the simulator's catalogue, from the worst sea-level figure to the best vacuum one, the kerosene engines run from 282 to 348 s, the methane engines from 310 to 380 s and the hydrogen engine from 361 to 452 s. Its cold-gas attitude thrusters manage 70.

The g₀ is a unit artefact

Why seconds? Nothing is being timed. The in specific impulse is not the gravity the rocket flies in. It is a fixed conversion factor, standard gravity, and it is there because of units.

In the old engineering units, thrust was measured in pounds of force and propellant flow in pounds of mass per second. Divide one by the other and you get seconds, with the pounds cancelling — but only because a pound of force is defined as the weight of a pound of mass under standard gravity. Dividing by in SI units gives the same number of seconds. So specific impulse in seconds reads the same in every system of units, and that convenience is the whole reason it survives.

The price is a gravity constant sitting in an equation that has nothing to do with gravity. An engine's specific impulse is the same on the Moon or on Mars, and the in the rocket equation above only turns seconds back into a speed. When you see a specific impulse, read it as the effective exhaust velocity divided by a fixed 9.806 65.

There is a physical reading if you want one. At 311 s, one kilogram of propellant would hold up one kilogram's weight, at standard gravity, for 311 seconds. It is a fair picture, but it is the same number by another route.

Sea level and vacuum

Now we can see why one engine has two numbers. The mass flow is set inside the engine, by its pumps, its chamber pressure and the size of the nozzle's narrowest point, the throat. The flow through the throat is moving at the speed of sound, so nothing outside can reach back through it to change the flow. The exit speed and exit pressure are set by the nozzle's shape, which does not change either. The only term that depends on where the rocket is, is . Write the thrust in vacuum, where , as

and the thrust anywhere else is

Thrust rises in a straight line as the air thins, at a mass flow that does not change, and specific impulse rises with it.

The simulator's Merlin 1D gives 845 kN at sea level. Because the mass flow is the same in both places, the two thrusts are in the ratio of the two specific impulses: kN. The mass flow is kg/s. And the difference between the two thrusts is the sea-level air pressure acting on the exit:

a circle 1.05 m across. Nine of these engines give Aster 7,605 kN on the pad against its weight of 5,251 kN, a thrust-to-weight ratio of 1.45. By 40 km, where the air pressure is 0.29 kPa, the same nine give 8,385 kN: ten per cent more push from exactly the same flow of propellant.

Throttling makes the pressure term bite harder. Throttling down lowers the chamber pressure and the mass flow together, which scales down, but the loss stays the same size. A Merlin at 40 per cent throttle on the pad gives kN — 34 per cent of its full sea-level thrust rather than 40 — and its specific impulse falls to 238.5 s. The pressure loss is a fixed toll, and the gentler the burn, the larger its share.

What the nozzle does

A nozzle turns the chamber's hot, slow, high-pressure gas into cold, fast, low-pressure gas, because fast gas is thrust. It works in two parts. The converging section squeezes the flow down to the throat, where it reaches the speed of sound. Beyond the throat something counter-intuitive happens: in a supersonic flow, widening the channel makes the gas go faster, while its pressure and temperature fall. The bell is a machine for trading pressure for speed.

The exit area divided by the throat area is the nozzle's expansion ratio, . The larger it is, the further the gas expands before it leaves: faster, colder, lower in pressure. A bigger bell always raises and always lowers . Whether that is a good trade depends on the air outside.

The argument needs nothing more than the thrust equation. Imagine making the bell a little longer, by a thin ring of wall that widens the exit by an area . The gas flowing past the new ring, at its local pressure , pushes on it from inside; the air outside pushes on it with . The ring adds thrust : a gain while the gas is above the ambient pressure, a loss once it has fallen below. So the best bell keeps growing as long as the gas inside is still above ambient, and stops exactly where the two are equal.

That is the heart of nozzle design: the best nozzle for a given altitude expands its exhaust to exactly the pressure of the air at that altitude. A nozzle that stops short, with above , is under-expanded, and its exhaust keeps expanding after it leaves, pushing on nothing. One that goes too far, with below , is over-expanded: the last stretch of bell is being pushed inwards by the air harder than the thin exhaust pushes it out.

In vacuum there is no air, so there is no point at which to stop. Every extra ring adds a little thrust, and the only limits are the bell's weight, its length and the room inside the rocket.

When the flow lets go

Over-expansion has a limit beyond which it is more than wasteful. When the pressure along the wall falls far enough below the ambient — roughly to a third of it, a rule of thumb known as the Summerfield criterion — the thin exhaust near the wall can no longer hold the air out of the end of the bell. The flow tears away from the wall inside the nozzle and the outside air flows in behind it. The line where it separates does not sit still or stay symmetric, so the bell is shaken by large sideways forces. A vacuum engine lit at sea level can destroy its own nozzle this way.

The figure is an ideal nozzle on a chamber at 9.7 MPa, the simulator's figure for the Merlin. Change the expansion ratio and the altitude, and watch both the curve and the plume.

Figure · matching the nozzle to the air

16
0.0 km
THROATCHAMBER00.40.81.21.622.4CFEXPANSION RATIO125102050100200SEPARATESBEST HERE 11
EXIT PRESSURE
65.7 kPa
AMBIENT PRESSURE
101.3 kPa
THRUST COEFFICIENT
1.630
OF THE BEST NOZZLE HERE
99.4 %
FLOW
over-expanded
An ideal nozzle on a 9.7 MPa chamber (the simulator’s Merlin 1D), exhaust with γ = 1.2. For one chamber and one throat the thrust coefficient CF is thrust on another scale. Dashed grey: the same nozzle in vacuum, where a longer bell always helps a little. Past the dotted line the exit pressure is below 0.3 of the ambient, the separation criterion Vivapse uses, and a real nozzle stops following the ideal curve (grey).

At an expansion ratio of 16 on the pad, the exhaust leaves at about 66 kPa, below the air's 101. The plume pinches in behind the bell: the nozzle is over-expanded. But only mildly — well clear of separation, and within one per cent of the best possible nozzle for sea level, which would have an expansion ratio of 11.5. Raise the altitude and by 10 km the same nozzle is under-expanded; the best bell for that height would have twice its exit area. A first stage cannot change its nozzles as it climbs, so it flies a compromise: slightly over-expanded at lift-off, increasingly under-expanded above, and good enough everywhere.

Now set the expansion ratio to 168. In vacuum it gives 10.4 per cent more thrust than the ratio of 16, from the same chamber and the same throat — most of the twelve per cent between the Merlin 1D's 311 s and the Merlin Vacuum's 348. At sea level its exhaust leaves at 3.3 kPa, a thirtieth of the ambient pressure, and the flow separates deep inside the bell.

Engines come in pairs

This is why engine families come in pairs. The simulator's numbers imply an expansion ratio of 16 for the Merlin 1D and about 168 for the Merlin Vacuum, the same engine ending in a bell 3.3 m across. The first is built to work across the whole climb from the pad. The second only ever lights above the thick air, so it can expand as far as its bell's weight and length allow.

Figure · the same engine, higher up

ENGINE FAMILY
0.0 km
2602803003203403600102030405060ISP SALTITUDE KMVACUUM NOZZLECANNOT FIREMerlin 1DMerlin Vacuum
AMBIENT PRESSURE
101.3 kPa
MERLIN 1D THRUST
845 kN
MERLIN 1D ISP
282.0 s
MERLIN VACUUM THRUST
cannot fire
MERLIN VACUUM ISP
F = Fvac − paAe at a fixed mass flow, through the US Standard Atmosphere. Solid: the sea-level engine. Dashed: its vacuum sibling, which cannot be lit in the shaded band — in air above 25 kPa its flow separates, and in Vivapse the engine is destroyed. Engine figures are the simulator’s catalogue; the vacuum nozzles’ exit areas come from their exit diameters.

The sea-level engine gains its ten per cent smoothly as it climbs, most of it in the first 20 km. The vacuum engine cannot be lit at all until the air thins below its separation limit — 25 kPa in the simulator, about 10 km up — and then it gains quickly, overtakes the sea-level engine at about 14 km and finishes 37 s ahead. The Raptor pair has the same shape at a different scale. Raptors run their chambers at 30 MPa, three times the Merlin's, and a higher chamber pressure lets even the sea-level engine carry a larger bell before its exhaust falls below the ambient: the simulator's figures imply an expansion ratio of about 37 for the Raptor 2, against the Merlin's 16.

In Vivapse

The simulator models its engines with exactly these relations. normalizeEngine() in src/sim/parts.ts takes a catalogue entry's thrust and its pair of specific impulses and derives the rest:

n.mdot = n.thrustVac / (n.ispVac * C.G0);
n.exitArea = (n.thrustVac - n.thrustSL) / C.P0;

and engineThrust() gives the thrust at any ambient pressure as thrustVac - p * exitArea. Every physics step the vehicle applies the same law engine by engine: the throttle scales the vacuum thrust and the mass flow, and the pressure loss stays whole. Your program reads the result. fc.isp is the thrust divided by mass flow and at the present pressure, and fc.maxThrust is what the lit engines would give at full throttle here, so both rise as the rocket climbs. The physics model describes it in full.

On a real launch site the simulator adds what the ideal picture leaves out. A vacuum engine's exit area comes from its real exit diameter, 8.6 m² for the Merlin Vacuum. Light a vacuum engine in air denser than its separation pressure — 25 kPa for the Merlin Vacuum, 30 kPa for the Raptor Vacuum, both at full throttle and lower when throttled back — and flow separation destroys it; fc.engineGroups tells your program whether each group canFire where it is. A sea-level engine throttled deep in thick air separates too, but survives, and the simulator computes the thrust it recovers using the Summerfield criterion with a constant of 0.3. Fidelity and its limits lists what changes between the classic range and a real site.

Try it

Load the Starter template from the Program panel's list and fly it on Aster. It lights the first stage and flies a gravity turn until the propellant runs out. Add a few lines that log the engine as it climbs: declare nextLog above update, and add the if block at the end of update, after the switch.

let nextLog = 0;

function update(fc) {
  // ... the starter's switch statement, unchanged ...

  if (fc.t >= nextLog) {
    fc.log((fc.altitude / 1000).toFixed(1), 'km',
           fc.isp.toFixed(1), 's',
           (fc.thrust / 1000).toFixed(0), 'kN');
    nextLog += 10;
  }
}

Open the Console in the Details sheet. The specific impulse starts at about 282 s on the pad, passes 300 s at about 8 km and reaches its vacuum figure of about 311 s by 40 km. The thrust climbs with it, from about 7,600 kN just after lift-off to about 8,400 kN. The propellant flow has not changed. Only the air has gone.

What carries forward

Specific impulse sets how much Δv each kilogram of propellant buys, and the rocket equation sets how many kilograms the Δv needs. Neither says what the tanks, engines and structure weigh, and those kilograms ride along to the end of every burn. The next course is about that dead mass, and about the oldest way of getting rid of it: building the rocket in stages.