SWBPIPE · The open manual
Part VI · VerificationVI–C5

Part VI

Verification

C. Stress recovery  ·  Stress range between two states

An invented section has two load states, A and B, with different axial forces, moments and torques. What range does each stress component have? Each range is an absolute component difference, not an equivalent stress.

If only one state includes pressure, does recovery refuse to form a range?

This page preserves a recorded benchmark and its expected values. The dated run below is not a new run of the current product.

These calculations recover separate mechanics stress components. Component recovery does not establish a combined stress maximum or code stress.

This benchmark forms absolute differences of separate stress components. It does not establish an equilibrium state or a product combination route.

Independent numerical comparison. The historical asymmetric optional-pressure test is absent from the current source. The mechanical range test still exists.

Read with

This case checks the difference of each stress component between two states. The code displacement stress range first uses the moment differences. The stress calculation then uses those differences (Part II D). The program does not yet form it (Status).

Two load states act on the same section. The case tests separate stress-component ranges and refusal of unmatched pressure inputs. STATE A N, My, Mz, T STATE B N, My, Mz, T → RANGE = |B − A| FOR EACH COMPONENT
Fig. VI–C5.—Stress range between two states

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.

QuantitySymbolState AState B
Axial forceN60.0 N180.0 N
Bending moment about local yMy−20.0 N·m80.0 N·m
Bending moment about local zMz10.0 N·m10.0 N·m
Torsional momentT20.0 N·m60.0 N·m
AreaA12.0 m212.0 m2
Section modulus about local yZy25.0 m325.0 m3
Section modulus about local zZz15.0 m315.0 m3
Torsion radiusr2.0 m2.0 m
Torsion constantJ80.0 m480.0 m4

2.Method.

Recovery calculates each stress component in each state. The formulas use force divided by area, moment divided by section modulus, and torque times radius divided by torsion constant. Each component range is the absolute difference between its state values. Components remain separate.

Neither state includes pressure, so recovery forms no pressure range.

Δσaxial = |180.0 / 12.0 − 60.0 / 12.0| = 10.0 Pa(1)
Δσb,y = |80.0 / 25.0 − (−20.0 / 25.0)| = 4.0 Pa(2)
Δτ = |60.0 × 2.0 / 80.0 − 20.0 × 2.0 / 80.0| = 1.0 Pa(3)
Δσb,z = |10.0 / 15.0 − 10.0 / 15.0| = 0.0 Pa(4)

3.Results.

Expected ranges between states A and B, and the expected refusal
QuantityExpected
Axial normal stress range10.0 Pa
Bending stress range about y4.0 Pa
Bending stress range about z0.0 Pa
Torsional shear stress range1.0 Pa
Hoop and longitudinal pressure rangesNot formed (no pressure in either state)
Pressure given in one state onlyRange blocked; hoop and longitudinal pressure ranges reported missing

The case record describes these checks:

  • 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.

For the student

The moment about y changes sign between states. Its bending stress range therefore exceeds the bending stress in either state alone. The range measures the change between states rather than the larger peak.

4.Recorded command.

This command belongs to the archived source at 462f66975d36cd10d5b8455193ada9517d28d353. Use a checkout of that exact revision. This edition did not run the command. The recorded result does not establish current product support.

git checkout --detach 462f66975d36cd10d5b8455193ada9517d28d353
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.

Contents · Part VI · The program: swbpipe.com · MIT licence