# Ideal exhaust tradeoff

Teaching study integrated into the propulsion chapter. Run `python generate.py` with NumPy and Matplotlib. Fixed assigned thrust1N;163speed samples including1,000and10,000m/s; assignedη0.60is a separate illustrative parameter, not measured efficiency.

At1,000m/s:1g/s,500Wdirected jet kinetic power,833.33Willustrative input. At10,000m/s:0.1g/s,5,000Wjet power,8,333.33Willustrative input. Tenfold speed uses one-tenth propellant and tenfold jet power at fixed thrust. Neither case is a complete engine or mission.

## Figure caption

**Figure.** Ideal pressure-matched carried-propellant exhaust at assigned thrust1N. A:propellant consumption. B:directed jet kinetic power and a separate illustrative input power at assignedconversionη0.60. Speed is relative to the vehicle in its instantaneous frame.163deterministic analytic samples100–50,000m/s; dots mark1,000and10,000m/s. No engine measurements or sampling confidence intervals. Thermal energy, pressure thrust, plume divergence, source/system mass and mission dynamics excluded. This is not an atmospheric ionic-wind or hover calculation.

Model guards define a teaching range0–1000Nand100–50,000m/s. Efficiency optional; absent returnsnullinputpower ratherthan assuming100percent. All zero-thrustoutputs zero. The1Nfigure uses only oneassignedthrust; broadguardrangeisnot validated hardwarecapability.

References freshly checked28September2026: [NASA thrust equation](https://www1.grc.nasa.gov/beginners-guide-to-aeronautics/thrust-force/) and [NASA ion propulsion facts](https://www.nasa.gov/wp-content/uploads/2015/08/ionpropfact_sheet_ps-01628.pdf). The first supplies momentum/pressure accounting; the second establishes conventional ion-propulsion context. Neither validates assignedvalues or any source-proposed engine.

Mobile variant: `exhaust-tradeoff-mobile.svg` and native320px PNG stack both panels. Minimum16pt text in288pt-wide SVG gives17.78CSSpx at320CSSpx displayed width. CSV hash unchanged; visual inspection passed. Use actual image width, not viewport width, when assessing scaling. See mobile-validation.json.
