Skip to content

cmflannery/rocket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rocket

Python package

Tools for rocket vehicle design and analysis.

Installation

Requires a Fortran compiler for RocketCEA (NASA CEA thermochemistry).

# macOS
brew install gcc

# Linux (Debian/Ubuntu)
sudo apt-get install gfortran

# Then install
pip install rocket

Quick Start

from rocket import EngineInputs, design_engine, plot_engine_dashboard
from rocket.units import kilonewtons, megapascals

# Design from propellant selection (thermochemistry auto-calculated)
inputs = EngineInputs.from_propellants(
    oxidizer="LOX",
    fuel="RP1",
    thrust=kilonewtons(100),
    chamber_pressure=megapascals(7),
    mixture_ratio=2.7,
)

# Compute performance and geometry
performance, geometry = design_engine(inputs)

print(f"Isp (sea level): {performance.isp}")
print(f"Isp (vacuum): {performance.isp_vac}")
print(f"Throat diameter: {geometry.throat_diameter}")

# Visualize
plot_engine_dashboard(inputs, performance, geometry)

Features

  • Type-safe: Runtime type checking with beartype
  • Units handling: Built-in Quantity class prevents unit errors
  • Fast: Numba-accelerated isentropic flow calculations
  • NASA CEA: Accurate thermochemistry via RocketCEA
  • Visualization: Engine cross-sections, performance curves, dashboards
  • Nozzle contours: Rao bell and conical nozzle generation with CSV export

Modules

  • rocket.engine - Engine design and performance analysis
  • rocket.nozzle - Nozzle contour generation
  • rocket.units - Physical quantity handling with units
  • rocket.plotting - Visualization tools
  • rocket.propellants - NASA CEA thermochemistry integration
  • rocket.tanks - Propellant and tank sizing (coming soon)

References

  1. GATech: Bell Nozzles
  2. Design of Liquid Propellant Rocket Engines
  3. Liquid Propellant Rocket Combustion Instability, NASA SP-194

About

openrocketengine is an opensource program used to iterate liquid engine design

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages