SWBPIPE · The open manual
Part VI · VerificationVI–E11

Part VI

Verification

E. Algorithm and software checks  ·  All four support types at one tip

A single frame member is fixed at its root. Its tip carries forces of 10.0 N along x, 1.0 N along y and 3.0 N along z, and a moment of 1.8 N·mm about z. Each of those four directions has a different kind of nonlinear support: friction in x, a 0.0002 mm gap in y, a one-way support in z and a lift-off support on the rotation. Can the solver change all four in one pass and settle?

One tip carries a one-way support, a gap, a friction support and a rotational lift-off support at once; all four must change state on the first iteration and hold on the second. x y z θz Fx Fy Fz Mz x → y ↑ z OUT OF THE PAGE (⊙) SUPPORTS x: FRICTION μ · y: GAP (+) · z: ONE-WAY · θz: LIFT-OFF LOADS AT THE TIP
Fig. VI–E11.—All four support types at one tip

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.

QuantitySymbolValue
Tip axial forceFx10.0 N
Tip transverse forceFy1.0 N
Tip vertical forceFz3.0 N
Tip moment about zMz1.8 N·mm
Friction support—Ux
Gap support—Uy
One-way support—Uz
Lift-off support—Rz
Friction coefficientμ0.30
Normal reaction (given)N20.0 N
Friction limitμN6.0 N
Gap clearancec0.0002 mm
Initial states—one-way active, gap open, friction sticking, lift-off in contact

2.Method.

With a given normal reaction of 20.0 N and μ = 0.30, the friction limit is 6.0 N, and the friction support slides. In the same first iteration the one-way support releases, the gap closes and the rotational lift-off support releases: four changes in all. On the second iteration nothing changes, so the loop has converged.

The reference for this group records the expected support states, changed-support counts and final residuals. It does not work out displacements or reactions, so none are tabulated here.

μN = 0.30 × 20.0 = 6.0 N(1)

3.Results.

Expected outcome (the reference gives states, counts and residuals, not displacements or reactions)
QuantityExpected
Changed supports, iteration 14
Final changed-support count0
Iteration count2
Free-DOF force residual0.0 N
Free-DOF moment residual0.0 N·mm
Final free-DOF work residual0.0 N·mm
Final one-way stateinactive (released)
Final gap stateactive (closed)
Final friction statesliding
Final lift-off stateinactive (released)
Convergedtrue
Diagnosticnone

The tests check that:

  • The solve converges in exactly 2 iterations: 4 supports change state on the first iteration and none on the last.
  • Final states match the reference: one-way released, gap closed, friction sliding, lift-off released. No diagnostics are raised.
  • At the final iteration the out-of-balance force, moment and work at the free degrees of freedom are all exactly 0.0.
  • The changes in displacement, rotation and reaction over the last iteration stay inside the recorded envelope for this group.

What it shows. Checks the supports’ final states, the iteration count and the balance of forces. Movements and reactions are not compared with a 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 loop counts as converged only when no support changes state from one iteration to the next: the changed-support count must reach exactly 0, with no relative or absolute allowance, within at most 4 iterations. At the final iteration the out-of-balance force, moment and work at the free degrees of freedom must be 0.0, and the changes in displacement, rotation and reaction over the last iteration must stay inside a recorded envelope. 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/nonlinear/Cargo.toml multisupport_acceptance_inventory_uses_narrow_dec_046_policy

Hand calculation: validation/hand_calcs/nonlinear/assembled_multi_support_four_class_acceptance.md. Test record, with the recorded run of 2026-07-10: nl-assembled-multi-dof-four-class-accepted-original.md.

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