Worked example
Flight envelope placard
Feed a Mach–altitude test matrix in, get a gated placard table out.
Run it
cargo run --release -p avionics_examples --example flight_envelope_placardMeasured
- max q = 23.7 kPa at M 1.20 / 11.0 km, inside the 60 kPa placard
- max T0 = 1502.1 K at M 5.00 / 40.0 km, inside the 1700 K placard
- 16 of 16 matrix rows computed
No grid and no time stepping. A CSV of Mach–altitude points goes in, each point is evaluated through closed-form relations, and a gated table comes out.
The study shape is the same one the marched examples use. The sweep combinator
driving sixteen closed-form evaluations here drives four concurrent
Navier–Stokes marches in the VIV example.
What runs per row
Each matrix row is a flight condition. For each one the example computes dynamic
pressure, takes the exact Rankine–Hugoniot jump through FittedNormalShock to get
the post-shock stagnation temperature, and applies the Sutton–Graves correlation
for stagnation-point heating.
Nothing here is iterative. Every quantity is a closed-form function of Mach, altitude and the atmosphere table.
Output
M alt[km] q[kPa] T0[K] qdot
0.50 5.0 9.5 268.5 0.09
...
5.00 40.0 5.0 1502.1 6.21
5.00 36.0 11.8 1444.9 9.15 <- hottest heating
[PASS] q-max placard: max q = 23.7 kPa at M 1.20 / 11.0 km, inside the 60 kPa placard
[PASS] stagnation temperature: max T0 = 1502.1 K at M 5.00 / 40.0 km, inside the 1700 K placard
[PASS] matrix integrity: 16 of 16 matrix rows computed
Peak dynamic pressure, peak temperature and peak heating occur at three different points in the matrix.
Negative path
The example ships a second matrix that violates the dynamic-pressure placard:
cargo run --release -p avionics_examples --example flight_envelope_placard \
examples/avionics_examples/cfd/flight_envelope_placard/mach_alt_matrix_exceeds.csv
[FAIL] q-max placard: q = 85.1 kPa at M 1.50 / 5.0 km exceeds the 60 kPa placard
The process exits 1 and writes no table, so a failed run leaves no artifact that could later be mistaken for a valid one. Every example and verification target follows this convention.
Applicability limits
The gas is calorically perfect at γ = 1.4. The assumption is weakest for a blunt body at low supersonic speed, a condition present in this matrix.
Sutton–Graves is an entry-speed correlation. The heating column at M 0.5 is a trend and is not suitable for sizing thermal protection.
The atmosphere interpolates linearly between US-1976 rows spaced 5 to 10 km apart, which overstates density between rows.
The placard values of 60 kPa and 1700 K are demonstration figures. They are not certification data.
Stated limitation
The placards are demonstration values, not certification data. The gas is calorically perfect, and Sutton–Graves is an entry-speed correlation, so low-Mach heating is a trend rather than a thermal-protection input.