SWBPIPE · The open manual
Part VI · VerificationVI–D6

Part VI

Verification

D. Nonlinear supports  ·  Released one-way support re-engages

A straight member 1.0 mm long, with an axial stiffness of 100.0 N/mm, is fixed at one end. The other end can move only along the member’s axis. The free end has a one-way support that carries positive reactions only, and it starts released. The end is loaded by −10.0 N, towards the side the support bears against. Does the support come back into action, and what does it carry once it has?

A released one-way support under a −10.0 N axial pull sees the end move −0.1 mm into its bearing side; it must re-engage and carry +10.0 N, with the end back at 0.0 mm. F ONE-WAY AXIAL MOVEMENT ONLY AT THE TIP
Fig. VI–D6.—Released one-way support re-engages

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
Node count—2
Member lengthL1.0 mm
Axial stiffnessk100.0 N/mm
Applied axial forceF−10.0 N
One-way activation sense—positive reaction
Maximum iterations—4
Active-set residual tolerance—0.0 (count)
Initial state—inactive (released)

2.Method.

With the support released, the first solve leaves the end free, and it moves −10.0 / 100.0 = −0.1 mm. A support that carries positive reactions bears against negative displacement, so this movement into it re-engages the support. The reaction at a free degree of freedom is identically zero, so a reaction-sign test alone could never see this change.

On the second iteration the end is held at zero and the reaction is 0.0 − (−10.0) = +10.0 N. That matches the support’s positive sense, so it stays active, nothing changes state, and the loop has converged.

u1 = F / k = −10.0 / 100.0 = −0.1 mm(1)
R2 = 0.0 − (−10.0) = +10.0 N(2)

3.Results.

Expected values
QuantityExpected
Penetrating free displacement (iteration 1)−0.1 mm
Re-engaged support reaction (iteration 2)10.0 N
Final displacement0.0 mm
Iteration count2
Final changed-support count0.0
Final stateactive
Convergedtrue

The tests check that:

  • The solve converges in exactly 2 iterations, ending with the support active and a changed-support count of 0.
  • The first-iteration displacement is −0.1 mm, compared exactly.
  • The final displacement is 0.0 mm and the final reaction is 10.0 N, compared exactly.
  • At the final iteration the out-of-balance force, moment and work at the free degrees of freedom are all exactly 0.0.
  • The solve carries no notice that its tolerance is unset.
  • Any change in displacement or reaction over the last iteration stays inside the recorded envelope.

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 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 change in displacement 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.

For the student

A released support is judged by where the pipe has gone, an engaged one by what it is carrying. The switch between the two tests is what lets a support that has lifted off come back.

4.Run it yourself.

cd projects/chirality-piping
cargo test --manifest-path validation/benchmarks/nonlinear/Cargo.toml assembled_global_loop_seed_cases_converge_under_governed_policy
cargo test --manifest-path validation/benchmarks/nonlinear/Cargo.toml assembled_convergence_observations_record_measured_fixture_values_only
cargo test --manifest-path validation/benchmarks/nonlinear/Cargo.toml assembled_force_displacement_residual_observations_use_free_dof_force_moment_thresholds
cargo test --manifest-path validation/benchmarks/nonlinear/Cargo.toml dec_067_transition_fixtures_witness_state_switched_and_bounded_outcomes

Hand calculation: validation/hand_calcs/nonlinear/assembled_one_way_reengagement.md. Test record, with the recorded run of 2026-07-10: nl-assembled-one-way-reengage-original.md.

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