SWBPIPE · The open manual
Part VI · VerificationVI–E3

Part VI

Verification

E. Algorithm and software checks  ·  Reading a model from a file

The load-to-resultant cantilever is written as a structured model file instead of being built in code. The four-meter pipe has one anchor, a uniform load of −2.0 N/m and a midspan point force of −4.0 N. Can the solver read every stated property without defaults and return the same answers?

The case tests the path from file to solver as well as the mechanics.

This page preserves a recorded benchmark and its expected values. The dated run below is not a new run of the current product.

This benchmark reads an analytical model in its test crate. It does not exercise the browser test response or the native Rust headless CLI.

Independent numerical comparison. The recorded test exercises a benchmark crate. It does not exercise the desktop product route.

A structured file describes the cantilever without hidden defaults. The case tests file reading, loads, reactions and resultants. w P L THE SAME CANTILEVER, READ FROM A MODEL FILE
Fig. VI–E3.—Reading a model from a file

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
LengthL4.0 m
Elastic modulusE1000.0 Pa
Shear modulusG400.0 Pa
AreaA3.0 m2
Second moment about yIy1.5 m4
Second moment about zIz2.0 m4
Torsion constantJ1.0 m4
Section reference directionyref[0.0, 1.0, 0.0]
Uniform distributed forceq−2.0 N/m
Uniform load span—0.0 to 1.0
Point forceP−4.0 N
Point-force positiona/L0.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.

Fy,i = qL/2 = −4.0 N,   Mz,i = qL2/12 = −2.6666666666666665 N·m   (uniform load)(1)
hi = 1 − 3r2 + 2r3 = 0.5,   θi = L(r − 2r2 + r3) = 0.5   (point load, r = 0.5)(2)
v(L) = qL4/(8EIz) + Pa2(3L − a)/(6EIz) = −0.032 + −0.013333333333333334 = −0.04533333333333334 m(3)
θ(L) = qL3/(6EIz) + Pa2/(2EIz) = −0.010666666666666666 + −0.004 = −0.014666666666666668 rad(4)
Vy(x) = Vy,i + qx + P = 12.0 + (−2.0 × 2.0) + −4.0 = 4.0 N(5)
Mz(x) = Mz,i − Vy,ix − qx2/2 − P(x − a) = 4.0 N·m(6)

3.Results.

Assembled loads, reactions, free-end movement and midspan resultants
QuantityExpected
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, Rz4.666667 N·m
Fixed-end shear Vy,i12.0 N
Fixed-end moment Mz,i24.0 N·m
Free-end displacement in Y−0.04533333 m
Free-end rotation about Z−0.01466667 rad
Midspan shear Vy4.0 N
Midspan bending moment Mz4.0 N·m

The case record describes these checks:

  • 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. Assesses how the program reads, records, and transfers a model. It does not assess 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.Recorded command.

This command belongs to the archived source at 462f66975d36cd10d5b8455193ada9517d28d353. Use a checkout of that exact revision. This edition did not run the command. The recorded result does not establish current product support.

git checkout --detach 462f66975d36cd10d5b8455193ada9517d28d353
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.

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