Rocket propulsion
simulation, built right.
RISE is a clean-architecture Python project for modelling rocket engine performance — from isentropic nozzle flow to transient burn simulations. This repository contains the source, configs and test-suite used to develop the project.
What it does
Thermochemistry
Integrates NASA CEA via RocketCEA when available; the code also supports manual inputs for quick tests.
Nozzle geometry
Computes throat and exit geometry and generates nozzle contours for plotting.
Parametric sweeps
Sweep config parameters (mixture ratio, pressure, expansion ratio) across ranges for batch runs.
Transient simulation
Time-stepping burn simulations producing chamber pressure and thrust histories.
Plotting
Produces HTML plots (see `output/` and `output_demo/`) using Plotly and Kaleido.
Programmatic API
Modular service layer in src/rise — run the CLI or import the core modules in scripts.
Quick start
pip install rise
# Or install from source (editable)
pip install -e .
# Run a bundled example config
rise --config configs/engines/pressure_fed_test.yaml
# View generated plots
open output/chamber_pressure.html
Repository
Source
Code lives under src/rise/ using a clean architecture split into application, domain, infrastructure and interfaces.
Configs & Examples
Example configs are in configs/engines/. Try pressure_fed_test.yaml.
Tests
Unit tests are available in tests/. Run with pytest -q.