SWBPIPE · The open manual
Part VI · VerificationVI–B14

Part VI

Verification

B. Elements and loads  ·  Generated seismic and wind loads

An insulated pipe, 0.2 m in outside diameter and full of liquid, spans 3.0 m. The user enters seismic factors of 0.3 along X and −0.2 along Z, and a wind pressure of 480.0 Pa with a shape factor of 0.7 acting along Y on this span. What uniform loads should the solver generate from these entries? Do the loads reach the span end nodes just as loads entered by hand would?

Every factor, including gravity, is a user entry. Nothing is defaulted.

Seismic and wind loads are generated from user-entered factors and the pipe’s own mass and size; intensities and end forces are checked. GENERATED w SEISMIC: FACTORS ALONG X AND Z WIND: PRESSURE × SHAPE × DIAMETER, ALONG Y L
Fig. VI–B14.—Generated seismic and wind loads

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
Outside diameterDo0.2 m
Nominal wall thicknesstnom0.01 m
Mill tolerancem0.00125 m
Material densityρm7850.0 kg/m3
Contents densityρc800.0 kg/m3
Insulation thicknesstins0.025 m
Insulation densityρi120.0 kg/m3
Gravitational acceleration (user entry)g9.80665 m/s2
Seismic factor, global X—0.3
Seismic factor, global Z—−0.2
Wind pressurep480.0 Pa
Wind shape factorC0.7
Wind direction—Global Y
Span lengthL3.0 m

2.Method.

The mass per metre is built from the pipe’s own geometry. The wall is thinned by the mill tolerance, and the metal, contents and insulation areas are each multiplied by their densities and added.

Each seismic load is that mass per metre times the user’s factor times the user’s gravity. The wind load is pressure times shape factor times the exposed diameter, which includes the insulation, and it applies only to the span the user has marked. Each uniform load is then split half to each end of the span.

teff = tnom − m = 0.00875 m,   Di = Do − 2teff = 0.1825 m,   Dins = Do + 2tins = 0.25 m(1)
m′ = Ametalρm + Acontentsρc + Ainsρi = 41.26948280649718 + 20.926934063725005 + 2.1205750411731096 = 64.31699191139529 kg/m(2)
wseismic,X = m′ × 0.3 × 9.80665 = 189.22026861836537 N/m(3)
wwind,Y = pCDins = 480.0 × 0.7 × 0.25 = 84.0 N/m(4)
Fend = wL / 2(5)

3.Results.

Mass, generated intensities and lumped end forces
QuantityExpected
Metal area5.257259 × 10−3 m2
Contents area2.615867 × 10−2 m2
Insulation area1.767146 × 10−2 m2
Mass per length64.31699 kg/m
Seismic intensity, global X189.2203 N/m
Seismic intensity, global Z−126.1468 N/m
Wind intensity, global Y84.0 N/m
Seismic end force, global X, each end283.8304 N
Wind end force, global Y, each end126.0 N

The tests check that:

  • Seismic generation gives two loads, along X and Z, with the expected intensities and no findings.
  • Wind generation gives one load along Y with the expected intensity and no findings.
  • The generated loads pass the solver’s equivalent-static check as three uniform element loads.
  • Lumped to the span ends, the seismic X and wind Y forces at both nodes match the hand values.
  • With no mass input, or no marked span, generation produces no loads and reports a finding instead.

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.

For the student

Two diameters are at work. The seismic mass uses the wall thinned by the mill tolerance, while the wind sees the full outside of the insulation, 0.25 m rather than 0.2 m.

4.Run it yourself.

cd projects/chirality-piping
cargo test --manifest-path validation/benchmarks/mechanics/Cargo.toml occloadgen_generation_matches_witness_intensities
cargo test --manifest-path validation/benchmarks/mechanics/Cargo.toml occloadgen_generated_loads_pass_boundary_and_lump_to_end_nodes
cargo test --manifest-path validation/benchmarks/mechanics/Cargo.toml occloadgen_generation_blocks_without_user_inputs_or_marked_spans

Hand calculation: validation/hand_calcs/mechanics/tp_pmm_p3_occloadgen_equivalent_static.md. Test record, with the recorded run of 2026-07-10: mech-tp-pmm-p3-occloadgen-equivalent-static.md.

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