Analytical Aerodynamic Load Calculator for Rocket Fins
A MATLAB GUI applet that computes the aerodynamic forces acting on a single rocket fin across its entire flight profile: from subsonic through transonic to supersonic regimes. Upload a trajectory CSV, define your fin geometry, and get lift, drag, and moment estimates at every point along the flight envelope. The caclulations rely on
Disclaimer: Like with any good project this one was also never really fully finished up and fleshed out. This project was developed as an engineering demonstrator and is not fully validated. Output accuracy has not been verified against simulation or wind tunnel data. Treat results as indicative, not authoritative.
- Flight regime detection — automatically classifies trajectory segments into subsonic (Ma < 0.8), transonic (0.8 < Ma < 1.2), and supersonic (Ma > 1.2) and applies the appropriate aerodynamic theory to each
- Multiple fin planforms — supports trapezoidal, clipped-delta, symmetric forward-swept, and parallelogram (aft-swept) geometries with automatic trailing-edge classification
- Regime-specific load models — uses linearized theory for subsonic and supersonic flow, with separate handling for transonic conditions
- Mach cone visualization — overlays Mach cones on the fin planform at peak Mach number, identifying whether leading and trailing edges are subsonic or supersonic
- Swept-wing corrections — accounts for sweep effects on both lift and drag in supersonic flow
- Atmosphere model — ISA standard atmosphere with altitude-dependent density, temperature, speed of sound, and dynamic viscosity (Sutherland's law) for Reynolds number computation
- Assumption & warning tracking — prints all simplifying assumptions to the command window and displays pop-up warnings when input parameters violate model validity (e.g., angle of attack beyond 7deg)
Requirements: MATLAB 2023b (no backwards compatibility guaranteed)
- Run
parameterInputsin MATLAB to launch the GUI - Click Upload CSV and select a flight profile (see
hypothetical_student_rocket_profile.csvfor the expected format: columnsAltitude (m)andSpeed (m/s)) - Select a fin shape, enter dimensions (root chord, tip chord, span, sweep angle) and flight conditions (angle of attack, roll rate)
- Click Calculate
- Check the MATLAB command window for printed assumptions
- Inspect the generated figures (some may open behind the GUI)
Uploading a trajectory CSV produces plots of altitude vs. speed with color-coded subsonic, transonic, and supersonic regions.
Four planform types to choose from, each with automatic geometric constraint enforcement.
After calculation, any broken assumptions or out-of-range conditions are flagged.
The fin planform is plotted with its center of pressure, surface area, and — for supersonic cases — Mach cone overlays indicating sub/supersonic edge conditions and the region where 2D linearized theory applies.
Final output of lift, drag, and moment estimates across the flight profile.
The aerodynamic models are rooted in classical analytical methods for thin-airfoil and swept-wing aerodynamics. The supersonic regime relies on linearized supersonic thin-airfoil theory (Ackeret theory) for lift and wave drag, extended with oblique-wing sweep corrections. At high Mach numbers (Ma > 2), the code notes the alternative of Newtonian Impact Theory for hypersonic flow. Skin friction drag is estimated from flat-plate correlations as a function of Reynolds number. The atmosphere is modeled using the ISA standard atmosphere (troposphere only), with dynamic viscosity computed via Sutherland's law.
Primary references used throughout the live scripts (see scripts for specific reference):
- P. Liu — Aerodynamics, Springer, [doi:10.1007/978-981-19-4586-1](https://doi.org/10.1007/978-981-19-4586-1 Add to Citavi project by DOI) (Ch. 12: supersonic lift/drag, swept-wing corrections, transonic drag rise)
- E. A. Bonney — Engineering Supersonic Aerodynamics (wave drag decomposition, skin friction charts, airfoil shape factors K₁ and τ)
- Stanford AA200b Lecture Notes — (linearized pressure coefficient, supersonic CoP)
- NASA TN — NTRS 19880008231 and NTRS 19800014762 (center of pressure variation with Mach number and aspect ratio)
- Atmosphere model valid only in the troposphere (< 11 km altitude)
- No viscous interaction or real-gas effects
- Transonic regime uses simplified interpolation, not full nonlinear methods
- Single isolated fin — no fin-body interference or multi-fin effects
- Not validated against CFD, wind tunnel, or flight data
App/
├── parameterInputs.m # Entry point — GUI and orchestration
├── finAerodynamicsCalcs.m # Core aerodynamic property computation
├── FinLoadCalcs.mlx # Load calculation across flight profile
│
├── plotRocketFlightProfile.m # Trajectory visualization with regime shading
├── plotFinShape.m # Subsonic fin planform plot
├── plotFinShapeSupersonic.m # Supersonic fin plot with Mach cones
│
├── calculateMachNumber.m # Local Mach from speed & altitude (ISA)
├── calculateAirDensity.m # ISA air density model
├── calculateReynoldsNumber.m # Re via Sutherland's viscosity law
├── calculateCenterOfPressure.m # Spanwise CoP for different planforms
├── calculateFinArea.m # General planform fin area
├── classifyFinShape.m # Trailing-edge sweep classification
├── machConeAngle.m # Mach cone half-angle
│
├── subsonic_loads.mlx # Subsonic load model
├── tansonic_loads.mlx # Transonic load model
├── transsonic_loads.mlx # Transonic load model (alternate)
├── supersonic_loads.mlx # Supersonic load model
├── supersonic_sweep_lift.mlx # Swept-wing supersonic lift
├── supersonic_sweep_drag.mlx # Swept-wing supersonic drag
├── supersonicShockwave.mlx # Oblique shock analysis
├── supersonicShockwave_Sweep.mlx # Swept oblique shock analysis
│
├── disp_assumption.m # Unique-assumption printer
├── disp_warning.m # Unique-warning dialog manager
├── hypothetical_student_rocket_profile.csv # Example trajectory input
│
└── Misc/
└── supersonicWaveStudy_Newtonian_vs_Linearized.mlx # Theory comparison study
The trajectory file must contain two columns with these exact headers:
| Altitude (m) | Speed (m/s) |
|---|---|
| 0.0 | 0.0 |
| 30.3 | 10.4 |
| ... | ... |
This project was created with the assistance of AI tools.