Part VI
Verification
E. Algorithm and software checks · Reading a model from a file
The cantilever of the load-to-resultant case is written out as a structured model file instead of being built in code. It is a four-metre pipe with one anchor, a uniform load of −2.0 N/m and a midspan point force of −4.0 N. Can the solver read the file, with every property stated and nothing filled in by default, and reach the same answers?
The case checks the path from model file to solver as much as the mechanics.
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 |
|---|---|---|
| Length | L | 4.0 m |
| Elastic modulus | E | 1000.0 Pa |
| Shear modulus | G | 400.0 Pa |
| Area | A | 3.0 m2 |
| Second moment about y | Iy | 1.5 m4 |
| Second moment about z | Iz | 2.0 m4 |
| Torsion constant | J | 1.0 m4 |
| Section reference direction | yref | [0.0, 1.0, 0.0] |
| Uniform distributed force | q | −2.0 N/m |
| Uniform load span | — | 0.0 to 1.0 |
| Point force | P | −4.0 N |
| Point-force position | a/L | 0.5 |
| Supports | — | Node N-1 anchored, node N-2 free |
2.Method.
Each load is turned into equivalent end forces and moments. The uniform load gives qL/2 and qL2/12 at each end. The point load is shared out by the cubic shape functions of a beam element, evaluated at its position.
The free-end displacement and rotation follow from the standard cantilever formulas for a uniform load and for a point load, added together. The midspan shear and moment follow from equilibrium, starting from the shear of 12.0 N and moment of 24.0 N·m at the fixed end.
3.Results.
| Quantity | Expected |
|---|---|
| Assembled load, node 0, Uy | −6.0 N |
| Assembled load, node 0, Rz | −4.666667 N·m |
| Assembled load, node 1, Uy | −6.0 N |
| Assembled load, node 1, Rz | 4.666667 N·m |
| Fixed-end shear Vy,i | 12.0 N |
| Fixed-end moment Mz,i | 24.0 N·m |
| Free-end displacement in Y | −0.04533333 m |
| Free-end rotation about Z | −0.01466667 rad |
| Midspan shear Vy | 4.0 N |
| Midspan bending moment Mz | 4.0 N·m |
The tests check that:
- The model file is read into one distributed load and one point force.
- The section reference direction is taken from the file as [0.0, 1.0, 0.0].
- The assembled end loads at both nodes match the hand values.
- The anchor reaction force and moment match the fixed-end shear and moment.
- The free-end displacement and rotation, and the midspan shear and moment, match the hand values.
- The recovery removes exactly one distributed-load and one point-force contribution.
What it shows. Checks how the program reads, records and passes on a model, not the mechanics.
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 tp_phys_014_canonical_analytical_payload_drives_solver_consumption
Hand calculation:
validation/hand_calcs/mechanics/tp_phys_014_canonical_analytical_payload.md.
Test record, with the recorded run of 2026-07-10:
mech-tp-phys-014-canonical-analytical-payload.md.