Skip to main content

Hybrid rocket conceptual-design and simulation platform: propulsion, aerodynamics, trajectory, structures, validation, CAD export, and a PyQt6 GUI.

Project description

Eagle Rock

Eagle Rock — Professional Aerospace Engineering Platform

Hybrid rocket design • Simulation • CAD • Manufacturing • Validation • AI Copilot

Apache-2.0 Python 3.10+ CI: Test CI: Lint Tests Release Documentation DOI


Eagle Rock is a modular, open-source, deterministic aerospace engineering platform for conceptual and preliminary design of hybrid sounding rockets. It covers the full engineering lifecycle: mission definition → vehicle design → propulsion → aerodynamics → stability → structures → mass budget → trajectory performance → recovery → avionics → ground systems → test stand → Monte Carlo → optimization → validation → reports.

Built as a modern successor to UKZN ASRI's HYROPS (Chowdhury 2012) and PyROPS (Slabber et al. 2024), Eagle Rock adds a full GUI, manufacturing support, CAD export, and AI-assisted design review — all while keeping engineering calculations fully deterministic and transparent.


Features

Domain Capabilities
Propulsion Hybrid motor design (N₂O/paraffin, N₂O/HTPB, LOX). Regression rate models (Marxman, Karabeyoglu). Equilibrium & frozen-flow thermochemistry. Blowdown & pressure-fed feed systems.
Aerodynamics Barrowman CP/CNα. ISA atmosphere (0–86 km). Drag buildup (body, fins, interference). Compressibility corrections.
Trajectory 3-DOF (point mass) & 6-DOF (rigid body) simulators. Variable-mass. Spherical Earth. Wind profiles. Thrust misalignment.
Structures Mass budget with CG tracking. Cylindrical, spherical, and composite tank mass. Structural safety factors.
CAD Parametric SVG, DXF, STEP export of airframe, fins, bulkheads, motor case, tank.
Manufacturing BOM generation, part numbering, fastener schedules, engineering spec sheets.
Validation Workspace comparing simulation against published Phoenix flight data. Cases with known motor parameters are simulated like-for-like; others are flagged NO_DATA. Error metrics and PASS/REVIEW status.
Design Reviews SRR → PDR → CDR → FRR with auto-populated findings from current design state.
RVM Requirements Verification Matrix — auto-check design against mission requirements.
Monte Carlo Statistical dispersion analysis with configurable input distributions.
Optimization Single- and multi-objective (NSGA-II) with configurable constraints.
AI Copilot Optional LLM interface (OpenAI / Anthropic / Gemini) for design guidance — never modifies project data without confirmation.
Plugin System Hook-based plugin framework with discovery, validation, and dependency resolution.
Learning Center Curated beginner → intermediate → advanced learning paths with interactive tutorials.
Collaboration Review comments, change requests, approvals, design history.
Engineering Database 9+ structural materials, component properties, design limits.

Architecture

eagle-rock/                 # git repository (GitHub: zylvex-tech/eagle-rock)
├── pyproject.toml          # packaging / build config
├── eagle_rock/             # importable Python package
│   ├── core/               # Engineering engine (deterministic, no-GUI dependencies)
│   │   ├── propulsion/     #   Hybrid motor, thermochemistry, feed systems
│   │   ├── aerodynamics/   #   Barrowman, drag, atmosphere
│   │   ├── trajectory/     #   3-DOF & 6-DOF integrators
│   │   ├── structures/     #   Mass budget, tank mass, composites
│   │   ├── vehicle.py      #   Vehicle assembly
│   │   ├── project.py      #   Central data model with dependency tracking
│   │   ├── validation/     #   Flight data, comparison, dashboard
│   │   ├── database/       #   Material and component database
│   │   ├── simulation/     #   Background job runner
│   │   ├── monte_carlo/    #   Statistical dispersion
│   │   ├── optimization/   #   Single & multi-objective
│   │   ├── collaboration/  #   Review, comments, approvals
│   │   ├── plugins/        #   Plugin framework
│   │   ├── reports/        #   Design reviews, spec sheets, RVM
│   │   ├── cad/            #   Parametric export (SVG/DXF/STEP)
│   │   ├── manufacturing/  #   BOM, part numbers, fastener schedule
│   │   ├── learning/       #   Learning center content
│   │   └── ai/             #   AI Copilot abstraction
│   ├── gui/                # PyQt6 application
│   │   ├── main_window.py  #   7 workspaces, 28 tabs
│   │   ├── tabs/           #   Individual tab panels
│   │   └── widgets/        #   Reusable widgets
│   ├── examples/           # Example scripts
│   └── tests/              # Unit & integration tests
├── docs/                   # Documentation
├── tutorials/              # Interactive tutorials (in progress)
├── benchmarks/             # Performance benchmarks (planned)
├── scripts/                # Utility scripts (planned)
├── assets/                # Images, icons, screenshots
└── .github/                # CI workflows, templates

