Envelope Expansion (flight-test-operations/envelope/envelope-expansion)
Use when the task is flight test envelope expansion: corner speed,
airspeed classification, and expansion step planning against the load
factor envelope.
Domain quick reference
- Corner speed (maneuvering speed) VA = VS * sqrt(n_max), where VS is
the reference stall speed and n_max the limit load factor.
- Units: speeds in m/s (convert knots or km/h before use); load factor
n is dimensionless.
- Airspeed categories: VFE (flaps extended limit), VA (maneuvering),
VNO (normal operating limit), VNE (never exceed).
- Expansion steps move the test speed from the current point toward a
target in equal increments, with the load factor checked against the
limit at every point.
Workflow
- Compute the corner speed with corner_speed(vs_ms, n_max).
- Classify each test speed with classify_airspeed(v_ms, vfe, va, vno, vne).
- Size the increments with expansion_step_size(target_v, current_v, n_steps).
- Check every point with load_factor_within_limit(n, n_max).
- Gate the expansion program on the classification and limit verdicts.
Pitfalls
- Expanding past VA without stall checks: at VA the limit load factor
can stall the wing, so test near VA only with stall protection active.
- Classification boundary handling: boundaries are half-open; a speed
equal to VFE belongs to vfe-to-va, equal to VA to va-to-vno, and so
on. Use the documented comparisons, not hand-adjusted bands.
- Steps <= 0: a non-positive step count or a target below the current
speed raises ValueError instead of producing a nonsense increment.
- Mixed units: convert every speed to m/s before computing VA.
Behavior contract (gate 3)
The corner speed, classification, step, and load factor logic is
exercised by the gate 3 contract test: scripts/test_envelope_expansion.py
against scripts/envelope_expansion_logic.py (stdlib unittest, offline).
Run: python3 scripts/test_envelope_expansion.py
Compliance
- Standards referenced, not reproduced: FAR-25.335 and CS-25.335 design
airspeeds set the maneuvering speed context; flight test envelope
expansion methodology is common knowledge, summary-only per
standards-map.yaml.
- compliance: STANDARDS-REF, gated: false.
1---2name: envelope-expansion3description: Use when you must plan flight test envelope expansion: compute the corner speed (maneuvering speed VA) from the stall speed and the limit load factor, classify airspeeds into the flight test speed categories, and size the expansion steps against the load factor envelope. Produces the corner speed, the airspeed classification per test point, the per-step speed increment, and the load factor limit verdict that gate the expansion program. Trigger: envelope expansion, corner speed, airspeed classification, load factor, flight test, expansion step, maneuver envelope.4license: Apache-2.05---67# Envelope Expansion (flight-test-operations/envelope/envelope-expansion)89Use when the task is flight test envelope expansion: corner speed,10airspeed classification, and expansion step planning against the load11factor envelope.1213## Domain quick reference1415- Corner speed (maneuvering speed) VA = VS * sqrt(n_max), where VS is16 the reference stall speed and n_max the limit load factor.17- Units: speeds in m/s (convert knots or km/h before use); load factor18 n is dimensionless.19- Airspeed categories: VFE (flaps extended limit), VA (maneuvering),20 VNO (normal operating limit), VNE (never exceed).21- Expansion steps move the test speed from the current point toward a22 target in equal increments, with the load factor checked against the23 limit at every point.2425## Workflow26271. Compute the corner speed with corner_speed(vs_ms, n_max).282. Classify each test speed with classify_airspeed(v_ms, vfe, va, vno, vne).293. Size the increments with expansion_step_size(target_v, current_v, n_steps).304. Check every point with load_factor_within_limit(n, n_max).315. Gate the expansion program on the classification and limit verdicts.3233## Pitfalls3435- Expanding past VA without stall checks: at VA the limit load factor36 can stall the wing, so test near VA only with stall protection active.37- Classification boundary handling: boundaries are half-open; a speed38 equal to VFE belongs to vfe-to-va, equal to VA to va-to-vno, and so39 on. Use the documented comparisons, not hand-adjusted bands.40- Steps <= 0: a non-positive step count or a target below the current41 speed raises ValueError instead of producing a nonsense increment.42- Mixed units: convert every speed to m/s before computing VA.4344## Behavior contract (gate 3)4546The corner speed, classification, step, and load factor logic is47exercised by the gate 3 contract test: scripts/test_envelope_expansion.py48against scripts/envelope_expansion_logic.py (stdlib unittest, offline).49Run: python3 scripts/test_envelope_expansion.py5051## Compliance5253- Standards referenced, not reproduced: FAR-25.335 and CS-25.335 design54 airspeeds set the maneuvering speed context; flight test envelope55 expansion methodology is common knowledge, summary-only per56 standards-map.yaml.57- compliance: STANDARDS-REF, gated: false.