Part VI
Verification
B. Elements and loads · Mixed support boundary
Three supports are placed on a small model: a full anchor at node 0, a translational spring of 250.0 N/m in Y at node 1, and an imposed rotation of 0.015 rad about Z at node 2. How many freedoms become rigidly restrained? Does the spring stay a spring, rather than being treated as a rigid restraint?
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 0 anchor | — | 6 restrained freedoms |
| Node 1 spring stiffness in Y | k | 250.0 N/m |
| Node 2 imposed rotation about Z | θz | 0.015 rad |
2.Method.
The anchor holds all six freedoms at its node. The imposed rotation fixes one more freedom at a known value. The spring resists movement elastically and does not join the list of rigid restraints.
3.Results.
| Quantity | Expected |
|---|---|
| Restrained freedoms | 7 |
| Spring stiffness | 250.0 N/m |
| Imposed rotation | 0.015 rad |
The tests check that:
- Boundary preparation completes without blocking.
- Seven freedoms are rigidly restrained.
- Exactly one spring is recorded, with a stiffness of 250.0 N/m.
- Exactly one imposed displacement is recorded, with a value of 0.015 rad.
What it shows. Checks the loads or boundary conditions prepared for the solver against a hand calculation. No system is solved.
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. Each computed value must match the reference within an absolute difference of 1.0 × 10−9 in the case’s own units; counts and structural outcomes must match exactly. 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/mechanics/Cargo.toml support_boundary_fixture_prepares_mixed_supports
Hand calculation:
validation/hand_calcs/mechanics/support_boundary_mixed.md.
Test record, with the recorded run of 2026-07-10:
mech-support-boundary-mixed.md.