12 KiB
Rocket Design Guide
Overview
The Rocket Design tool calculates vehicle mass budget, tank geometry, structural requirements, and generates 3D models. It integrates engine data from the engine designer and computes the complete rocket's performance characteristics.
Main Sections
Vehicle Geometry
Define tank configuration, dimensions, and structural layout.
Tank Structure
Calculate wall thicknesses, masses, and pressurant requirements.
Nose Cone Design
Select and visualize nose cone shapes (conical, ogive, Von Kármán).
Mass Budget
Integrate all components (engines, tanks, payload, structure) to compute total mass and performance metrics.
3D Visualization
Interactive three.js model showing tanks, nose cone, and flight orientation.
Vehicle Geometry
Tank Configuration Options
Tandem (Sequential):
- Two cylindrical tanks stacked vertically
- Fuel (lower), Oxidizer (upper)
- Domes: hemispherical on both ends
- Advantage: Compact, simpler plumbing
- Disadvantage: Longer vehicle
Coaxial (Concentric):
- Outer tank (fuel) surrounds inner tank (oxidizer)
- Reduces diameter
- Inner tank: flat bulkheads (simpler)
- Advantage: Compact, low diameter
- Disadvantage: More complex, thermal management
Single Tank:
- One tank with both propellants mixed
- Rarely used for high-performance (lower Isp)
Tank Dimensions
Inputs:
outerRadius(mm) — outer tank radiuspropellantVolume(L) — total propellant quantitytankConfiguration— tandem, coaxial, singleullagePercent(%) — pressurant volume as % of propellant
Key Relationship:
Ullage volume = propellant volume × (ullage% / 100)
Effective volume = propellant volume × (1 + ullage%)
Ullage accommodates:
- Thermal expansion of propellant
- Gas bubble for pump inlet
- Margin for fill level uncertainty
Tank Geometry (Tandem Case)
Dome Volume (hemispherical):
V_dome = (2/3) × π × R³ (one hemisphere)
V_domes = (4/3) × π × R³ (both domes)
Cylindrical Section:
L_cyl = (V_eff - V_domes) / (π × R²)
Total Tank Length:
L_total = L_cyl + 2R (two dome heights)
Example:
- R = 1.5 m, V_prop = 5000 L, ullage = 10%
- V_eff = 5000 × 1.1 = 5500 L
- V_domes = 4/3 × π × 1.5³ ≈ 14.1 m³ = 14100 L (larger than prop!)
- Need smaller R or accept small L_cyl
Note: For smaller rockets, domes dominate volume. Design must account for this.
Tank Structure
Pressure Sources
Pressure-Fed System:
P_tank = 1.2 × P0_chamber (pressure margin)
Typical: P0 = 200 bar → P_tank = 240 bar
Pump-Fed System:
P_tank = 2 MPa (minimum for turbopump inlet)
Much lower pressure (pump provides most acceleration)
Selection affects:
- Wall thicknesses (direct proportionality)
- Mass (linear with pressure and wall thickness)
- Propellant pump requirements
Structural Material Properties
Available materials from knowledgebase:
- Aluminum 6061-T6: density 2700 kg/m³, σ_y = 275 MPa
- Stainless Steel 304: density 8000 kg/m³, σ_y = 215 MPa
- Inconel 718: density 8190 kg/m³, σ_y = 1240 MPa
- Titanium 6-4: density 4430 kg/m³, σ_y = 880 MPa
- CFRP (Carbon Fiber): density 1600 kg/m³, σ_y = 600 MPa
Selection factors:
- Cost (Al < SS < Ti < CFRP)
- Weight (CFRP < Ti < Al < SS)
- Corrosion (SS, Ti, CFRP better; Al needs coating)
- Temperature (Inconel for hot engines; others at T < 150°C)
Wall Thickness (Hoop Stress)
Hoop stress formula:
σ_hoop = (P × R) / t
With safety factor:
t = (P × R) / (σ_yield / SF)
Cylindrical section mass:
m_cyl = 2π × R × t × L_cyl × ρ_material
Dome mass (two hemispheres):
m_domes = 4π × R² × t × ρ_material
Total tank mass:
m_tank = m_cyl + m_domes
Example Calculation
Tandem LOX/RP1 Tank:
- Radius: 1.0 m
- Pressure: 240 bar = 24 MPa
- Material: Aluminum 6061-T6
- σ_y = 275 MPa
- ρ = 2700 kg/m³
- Safety Factor: 2.5
Wall Thickness:
t = (24 MPa × 1.0 m) / (275 MPa / 2.5)
= 24 / 110
≈ 0.218 m = 2.18 mm
Cylindrical Section (assume L_cyl = 3 m):
m_cyl = 2π × 1.0 × 0.00218 × 3.0 × 2700
≈ 110 kg
Domes:
m_domes = 4π × 1.0² × 0.00218 × 2700
≈ 74 kg
Total tank mass: ~184 kg
Pressurant System (Pressure-Fed Only)
Helium Requirements
For pressure-fed engines, pressurant gas maintains tank pressure throughout burn.
Ideal gas law:
P × V = n × R × T
Helium mass:
m_He = (P_tank × V_prop) / (R_He × T)
Where:
P_tank— tank pressure (Pa)V_prop— propellant volume (m³)R_He— helium specific gas constant = 2077 J/kg/KT— temperature (K), typically 293 K (20°C)
Example:
- P_tank = 24 MPa = 24×10⁶ Pa
- V_prop = 5 m³
- T = 293 K
m_He = (24×10⁶ × 5) / (2077 × 293)
≈ 20 kg
Helium Bottle Mass
Helium stored in high-pressure bottle. Typical storage pressure: 250 bar.
Bottle mass (conservative):
m_bottle = 4 × m_He
Rule of thumb: bottle is 4 times the helium mass. (More sophisticated: use MEOP analysis.)
Total pressurant system:
m_pressurant = m_He + m_bottle
Example: 20 kg He → 80 kg bottle → 100 kg pressurant system
Note: This is a major mass penalty for pressure-fed systems. Pump-fed systems avoid this.
Nose Cone Design
Available Profiles
Three aerodynamic nose cone shapes, all with L = 2 × R (length = 2 × base radius).
Conical:
- Simple linear profile
r(x) = R × (x / L)- Sharpest tip, moderate drag
Tangent Ogive:
- Smooth circular arc meeting base tangentially
ρ = (R² + L²) / (2R)(radius of curvature)r(x) = √(ρ² - (L - x)²) - (ρ - R)- Smooth, less drag than conical
- Common in rocketry
Von Kármán:
- Power law profile minimizing drag
θ = acos(1 - 2x/L)r(x) = (R / √π) × √(θ - sin(2θ)/2)- Theoretically optimal for transonic flight
- Used on high-performance rockets
Selection Criteria:
- Conical: Simplest to manufacture, sharp tip
- Tangent Ogive: Better aerodynamics, smoother base transition
- Von Kármán: Best drag coefficient (Cd ≈ 0.15 vs 0.25 conical)
3D Visualization
Nose cone is rendered using THREE.js LatheGeometry:
- Profile points sampled from mathematical formula
- Rotated around vertical axis to create 3D shape
- Interactive rotation/zoom in 3D viewer
Mass Budget
Components
Structure:
- Tank walls and domes:
m_tanks - Other structure (nosecone, bay, interstage):
m_other - Engine dry mass (from engine designer):
m_engine
Propellant:
- Fuel + oxidizer:
m_propellant
Pressurant (pressure-fed only):
- Helium + bottle:
m_pressurant
Payload:
- Avionics, recovery system, instruments:
m_payload
Calculation
Dry mass (no propellant):
m_dry = m_tanks + m_other + m_engine + m_pressurant + m_payload
Wet mass (with propellant):
m_wet = m_dry + m_propellant
Payload fraction:
fraction_payload = m_payload / m_wet
Structure fraction:
fraction_structure = m_tanks / m_wet
Thrust-to-weight ratio:
TWR = F_thrust / (m_wet × g)
Example Mass Budget
Small LOX/RP1 rocket:
| Component | Mass (kg) | % |
|---|---|---|
| Tanks (structure) | 200 | 14% |
| Engine | 50 | 3.5% |
| Pressurant (He + bottle) | 100 | 7% |
| Avionics + recovery | 30 | 2% |
| Dry mass | 380 | 26.5% |
| Propellant (LOX + RP1) | 1050 | 73.5% |
| Wet mass | 1430 | 100% |
Performance:
- TWR = 150 kN / (1430 kg × 9.81 m/s²) = 10.7
- Delta-v (no gravity loss): 310 s × ln(1430/380) ≈ 1300 m/s
3D Model Components
Tank Rendering
Cylindrical body:
<TankSection
radius={1.0}
length={3.0}
position={[0, 0, 0]}
/>
Renders:
- Cylinder:
CylinderGeometry - Top dome:
SphereGeometry(hemisphere) - Bottom dome:
SphereGeometry(hemisphere)
Material: MeshStandardMaterial with color (red = fuel, blue = oxidizer)
Nose Cone Rendering
LatheGeometry:
- Takes profile curve (array of points)
- Rotates around Y-axis to create 3D surface
- Smooth, aerodynamic appearance
Example:
const profile = noseConeProfile('tangent-ogive', 0.5, 1.0, 24)
const geometry = new THREE.LatheGeometry(profile, 24)
Scene Setup
Lighting:
- Ambient light (0.6 intensity)
- Directional light from top-right
- Shadows enabled for depth
Camera:
- Orbit controls (rotate, zoom, pan)
- Auto-fit to model bounds
- Perspective view (60° FOV)
Workflow: Design Complete Vehicle
Step 1: Import Engine
- Go to Design > Engine
- Configure combustion (LOX/RP1, 200 bar, etc.)
- Size structure (Inconel, 3.0 SF)
- Export as JSON
- Return to Design > Rocket
- Upload engine JSON → Result: Engine dry mass auto-populated
Step 2: Configure Tanks
- Set tank configuration: Tandem
- Set outer radius: 1.0 m
- Set propellant volume: 5000 L
- Set ullage: 10% → Result: Calculated tank length, dome geometry
Step 3: Design Tank Structure
- Select material: Aluminum 6061-T6
- Set safety factor: 2.5
- Select feed system: Pressure-Fed → Result: Wall thickness, tank mass, pressurant requirements
Step 4: Set Payload
- Enter payload mass: 50 kg (avionics, recovery) → Result: Dry mass updated
Step 5: View Mass Budget
→ Result:
- Wet mass: 1550 kg
- Dry mass: 450 kg
- TWR: 10.2
- Delta-v (vacuum): 1320 m/s
Step 6: Adjust Nose Cone
- Select shape: Von Kármán → Result: 3D model updates with optimal nose cone
Step 7: Export & Simulate
- Export vehicle JSON
- Go to Design > Trajectory
- Import vehicle & engine data
- Run flight simulation → Result: Altitude, downrange, apogee, landing site
Advanced Topics
Multi-Stage Rockets
Not yet implemented, but conceptually:
- Stage 1: Large engines, heavy structure
- Stage 2: Smaller engines, lighter structure
- Interstage adapter: mass penalty
- Staging sequence: defined by velocity requirements
Implementation would require:
- Multiple vehicle definitions (or list of stages)
- Trajectory system that handles stage separation
- Cumulative mass and thrust calculations
Composite Materials
CFRP offers best strength-to-weight but requires special analysis:
- Fiber direction — properties vary with orientation
- Matrix — epoxy, vinyl ester
- Layup schedule — [0°/90°/45°] typical
- Microbuckling — axial compression limit
- Matrix cracking — transverse tensile limit
Advanced model would include:
- Classical laminate theory (CLT)
- Ply-by-ply failure criteria (Tsai-Wu, Hashin)
- Buckling analysis (Timoshenko, finite element)
Troubleshooting
Tank too long?
- Reduce ullage percentage (lower to 5%)
- Increase radius (larger tank, shorter cylinder)
- Split into multiple smaller tanks
- Switch to coaxial configuration
Vehicle too heavy?
- Switch to lighter material (CFRP)
- Reduce safety factor (if acceptable)
- Decrease payload mass
- Use pump-fed system (avoids pressurant)
Nose cone looks wrong?
- Verify radius and length (L = 2R)
- Try different shape (Von Kármán usually best)
- Check 3D viewer isn't zoomed in too far
3D model not rendering?
- WebGL must be enabled
- Check browser console for Three.js errors
- Ensure geometry dimensions are reasonable (not NaN)
References
- NASA SP-8007: Structural Design and Test Factors of Safety for Spaceflight Hardware
- Huzel, D. K., & Huang, D. H. (1992). Modern engineering for design of liquid-propellant rocket engines.
- Rocket Propulsion Elements (8th ed.). by Sutton & Biblarz.
Last Updated: 2025-02 | Status: Current (v3 — Domed Tanks)