Part VI
Verification
C. Stress recovery · Stress range between two states
The same invented section is loaded in two states, A and B, with different axial forces, bending moments and torques. What is the range of each stress component between the two states? Each range is the absolute difference of one component, not an equivalent stress.
A second question follows. If pressure is given in one state but not the other, does the solver refuse to form a range, rather than quietly return one?
1.Inputs.
Illustrative values, taken from no standard and chosen so the arithmetic can be followed by hand. Most do not describe a real pipe; read them in any consistent set of units.
| Quantity | Symbol | State A | State B |
|---|---|---|---|
| Axial force | N | 60.0 N | 180.0 N |
| Bending moment about local y | My | −20.0 N·m | 80.0 N·m |
| Bending moment about local z | Mz | 10.0 N·m | 10.0 N·m |
| Torsional moment | T | 20.0 N·m | 60.0 N·m |
| Area | A | 12.0 m2 | 12.0 m2 |
| Section modulus about local y | Zy | 25.0 m3 | 25.0 m3 |
| Section modulus about local z | Zz | 15.0 m3 | 15.0 m3 |
| Torsion radius | r | 2.0 m | 2.0 m |
| Torsion constant | J | 80.0 m4 | 80.0 m4 |
2.Method.
Each stress component is recovered in each state: force over area, moment over section modulus, or torque times radius over torsion constant. The range of a component is the absolute difference between its two values. The components are kept separate and are not combined.
Pressure is left out of both states, so no pressure range is formed.
3.Results.
| Quantity | Expected |
|---|---|
| Axial normal stress range | 10.0 Pa |
| Bending stress range about y | 4.0 Pa |
| Bending stress range about z | 0.0 Pa |
| Torsional shear stress range | 1.0 Pa |
| Hoop and longitudinal pressure ranges | Not formed (no pressure in either state) |
| Pressure given in one state only | Range blocked; hoop and longitudinal pressure ranges reported missing |
The tests check that:
- With no pressure in either state, the range completes without being blocked.
- The axial, bending-y, bending-z and torsional shear ranges match 10.0, 4.0, 0.0 and 1.0 Pa.
- No hoop or longitudinal pressure range is reported.
- When pressure is supplied in only one state, the range is blocked.
- In that blocked case no axial range is returned, and the hoop and longitudinal pressure ranges are each reported as missing.
What it shows. Compared with an independent hand calculation.
Path exercised. The benchmark calls the solver’s components directly: elements, loads, frame solver and stress recovery. It does not go through the program’s own model-to-solve path.
Agreement. Each range must match the hand calculation to within an absolute difference of 1.0 × 10−9 Pa. The blocking and the missing-value reports are checked exactly. Long values are shown here to seven significant figures; the tests compare the full values in the record.
The bending range about y is larger than the bending stress in either state alone, because the moment changes sign between the states. A range measures the swing from one state to the other, not the larger of the two peaks.
4.Run it yourself.
cd projects/chirality-piping cargo test --manifest-path validation/benchmarks/stress/Cargo.toml computes_mechanics_only_stress_range_fixture cargo test --manifest-path validation/benchmarks/stress/Cargo.toml stress_range_blocks_asymmetric_optional_pressure_components
Hand calculation:
validation/hand_calcs/stress/stress_range.md.
Test record, with the recorded run of 2026-07-10:
stress-range-mechanics-original.md.