SWBPIPE · The open manual
Part VI · VerificationVI–E26

Part VI

Verification

E. Algorithm and software checks  ·  Non-convergence at the iteration limit

A rotational one-way support starts released. At the fourth and final allowed iteration, trial rotation is 0.002 rad toward its bearing side. The support must re-engage, so the active set still changes at the iteration limit. The solver must not present a converged answer. What should it report?

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.

This test classifies a supplied trial state at its configured limit and inspects the diagnostic. It does not solve a frame through four iterations.

Read with

The current product limit remains four active-set iterations. This diagnostic case does not establish convergence for real piping systems (Status).

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
Iteration—4
Maximum iterations—4
Active-set residual tolerance—0.0 (count)
Trial rotationθ0.002 rad
Trial rotational reactionM0.0 N·mm
Prior state—inactive (released)

2.Method.

The support carries negative reactions and so bears against positive rotation. The trial rotation of 0.002 rad moves into it, so the support re-engages. One support changes state, and the active-set residual is 1.0, not zero.

This is iteration 4 of a maximum of 4, so no further iteration is possible. The expected outcome is not a set of numbers but the solver’s non-convergence diagnostic, reported as a failure.

3.Results.

Expected diagnostic outcome
QuantityExpected
Trial rotation0.002 rad
Iteration count4.0
Active-set residual1.0
Convergedfalse
Diagnosticone non-convergence failure: “did not converge after 4 iterations”
Report statussolve failed

The case record describes these checks:

  • The step is reported as not converged, and the result is marked as blocked.
  • Exactly one diagnostic is returned: non-convergence, at failure severity.
  • The diagnostic message contains the words “did not converge after 4 iterations”.
  • The overall report status is “solve failed”. No success state is substituted.
  • For contrast, the single-step one-way re-engagement case, which is not at the limit, is reported as solved with warnings rather than failed.

What it shows. Confirms that the program reports a failure and does not substitute a result.

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.

Expected behavior. This is not a numerical comparison. The solver must stop at the cap of 4 iterations without converging and return a single non-convergence failure. No success result may be substituted. Long values are shown here to seven significant figures; the tests compare the full values in the record.

For the student

The iteration limit arrives while a support is still changing state. The solver has not established convergence. Returning the last iterate as a converged answer would hide that condition. The solver must stop and report non-convergence.

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 nonconvergence_fixture_reports_failure_diagnostic
cargo test --manifest-path validation/benchmarks/nonlinear/Cargo.toml expected_reports_preserve_warning_and_failure_statuses

Hand calculation: validation/hand_calcs/nonlinear/unresolved_nonconvergence.md. Test record, with the recorded run of 2026-07-10: nl-nonconvergence-limit-original.md.

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