Important distinction: - Jet fuel powers air-breathing engines (they use oxygen from air) - Rocket propellants = Fuel + Oxidizer (rockets carry their own oxygen!)
A rocket must carry BOTH: - Fuel: The stuff that burns (hydrogen, methane, kerosene) - Oxidizer: The stuff it burns with (usually liquid oxygen, LOX)
This is why rockets are so heavy - theyβre carrying their own atmosphere!
Every rocket engine is basically a controlled explosion. The fuel and oxidizer must mix in the perfect ratio for maximum energy.
Example: Hydrogen Combustion
\[2H_2 + O_2 \rightarrow 2H_2O + \text{Energy}\]
Fuel Rich (too much Hβ): Some hydrogen doesnβt burn. Wasted fuel, lower temperature.
Fuel Lean (too much Oβ): Burns TOO hot. Excess oxygen attacks metal β engine melts!
Perfect Balance: Maximum energy release, clean water vapor exhaust.
Why Real Engines Run Slightly Fuel-Rich
Engineers actually run engines a bit fuel-rich on purpose! The extra fuel: 1. Keeps temperatures manageable 2. Creates a protective gas layer on engine walls 3. Is less corrosive than excess oxygen
Code
# Compare all propellantsprint("π PROPELLANT COMPARISON")print("="*75)print(f"{'Propellant':<25}{'Isp (vac)':>10}{'Density':>10}{'Used By':<25}")print("-"*75)for name, data in PROPELLANTS.items(): short_name = name.split(" (")[0] if"("in name else nameprint(f"{short_name:<25}{data['isp_vac']:>8} s {data['density']:>8.2f}{data['used_by']:<25}")print("-"*75)print("\nπ‘ KEY INSIGHT: Higher Isp = more efficient, but often means lower density!")print(" Hydrogen is 10x more efficient than kerosene... but needs 10x larger tanks.")
π PROPELLANT COMPARISON
===========================================================================
Propellant Isp (vac) Density Used By
---------------------------------------------------------------------------
Hydrolox 450 s 0.07 Space Shuttle, SLS, Delta IV
Methalox 380 s 0.42 Starship, New Glenn, Vulcan
RP-1/LOX 350 s 0.81 Falcon 9, Saturn V, Atlas V
Solid 280 s 1.80 Space Shuttle SRBs, Ariane boosters
---------------------------------------------------------------------------
π‘ KEY INSIGHT: Higher Isp = more efficient, but often means lower density!
Hydrogen is 10x more efficient than kerosene... but needs 10x larger tanks.
3. The Density Problem: Why Tank Size Matters
Look at this visualization - for the same MASS of propellant, hydrogen needs MUCH bigger tanks!
Code
# Visualize the trade-offfig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 5))names = [p.split(" (")[0] for p in PROPELLANTS.keys()]isp_values = [p["isp_vac"] for p in PROPELLANTS.values()]density_values = [p["density"] for p in PROPELLANTS.values()]colors = ['#1f77b4', '#9467bd', '#d62728', '#ff7f0e']# Efficiency chartax1.barh(names, isp_values, color=colors)ax1.set_xlabel('Specific Impulse (seconds)', fontsize=11)ax1.set_title('π― Efficiency: Higher is Better', color='#00d4ff')ax1.axvline(x=350, color='white', linestyle='--', alpha=0.3, label='LEO baseline')# Density chart ax2.barh(names, density_values, color=colors)ax2.set_xlabel('Density (g/cmΒ³)', fontsize=11)ax2.set_title('π¦ Density: Higher = Smaller Tanks', color='#00d4ff')plt.tight_layout()plt.show()print("\nπ€ THE GOLDILOCKS PROBLEM:")print(" β’ Hydrogen: BEST efficiency... but tanks are HUGE (Space Shuttle's orange tank)")print(" β’ Kerosene: Dense and powerful... but lower efficiency, leaves soot")print(" β’ Methane: Just right! Good efficiency AND reasonable tank size")print("\n This is why SpaceX chose methane for Starship!")
π€ THE GOLDILOCKS PROBLEM:
β’ Hydrogen: BEST efficiency... but tanks are HUGE (Space Shuttle's orange tank)
β’ Kerosene: Dense and powerful... but lower efficiency, leaves soot
β’ Methane: Just right! Good efficiency AND reasonable tank size
This is why SpaceX chose methane for Starship!
4. Can Your Rocket Reach Orbit?
Letβs use the Tsiolkovsky Rocket Equation to find out!
\[\Delta v = I_{sp} \cdot g_0 \cdot \ln\left(\frac{m_{initial}}{m_{final}}\right)\]
Mission Requirements: | Destination | Delta-V Needed | |ββββ-|βββββ-| | Suborbital | ~2,000 m/s | | LEO | ~9,400 m/s | | Moon | ~12,500 m/s | | Mars | ~16,000 m/s |
Code
def calculate_delta_v(propellant_name, dry_mass_kg, fuel_mass_kg):"""Calculate delta-v using the Tsiolkovsky Rocket Equation.""" isp = PROPELLANTS[propellant_name]["isp_vac"] total_mass = dry_mass_kg + fuel_mass_kg mass_ratio = total_mass / dry_mass_kg delta_v = isp * G0 * math.log(mass_ratio)return delta_v# Test with a medium rocketdry_mass =10000# 10 tons (rocket structure + payload)fuel_mass =90000# 90 tons of propellantprint("π ROCKET MISSION ANALYSIS")print(f"Dry Mass: {dry_mass:,} kg | Fuel Mass: {fuel_mass:,} kg")print(f"Fuel Fraction: {fuel_mass/(dry_mass+fuel_mass)*100:.1f}%")print("="*60)for name in PROPELLANTS.keys(): dv = calculate_delta_v(name, dry_mass, fuel_mass) short_name = name.split(" (")[0]# Determine what mission is possibleif dv >=16000: mission ="β MARS!"elif dv >=12500: mission ="π Moon"elif dv >=9400: mission ="π°οΈ LEO"elif dv >=2000: mission ="π Suborbital"else: mission ="β Grounded"print(f"{short_name:<20} β {dv:>8,.0f} m/s {mission}")
π ROCKET MISSION ANALYSIS
Dry Mass: 10,000 kg | Fuel Mass: 90,000 kg
Fuel Fraction: 90.0%
============================================================
Hydrolox β 10,161 m/s π°οΈ LEO
Methalox β 8,581 m/s π Suborbital
RP-1/LOX β 7,903 m/s π Suborbital
Solid β 6,323 m/s π Suborbital
π Key Takeaways
Rockets carry their own oxygen - Unlike jets, they work in the vacuum of space
Isp = Efficiency - Higher specific impulse means more delta-v per kg of fuel
Density matters - Hydrogen is efficient but needs huge tanks
Methane is the future - Best balance of efficiency, density, and reusability
The rocket equation is cruel - Doubling fuel doesnβt double speed (logarithm!)
π Try the Interactive App!
For a full interactive experience with sliders and visualizations:
cd ../Projects/Propellant_Explorerpip install streamlit plotly pandasstreamlit run app.py
βThe rocket worked perfectly, except for landing on the wrong planet.β β Wernher von Braun (on early rocket failures)