Part VI
Verification
D. Nonlinear supports · Friction support breaks away
A straight member 1.0 mm long has axial stiffness 100.0 N/mm and one fixed end. Its other end can move only axially. Friction coefficient is μ = 0.30, with given normal reaction 20.0 N and axial push 10.0 N. The support starts sticking. Can it hold the push? If it slides, where does the end settle?
This page preserves a recorded benchmark and its expected values. The dated run below is not a new run of the current product.
The current product limits active-set solves to four iterations. Current mechanics combinations with nonlinear supports are withheld. These recorded transitions and free-degree residuals do not establish general equilibrium or convergence for other models.
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.
| Quantity | Symbol | Value |
|---|---|---|
| Node count | — | 2 |
| Member length | L | 1.0 mm |
| Axial stiffness | k | 100.0 N/mm |
| Applied axial force | F | 10.0 N |
| Friction coefficient | μ | 0.30 |
| Normal reaction (given) | N | 20.0 N |
| Friction limit | μN | 6.0 N |
| Maximum iterations | — | 4 |
| Active-set residual tolerance | — | 0.0 (count) |
| Initial state | — | sticking |
2.Method.
While sticking, the support holds the end in place, and the first solve gives a tangential reaction of −10.0 N. The friction limit is 0.30 × 20.0 = 6.0 N, less than the reaction needed, so the support changes to sliding.
On the sliding iteration a friction force of 6.0 N opposes the motion. The net push is 10.0 − 6.0 = 4.0 N, and the end moves 4.0 / 100.0 = 0.04 mm. The support stays sliding, nothing changes state, and the loop has converged.
The normal reaction is a given input. The case does not model where it comes from.
3.Results.
| Quantity | Expected |
|---|---|
| First tangential reaction (sticking) | −10.0 N |
| Bounded sliding force | −6.0 N |
| Final displacement | 0.04 mm |
| Iteration count | 2 |
| Final changed-support count | 0.0 |
| Final state | sliding |
| Converged | true |
The case record describes these checks:
- The solve converges in exactly 2 iterations, ending with the support sliding and a changed-support count of 0.
- The first reaction, the sliding force and the final displacement are worked in the reference but are not compared as numbers. The tests check them through the resulting state and iteration count.
- 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.
- The displacement changes over the last iteration, and that change 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 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 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 linked case record and its recorded execution path. This website update did not rerun it. A historical command or result does not establish current product support.
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
Hand calculation:
validation/hand_calcs/nonlinear/assembled_friction_sliding.md.
Test record, with the recorded run of 2026-07-10:
nl-assembled-friction-slide-original.md.