123 lines
4.0 KiB
Markdown
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.**
|