SWBPIPE · The open manual
Part VI · VerificationVI–E19

Part VI

Verification

E. Algorithm and software checks  ·  Three supports on three directions

A frame member is fixed at its root. Tip forces are 10.0 N along x, 1.0 N along y and 6.0 N along z. A one-way support acts in x, and a 0.0002 mm gap acts in y. Friction in z has μ = 0.30 and given normal reaction 10.0 N. Can all three support states change together and settle?

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

These recorded transitions and free-degree residuals do not establish general equilibrium or convergence for other models.

Support state check. The recorded test exercises nonlinear support state or assembled-loop behavior in its benchmark crate. It does not exercise desktop authoring.

One tip has one-way support in x, a 0.0002 mm gap in y and friction in z with limit 3.0 N. All three must change state first. x y z Fx Fy Fz x → y ↑ z OUT OF THE PAGE (⊙) SUPPORTS x: ONE-WAY · y: GAP (+) · z: FRICTION μ LOADS AT THE TIP
Fig. VI–E19.—Three supports on three directions

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 forceFz6.0 N
One-way support—Ux
Gap support—Uy
Friction support—Uz
Friction coefficientμ0.30
Normal reaction (given)N10.0 N
Friction limitμN3.0 N
Gap clearancec0.0002 mm
Initial states—one-way active, gap open, friction sticking

2.Method.

The friction limit is 0.30 × 10.0 = 3.0 N. The 6.0 N vertical force is more than that, so the friction support slides. In the same first iteration the one-way support releases and the gap closes: three changes. 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 × 10.0 = 3.0 N(1)

3.Results.

Expected outcome (the reference gives states, counts and residuals, not displacements or reactions)
QuantityExpected
Changed supports, iteration 13
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
Convergedtrue
Diagnosticnone

The case record describes these checks:

  • The solve converges in exactly 2 iterations: 3 supports change state on the first iteration and none on the last.
  • Final states match the reference: one-way released, gap closed, friction sliding. 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. Compares final support states, the iteration count, and force balance. It does not compare movements or reactions 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 between iterations. The changed-support count must reach exactly 0 within at most 4 iterations, with no relative or absolute allowance. At the final iteration, out-of-balance force, moment and work at free degrees of freedom must be 0.0. Changes in displacement, rotation and reaction over the last iteration must stay inside the recorded envelope. Long values are shown here to seven significant figures; the tests compare the full values in the record.

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/nonlinear/Cargo.toml multisupport_acceptance_inventory_uses_narrow_dec_046_policy

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

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