# 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.**