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

395 lines
11 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Engine Design Guide
## Overview
The **Engine Design** tool calculates rocket engine performance, material erosion, and structural requirements. It integrates combustion thermodynamics, ablative material degradation, and hoop stress analysis into a unified interface.
## Main Sections
### Combustion Design
Configure chamber, nozzle, and propellant properties to predict thrust, Isp, and exit conditions.
### Ablative Erosion
Model chamber liner erosion based on pressure-dependent rates and propellant choice.
### Structural Sizing
Calculate wall thicknesses and component masses using hoop stress formula.
---
## Combustion Design
### Inputs
**Chamber:**
- `chamberPressure` (MPa) — combustion chamber pressure
- `nozzleDiameter` (mm) — nozzle throat diameter
- `expansionRatio` — nozzle exit / throat area ratio
- `divergenceAngle` (°) — nozzle divergence cone angle
**Propellant Selection:**
- `fuelType` — dropdown (RP1, Methane, Hydrogen, etc.)
- `oxidiserType` — dropdown (LOX, N2O4, etc.)
- **Note**: Propellant properties come from knowledgebase (T0, gamma, Mw, etc.)
**Design Options:**
- `injectorType` — impingement, shower-head, multi-element
- `coolingMethod` — none, regenerative (future)
- `nozzleShape` — conical (15-20°), bell curve (optional)
### Outputs (Computed)
**Performance:**
- `thrustVacuum` (kN) — vacuum thrust (accounting for exit pressure)
- `thrustSeaLevel` (kN) — sea level thrust (accounting for ambient pressure)
- `specificImpulseVacuum` (s) — Isp in vacuum
- `specificImpulseSeaLevel` (s) — Isp at sea level
- `characteristicVelocity` (m/s) — c* = P0·At / ṁ
**Combustion Conditions:**
- `chamberTemperature` (K) — adiabatic flame temperature
- `exitTemperature` (K) — nozzle exit temperature
- `machNumber` — exit Mach number (computed via bisection)
- `exitPressure` (MPa) — nozzle exit pressure
- `exitDensity` (kg/m³) — exhaust density at exit
**Nozzle Geometry:**
- `throatDiameter` (mm) — computed from chamber P, thrust, mass flow
- `exitDiameter` (mm) — exit diameter = throat × √(expansionRatio)
- `nozzleLength` (mm) — divergence section length
- `thrustCoefficient` — CF (thrust coefficient for flow)
**Flow Properties:**
- `massFlowRate` (kg/s) — propellant mass flow rate
- `exitVelocity` (m/s) — effective exhaust velocity
- `burnRate` (mm/s) — for propellant grain design
### Key Equations
**Thrust (from area and pressure):**
```
F = P0·At·CF + (Pe - P_ambient)·Ae
```
Where CF is thrust coefficient from isentropic relations.
**Specific Impulse:**
```
Isp = Ve / g0
Isp_sl = (Ve - (Pe - P_atm) / ṁ · Ae) / g0
```
**Exit Temperature (isentropic flow):**
```
Te = T0 · (Pe / P0)^((γ-1)/γ)
```
**Mass Flow Rate (from energy balance):**
```
ṁ = P0 · At / c*
c* = √(2·(γ+1)/(γ-1) · R·T0) for ideal nozzle
```
**Characteristic Velocity:**
```
c* = √(2·(γ+1)/(γ-1) · R·T0 · (2/(γ+1))^((γ+1)/(γ-1)))
```
---
## Ablative Erosion (v2)
### Material Properties
Each ablative material in the knowledgebase has:
- **Density** (kg/m³) — ablator material density
- **Base Erosion Rate** (inch/s) — reference erosion at standard pressure (typically 300 psi)
- **Pressure Exponent** (n) — power-law sensitivity to pressure
### Pressure-Corrected Erosion
The key innovation of v2 is **pressure-dependent erosion rates**:
```
erosion_rate(P) = base_rate · (P / P_ref)^n
```
Where:
- `base_rate` — from material database (inch/s @ 300 psi)
- `P` — chamber pressure (Pa)
- `P_ref` — reference pressure (300 psi = 2.068 MPa)
- `n` — pressure exponent (material-specific)
### Pressure Exponents by Material Class
**Composites:**
- PAXS (polyester/glass): n = 0.38
- KFSI (silica/phenolic): n = 0.35
- Carbon phenolic: n = 0.32
**Elastomers:**
- ZIRCONIA (zirconia/silicone): n = 0.48
- Butyl rubber: n = 0.50
**Theory**: Lower n = less pressure-sensitive (better for high-P engines)
### Example Calculation
**Material:** PAXS, base_rate = 0.025 in/s, n = 0.38
**At different pressures:**
- 300 psi: rate = 0.025 × (300/300)^0.38 = 0.025 in/s
- 500 psi: rate = 0.025 × (500/300)^0.38 = 0.032 in/s
- 1000 psi: rate = 0.025 × (1000/300)^0.38 = 0.042 in/s
- 1500 psi: rate = 0.025 × (1500/300)^0.38 = 0.050 in/s
### Erosion Calculation
**Inputs:**
- Chamber pressure (Pa)
- Burn time (s)
- Ablative material (from dropdown)
- Initial liner thickness (mm)
**Process:**
1. Look up material properties (base_rate, n)
2. Calculate pressure factor: `(P / P_ref)^n`
3. Apply correction: `effective_rate = base_rate × factor`
4. Erosion depth: `erosion = effective_rate × burn_time`
5. Remaining thickness: `remaining = initial - erosion`
**Display:**
- Pressure factor (if not 1.0)
- Corrected erosion rate (inch/s)
- Erosion depth (inch)
- Remaining thickness (inch)
- **Warning** if remaining < 0.5 inch
### Thermal Analysis (Future)
Currently, erosion is purely mechanical. Future versions could include:
- Heat flux calculation
- Material melting/sublimation
- Thermal diffusion into structure
- Combined mechanical + thermal erosion
---
## Structural Sizing
### Material Selection
Choose from STRUCTURAL_MATERIALS array:
- **Aluminum 6061-T6**: Low density, corrosion-resistant
- **Stainless Steel 304**: High temp, corrosion-resistant
- **Inconel 718**: High strength at elevated T
- **Titanium 6-4**: Light, strong, expensive
- **CFRP (Carbon Fiber)**: Highest strength-to-weight
Each has: density (kg/m³), yield strength (MPa), Young's modulus, CTE, limits
### Hoop Stress Formula
For thin-walled cylinders:
```
σ_hoop = (P × r) / t
```
Solving for wall thickness with safety factor:
```
t = (P × r) / (σ_yield / SF)
```
Where:
- `P` — internal pressure (Pa)
- `r` — radius (m)
- `σ_yield` — material yield strength (Pa)
- `SF` — safety factor (typical: 2.04.0)
### Component Sizing
**Chamber:**
- Pressure: P0 (combustion pressure)
- Radius: determined by geometry
- Thickness: `t_chamber = (P0 × r) / (σ_y / SF)`
**Convergent Section (nozzle entrance):**
- Pressure: P0 (full chamber pressure)
- Radius: smaller than chamber (converging)
- Thickness: similar to chamber
**Throat (narrowest point):**
- Pressure: ~P0 (highest local stress)
- Radius: throat_radius (smallest)
- **Result**: highest stress → thickest wall
- Thickness: `t_throat = (P0 × r_throat) / (σ_y / SF)`
**Divergent Section (nozzle expansion):**
- Pressure: decreases from P0 to Pe
- Radius: increasing
- Thickness: typically uses Pe ≈ 0.1·P0 for design
- Lower thickness than chamber
**Exit (atmospheric nozzle):**
- Pressure: near ambient
- Thickness: minimal (can be thin-walled)
### Mass Calculation
**Cylindrical section:**
```
m = 2π·r·t·L·ρ
```
**Hemispherical dome (for tanks):**
```
m = 4π·r²·t·ρ
```
**Frustum (truncated cone):**
```
m ≈ π·(r1·L + r2·L)·t·ρ (simplified)
```
**Total engine dry mass:**
```
m_dry = m_chamber + m_convergent + m_nozzle + m_injector_plate + m_misc
```
### UI Layout
**Left Panel (Inputs):**
- Material dropdown
- Safety factor slider
- Pressure specifications (chamber, ambient)
**Right Panel (Results):**
- Wall thickness breakdown (chamber, throat, exit)
- Mass breakdown (chamber, convergent, divergent, injector, **total**)
- Material properties (yield, density, limit temp)
- Stress utilization (if known)
---
## Workflow Example: Design LOX/RP1 Engine
### Step 1: Set Combustion Conditions
1. Select `fuelType = RP1`
2. Select `oxidiserType = LOX`
3. Set `chamberPressure = 200 bar`
4. Set `nozzleDiameter = 50 mm`
5. Set `expansionRatio = 8`
**Result**: Thrust ≈ 150 kN, Isp ≈ 310 s
### Step 2: Design Ablation
1. Select `ablativeMaterial = PAXS`
2. Set `initialLinertThickness = 10 mm`
3. Set `burnTime = 60 s`
**Result**: Erosion ≈ 1.5 mm, Remaining ≈ 8.5 mm (OK)
### Step 3: Size Structure
1. Select `structuralMaterial = Inconel718`
2. Set `safetyFactor = 3.0`
**Result**:
- Chamber wall: 2.1 mm
- Throat wall: 2.8 mm
- Divergent: 1.5 mm
- **Total dry mass**: 2.3 kg
### Step 4: Export
- **Export as JSON**: Download engine specs
- Import into rocket design tool
- Calculate vehicle TWR, delta-v, etc.
---
## Advanced Topics
### Regenerative Cooling
Not yet implemented, but conceptually:
- Propellant flows through cooling jackets before injection
- Removes heat from chamber walls
- Allows higher chamber pressure or thinner walls
- Adds complexity (adds ~0.5 kg per engine)
Implementation would add:
- Cooling jacket dimensions
- Heat transfer correlation (Dittus-Boelert, etc.)
- Pressure drop calculation
- Temperature rise of propellant
### Ablator Recession Modeling
Current model assumes uniform erosion. Advanced model would include:
- **Surface recession rate** (different from bulk erosion)
- **Spallation** (chunks breaking off at high pressure)
- **Chemical reaction** (oxidation, decomposition)
- **Thermal gradient** (erosion depends on depth)
This requires:
- Heat conduction equation (PDE)
- Boundary conditions (heat flux from combustion)
- Material properties (k, cp, melt point)
- Solver (e.g., finite difference)
### Combustion Instability
Not modeled currently, but factors affecting it:
- **Injector design** (pattern, element size, momentum ratio)
- **Chamber L* (characteristic length)** = V / At
- Higher L* = more residence time = higher c*
- Typical range: 3060 inches
- **Baffle plates** (reduce acoustic resonance)
---
## Knowledgebase Integration
### Accessing Propellant Data
- Knowledgebase → Fuels / Oxidisers
- View all available propellants
- Copy properties into engine design
### Accessing Material Data
- Knowledgebase → Structural Materials
- Compare yield strengths, densities, costs
- Select best for your application
### Ablative Materials
- Knowledgebase → Ablative Materials
- View pressure exponents
- Notes on applications (chamber, nozzle, etc.)
---
## Troubleshooting
### Chamber pressure seems too high / low?
- Check propellant selection (wrong fuel/oxidizer?)
- Verify chamber geometry (radius, length)
- Check for typos in input values
### Erosion warning?
- Select ablator with lower pressure exponent (more stable)
- Reduce chamber pressure if possible
- Increase initial liner thickness
- Shorten burn time
### Structural mass too heavy?
- Switch to lighter material (Ti-6-4 vs SS)
- Reduce safety factor (if acceptable for design)
- Increase chamber pressure radius (less stress)
- Use thinner walls for non-critical sections
---
## References
- Huzel, D. K., & Huang, D. H. (1992). Modern engineering for design of liquid-propellant rocket engines. AIAA.
- NASA SP-273: Liquid Rocket Engine Combustion Instability. ([PDF](https://ntrs.nasa.gov/api/citations/19700006920/downloads/19700006920.pdf))
- Crespo, A., & Liñán, A. (1975). Asymptotic analysis of unsteady flame oscillations in liquid propellant rocket motors. SIAM Journal on Applied Mathematics, 29(3), 521533.
---
**Last Updated**: 2025-02 | **Status**: Current (v2 — Pressure-Corrected Ablation)