Part VI
Verification
C. Stress recovery · Axial normal stress
An invented section of area 12.0 m2 carries an axial force of 120.0 N. What axial normal stress does the solver recover? The force and the area are both supplied directly, so no section properties are derived. The case isolates the simplest step in stress recovery: one force divided by one area.
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 | Value |
|---|---|---|
| Axial force | N | 120.0 N |
| Area | A | 12.0 m2 |
2.Method.
The axial normal stress is the axial force divided by the cross-sectional area. It is uniform over the section.
3.Results.
| Quantity | Expected |
|---|---|
| Axial normal stress, σaxial | 10.0 Pa |
The tests check that:
- The stress recovery completes without being blocked.
- The recovered axial normal stress matches 10.0 Pa.
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. The recovered stress must match the hand calculation to within an absolute difference of 1.0 × 10−9 Pa. Yes-or-no conditions, such as whether the result is blocked, are checked exactly. Long values are shown here to seven significant figures; the tests compare the full values in the record.
4.Run it yourself.
cd projects/chirality-piping cargo test --manifest-path validation/benchmarks/stress/Cargo.toml recovers_axial_normal_fixture
Hand calculation:
validation/hand_calcs/stress/axial_normal.md.
Test record, with the recorded run of 2026-07-10:
stress-axial-normal-original.md.