Files
rocketry/README.md
2026-03-04 20:29:19 +00:00

123 lines
4.0 KiB
Markdown

# RocketTools — Rocketry Equation Solver & Design Suite
A modern web-based rocket engine and vehicle design calculator built with **React + Vite**, featuring constraint-based equation solving, 3D modeling, and trajectory simulation.
## Features
### 🧮 Solver
- **Constraint propagation solver** for rocket equations
- Drag-and-drop variable palette with live computation
- Automatically solves for unknowns given constraints
- Covers thrust, Isp, chamber conditions, nozzle geometry, performance metrics
### 🔥 Engine Design
- **Chamber & nozzle calculations** (pressure, temperature, area ratios)
- **Ablative material erosion** with pressure-dependent rates
- **Structural sizing** (hoop stress, wall thickness, mass budget)
- **Injector & coolant design** options
- Export/import engine specs as JSON
### 🚀 Rocket Design
- **Vehicle geometry** with configurable tank layouts (tandem, coaxial)
- **Tank structural analysis** (domes, ullage, pressure-fed/pump-fed)
- **Nose cone profiles** (conical, tangent ogive, Von Kármán)
- **Mass budget** integration (payload, structure, engines, pressurant)
- **3D visualization** with interactive model
### 📈 Trajectory Simulation
- **RK4 integrator** for realistic flight paths
- **Atmospheric model** (US Standard piecewise)
- **Drag & gravity** effects
- **Pitch program** (vertical hold → gravity turn)
- **Event detection** (liftoff, MECO, Max Q, apogee, landing)
- **Playback controls** with timeline scrubber
### 📚 Knowledgebase
- **Fuels & oxidizers** library with propellant properties
- **Ablative materials** with pressure exponents
- **Structural materials** with yield strengths
- **Equation reference** with derivations
## Quick Start
### Installation
```bash
npm install
```
### Development
```bash
npm run dev
```
Opens at `http://localhost:5173`
### Build
```bash
npm run build
```
## Technology Stack
- **Framework**: React 19 + React Router
- **Build**: Vite 7.3
- **Styling**: Tailwind CSS v4
- **3D Graphics**: Three.js + @react-three/fiber
- **UI**: @dnd-kit (drag-and-drop), @react-three/drei
## Core Architecture
See [ARCHITECTURE.md](docs/ARCHITECTURE.md) for detailed:
- Module organization
- Data flow patterns
- Solver algorithm
- 3D rendering pipeline
## Feature Documentation
Comprehensive guides for each module:
- **[Solver Guide](docs/SOLVER.md)** — Constraint propagation system, equation definitions
- **[Engine Design](docs/ENGINE_DESIGN.md)** — Combustion, ablation, structural analysis
- **[Rocket Design](docs/ROCKET_DESIGN.md)** — Tank geometry, mass budget, 3D modeling
- **[Trajectory Simulation](docs/TRAJECTORY.md)** — RK4 integration, atmosphere, events
- **[Knowledgebase](docs/KNOWLEDGEBASE.md)** — Fuels, materials, reference equations
## Project Structure
```
src/
├── pages/ # Route pages
├── components/ # React components
├── hooks/ # Custom React hooks (state management)
├── engine/ # Core calculations & algorithms
│ ├── variables.js # Variable definitions
│ ├── equations.js # Equation library
│ ├── solver.js # Constraint solver
│ ├── engineDesignCalcs.js # Engine calculations
│ ├── rocketDesignCalcs.js # Vehicle calculations
│ ├── trajectoryCalcs.js # Trajectory simulation
│ └── knowledgebaseData.js # Material databases
└── App.jsx # Router configuration
```
## Development Tips
### Adding an Equation
1. Define variables in `src/engine/variables.js`
2. Add equation + solver in `src/engine/equations.js`
3. Automatically appears in solver palette
### Modifying Materials
- Edit `src/engine/knowledgebaseData.js`
- Changes auto-reflect via hot reload
### Extending 3D Models
- Rocket: `src/components/rocket/RocketModel3D.jsx`
- Trajectory: `src/components/trajectory/TrajectoryPlot.jsx`
## License
Open-source. See LICENSE for details.
**Built with ❤️ for rocketry engineers and enthusiasts.**