Workspaces (7)

Workspace Tabs
Design Mission → Propulsion → Aerodynamics → Stability → Structures → Mass Budget
Analysis Trajectory → Recovery → Avionics → Ground Systems → Test Stand
Engineering Performance → Monte Carlo → Optimization → Reports
Operations Validation → RVM → Design Reviews → Spec Sheets
Learning Learning Center → Tutorials → Engineering Database
Project Collaboration → Export → Manufacturing → CAD
Admin Settings → Plugin Manager → AI Copilot

Quick Start

Prerequisites

  • Python 3.10+
  • pip

Install (editable, recommended for development)

pip install -e .

Or install from a built wheel:

pip install eagle_rock-5.0.0rc1-py3-none-any.whl

Optional high-fidelity chemistry:

pip install cantera

Run the GUI

After installation, launch from the command line:

eagle-rock

Or run the module directly:

python -m eagle_rock.gui.main_window

Run the example script

python -m eagle_rock.examples.eagle_rock_demo

Output shows motor performance, 3-DOF/6-DOF trajectory results, and validation comparison against published Phoenix-1B flight data.

Run tests

pip install -e ".[dev]"
python -m pytest
# 23+ tests, all passing

Documentation

Guide Description
Software Manual Installation, configuration, and workflow guide
Design Handbook Hybrid rocket design theory and practice
User Guide Workspace-by-workspace walkthrough
Developer Guide Architecture, plugins, SDK, contribution
API Reference Full module API documentation
Theory Manual Governing equations, numerical methods
Validation Handbook Validation cases, assumptions, limitations
Architecture Overview System design, data flow, dependency graph
Manufacturing Guide BOM, part numbering, assembly instructions
Tutorials Step-by-step design examples

Example Workflow

from eagle_rock.core.propulsion.hybrid_motor import HybridMotor, FeedSystem
from eagle_rock.core.structures.structures import MassBudget
from eagle_rock.core.vehicle import Vehicle
from eagle_rock.core.trajectory.integrators import simulate_3dof

# 1. Design motor
feed = FeedSystem("fixed_flow", mdot_ox=2.0)
motor = HybridMotor(oxidizer="N2O", fuel="PARAFFIN",
                    grain_length=0.6, port_radius=0.030,
                    throat_diameter=0.045, expansion_ratio=6.0, feed=feed,
                    initial_ox_mass=31.0)

# 2. Build mass budget
mb = MassBudget()
mb.add("Motor", 12.0, 2.4).add("Payload", 1.0, 0.9).add("Fins", 2.0, 4.0)

# 3. Assemble vehicle
geo = dict(length=4.2, diameter=0.164, Xn=0.9, Xb=4.0,
           Lf=0.45, Lr=0.30, Lt=0.18, Nf=4, Sf=0.045)
veh = Vehicle(motor, mb, geo)

# 4. Simulate
res = simulate_3dof(veh, rail_length=5.0, launch_lat=-34.0)
print(f"Apogee: {res['apogee']/1000:.2f} km")

