SWBPIPE · The open manual
Part VI · VerificationVI–E15

Part VI

Verification

E. Algorithm and software checks  ·  One-way and gap, observation only

A single frame member is fixed at its root. Its tip is pushed by 10.0 N along x and 1.0 N along y, with a one-way support in x that starts active and a 0.0002 mm gap in y that starts open. This is the same problem as the one-way-and-gap case. Here it is run only as an observation: it shows that the solver can change two supports on two directions at once, but it sets no tolerance and passes no judgement on the residuals.

The same one-way-and-gap tip problem, run as an observation: it records that the solver converges in two iterations but applies no tolerance and no residual thresholds. x y Fx Fy x โ†’ y โ†‘ z OUT OF THE PAGE (โŠ™) SUPPORTS x: ONE-WAY ยท y: GAP (+) LOADS AT THE TIP
Fig. VI–E15.—One-way and gap, observation only

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
One-way support—Ux
Gap support—Uy
Gap clearancec0.0002 mm
Initial one-way state—active
Initial gap state—inactive (open)

2.Method.

The expected behaviour matches its twin: the one-way support releases and the gap closes on the first iteration, and nothing changes on the second.

What differs is how the result is judged. No convergence tolerance is applied, and the solver is expected to note that none is set. The out-of-balance force and moment are not checked, and no threshold is applied to the changes in displacement or reaction. It records behaviour; it does not set or meet a standard of agreement.

3.Results.

Expected outcome (observation only)
QuantityExpected
Changed supports, iteration 12
Final changed-support count0
Iteration count2
Final free-DOF work residual0.0 N·mm
Final one-way stateinactive (released)
Final gap stateactive (closed)
Convergedtrue
Diagnosticnotice that no tolerance is set

The tests check that:

  • The solve converges in exactly 2 iterations, with a changed-support count of 2 on the first and 0 on the last.
  • Final states match the reference, and the solver reports its notice that no tolerance is set.
  • The final out-of-balance work at the free degrees of freedom is 0.0.
  • The changes in displacement and reaction over the last iteration are greater than zero. They are recorded but not compared with any threshold.
  • No convergence tolerance is applied to this case.
  • Not asserted: the out-of-balance force and moment, and any bound on the displacement or reaction changes.

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. No tolerance applies. The case records convergence without applying a tolerance; the solver notes that none is set, and no thresholds are recorded for it. 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_depth_inventory_is_observation_only_and_separate_from_seed

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

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