Airframe Design Protocol
Use this protocol for each change to the outer shape of the aircraft: wing, tip, keel, stilt, pod or fuselage. Do the cheap gates first. Stop at the first gate that fails, and record the result. Ryan decided the gate order on 2026-09-29: calculations and strength come before the tests. th-aeronautics owns this protocol.
| Session | Gates |
|---|---|
| th-aeronautics | Owner. Idea card review, calculations, strength, screen, CFD, the report |
| th-blender | Geometry generator, the Blender review with Ryan, CFD geometry export |
| th-main | Sliced mass and print time |
| th-hangar | Fit on the pad, in the box and in the capture guides |
| jbsim-06 | Flight modes from the linear model |
| th-simulator, th-testpilot | SITL model variant and the test battery |
| Ryan | Approval of the geometry, of each dell01 CFD run, and the final decision |
Procedure
Section titled “Procedure”- Write an idea card in
docs/agent-threads/airframe-design/. Give the problem, the number that must change, its baseline value, and the part that changes. - Build the geometry as a generator script in
tools/, not as a hand edit. Write the kit-derived parts toparts/only. They must not go to the public site. - Show the geometry to Ryan in Blender. Discuss it with him on mcspeak. Continue only if he agrees.
- Do the calculations. Compare these values with the baseline:
- mass and the CG shift, with the nose ballast that holds the CG at 270 mm
- reference area, span, mean aerodynamic chord and aspect ratio
- the change in trim, from the change in lift and moment of each part
- Do the strength check. Use the load cases in the table below. The minimum margin is 2 on the material’s yield strength (an estimate, until the first test coupons). A part that is also a charge contact must have a margin of 10, as the keel cores have.
- Get the sliced mass and print time from th-main. Get the fit check from th-hangar.
- Screen the shape in VSPAERO, and in XFOIL if a section changes. Use the baseline mesh settings (8 mm panels, Tess_W 49). Compare differences only, because the absolute zero-lift terms are not converged (jsbsim thread, 5cba52f).
- Send the VSPAERO results to jbsim-06 for the flight modes.
- Ask Ryan for dell01 time. If he agrees, run a coarse CFD pair at alpha 6.7 and 14 on the new shape and on the baseline, from one generator setting each. Run fine-mesh cases only for a shape that passes the coarse pair.
- Give th-simulator the SITL model variant. th-testpilot flies the test battery on it.
- Write the report in the idea card’s thread. Put the table of gate results first.
- Ryan decides. Record the decision in the thread, and send it to th-testpilot for the CLAUDE.md decisions table.
Load cases
Section titled “Load cases”| Case | Load | Source |
|---|---|---|
| Manoeuvre | 3.5 g at 2.59 kg, on the wing and its joints | Estimate: ArduPlane roll and pitch limits, with margin |
| Gust | 7.5 m/s vertical gust at 30 m/s | Estimate: the Dryden model in the test battery |
| Landing | 0.5 m/s touchdown on one keel sole, 12.4 degrees nose down | Dock touchdown study |
| Hard landing | 2 m/s on one keel sole | Estimate: a hover failure over the pad |
| Pad push | Push bar force on the toe and heel faces | th-hangar |
Pass criteria
Section titled “Pass criteria”Each value is compared with the baseline in the same model. A value outside the limit stops the change unless Ryan accepts it.
| Value | Limit | Baseline (keel A, drooped tip) |
|---|---|---|
| Static margin | 5 to 15 % MAC | 8.2 % (CFD), 11.4 % (VSPAERO) |
| Elevon trim at 18 to 30 m/s | Within 12 degrees of neutral | 5.8 degrees TE up at 20 m/s (CFD model) |
| Cruise drag at 20 m/s | No increase above 2 % | CD 0.053 (fine CFD, alpha 6.7) |
| Stall speed at 2.59 kg | No increase | 17.9 m/s (SITL stall probe) |
| Spiral, time to double at 19 m/s | No decrease | 6.6 s |
| Dutch roll damping ratio | 0.10 or more | 0.141 |
| Mass | No increase above 20 g without a reason | Parts list |
| Hangar fit | Fits, or th-hangar has a change | th-hangar |
Baseline
Section titled “Baseline”The baseline is the flight configuration on 2026-09-29: the kit wing with the drooped kit tip, keel A
as the foot, no Winglet Stabilizers, CG 270 mm, 2.59 kg. Its CFD geometry is the “14 Flight Config”
scene, exported by tools/airframe_stl.py. Its SITL model is sim/terrahawk-keel-notips.json.
When Ryan accepts a change, the accepted shape becomes the new baseline.
Source: docs/design-protocol.md in the repo. Edit it there; this page is generated.
Comments
Comment on the whole page here, or on one section or step with the button beside it.