See the full example at examples/eagle_rock_demo.py.


Screenshots

(Screenshots to be added — the GUI is fully functional. See the User Guide for detailed walkthroughs with screen captures.)

Workspace Preview
Design Workspace Mission → Propulsion → Aerodynamics → Stability → Structures → Mass Budget
Engineering Workspace Performance plots, Monte Carlo histograms, optimization Pareto fronts
Operations Workspace Validation comparison, RVM status, design review findings
CAD Workspace SVG/DXF/STEP parametric export preview
Learning Center Curated learning paths with progress tracking

Validation Philosophy

Eagle Rock separates deterministic engineering calculations from AI-assisted guidance.

  • Engineering modules are purely deterministic — same inputs always produce the same outputs. No ML models are embedded in the physics pipeline.
  • Validation compares simulation output against published flight data with explicit error metrics. Results are marked PASS / REVIEW / FAIL based on configurable thresholds.
  • AI Copilot is advisory only. It reads the current Project state and offers suggestions, but never modifies project data without explicit user confirmation.
  • Limitations are documented alongside each validation case. Users must understand the domain of applicability before relying on results for flight hardware.

Roadmap

Release Focus
v5.0.0-rc1 (current) Core physics, 28-tab GUI, validation dashboard, AI Copilot, plugin framework, CAD export, manufacturing BOM
v5.0.0-rc2 Expanded validation (multiple reference cases), full documentation, performance benchmarks, CI/CD, packaging
v5.0.0 stable Production-ready for education, research, and conceptual design
v5.1 CFD improvements, additional propulsion models, more AI workflows, expanded CAD
v6.0 Multi-user collaboration, plugin marketplace, certification paths

See ROADMAP.md and CHANGELOG.md for details.


Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

This project adheres to a Code of Conduct. By participating, you are expected to uphold this code.

Areas we need help with

  • Adding validation cases from published flight data
  • Writing documentation and tutorials
  • Performance optimization of simulation kernels
  • Testing on non-Windows platforms
  • GUI usability improvements
  • Plugin development

Security

See SECURITY.md for our security policy.

Eagle Rock is an engineering analysis tool. It does not:

  • Collect personal data
  • Make network requests without explicit user action
  • Execute untrusted code

License

Copyright 2026 Eagle Rock Project

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


Citation

If you use Eagle Rock in your research, please cite:

@software{eagle_rock_2026,
  title = {Eagle Rock: Professional Aerospace Engineering Platform},
  version = {5.0.0-rc1},
  url = {https://github.com/zylvex-tech/eagle-rock}
}

See CITATION.cff for machine-readable citation metadata.


Acknowledgements

Eagle Rock builds on decades of hybrid rocket research. In particular:

  • HYROPS (Chowdhury, 2012) — UKZN ASRI's original hybrid rocket optimization and simulation tool
  • PyROPS (Slabber, 2024) — Python port of HYROPS
  • Phoenix Program (UKZN ASRI) — Flight data used for validation
  • Marxman & Gilbert (1963) — Turbulent boundary-layer regression model
  • Karabeyoglu et al. (2001) — Liquefying fuel regression model
  • Barrowman (1967) — Aerodynamic stability method

Made for the hybrid rocket community.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eagle_rock-5.0.0rc8-py3-none-any.whl (157.6 kB view details)

Uploaded Python 3

File details

Details for the file eagle_rock-5.0.0rc8-py3-none-any.whl.

File metadata

  • Download URL: eagle_rock-5.0.0rc8-py3-none-any.whl
  • Upload date:
  • Size: 157.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for eagle_rock-5.0.0rc8-py3-none-any.whl
Algorithm Hash digest
SHA256 60b6717c5a351d6a5ce20f2392cf53682a68d78dfd026b5cc9ad46bc4423c850
MD5 33aa998833fc0b73e3352dd6b5c9b424
BLAKE2b-256 5219d32d31290055f400a0d00bf2c8b8566f884e2b716dc4a66279f4f521ea1b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page