Status of this Edition
This manual describes what a piping flexibility program should compute, and how SWBPIPE computes it. The program is young, and today it falls short of that description in the places listed below. Wherever the manual describes something the program does not yet do, or does differently, the text carries a mark headed Today that links here.
The list comes from an expert review of the solver engine at revision
bc6d3459b
(24 September 2026), and was checked again against
e8562c068
(25 September 2026). The fixes merged between them cleared two items: real
project data now solves, and a support can mix rigid and nonlinear directions. Several
inputs the solver used to ignore now stop the solve with a message saying what to
change. Each remaining item is being fixed in the source, and leaves this page when its
fix is merged and checked. Until then, read results with this page
open.
The first group matters most. Those items give wrong numbers on ordinary models, with no warning.
A. Results that are wrong today
Do not rely on these results until the item is cleared.
| Limit | What happens, and what to do meanwhile |
|---|---|
| Pressure | Pressure is applied as an axial force pAi on every pressurised element, without the Poisson contraction of the wall, and the longitudinal pressure stress pDo/4t is then left out of the straight-pipe stresses. A pipe free to grow reports no longitudinal pressure stress; a pipe between anchors reports compression in a wall that pressure puts in tension, and anchor loads from pressure about two and a half times too large. Straight pipe and bends disagree at every tangent point. Meanwhile: run thermal and weight cases without pressure, and add pDo/4t by hand (Part III B). |
| Bends drawn in the program | A bend placed in the program is analysed as the straight chord between its ends: no flexibility factor, no SIF, and the chord’s length for weight. In an L-bend between anchors this gave anchor forces about 58 % high and elbow stress about 23 % low. The curved bend element is correct, but only a model file can call it. Meanwhile: treat results near bends as indicative only. |
| Unstable models | A model that can still move as a mechanism, for example a skewed run held only in translation, can be reported as solved, with rotations of 109 radians or more. Meanwhile: look at the largest displacement and rotation of every run before reading anything else. |
| Support loads | Each support reports only the size of its resultant force. Components, signs and every moment are dropped, so anchor and nozzle loads cannot be read. Where two supports share a node, each reports the whole reaction. Meanwhile: none; take support loads from the validating program. |
| SIF review row | The row that applies your SIF multiplies the whole summary stress by the SIF and, by default, by the flexibility factor as well. A bend has one SIF, not an in-plane and an out-of-plane pair, and torsion is ignored. In one test this gave 699 MPa where 47 MPa was right. Meanwhile: do not use the SIF row. |
| Summary stress | The summary adds the two bending stresses at full value, |σby| + |σbz|, where the peak on a round pipe is √(My2 + Mz2)/Z. It can be up to 41 % high, and it leaves out torsion. Summary maxima come from the first load case only. Meanwhile: work from the moments. |
| Expansion joints | The joint’s stiffness is added alongside a full-stiffness pipe over the same span, so the joint absorbs almost nothing: one test gave a thermal anchor load of 1.86 MN where about 1.8 kN was expected. Joints placed in the program are ignored, and untied joints do not produce their pressure thrust. Meanwhile: do not model expansion joints. |
| Constant-effort hangers | The hanger’s force is applied in every load case, including thermal-only cases, and it is counted twice in a combination of weight and thermal cases. Its reaction is reported as zero. Meanwhile: apply the hanger load as a force in the weight case only. |
| Spring hangers | A spring is modelled by its rate alone. Its installed (cold) load is not applied, so under weight the pipe sinks until the spring carries its share, and the weight case is wrong wherever springs carry load. There is no hanger design. A spring acts along one axis; guiding at the same point needs a separate support. Meanwhile: in the sustained case, model a designed spring as a constant force equal to its hot load. |
| Combinations with nonlinear supports | Cases solved with supports that lift off, close or slide are added as if the system were linear, with no warning. Meanwhile: solve each combined loading as a load case of its own (Part III D). |
| Mill tolerance | A mill tolerance reduces the wall used for stiffness and weight as well as for stress. Flexibility analysis uses the nominal wall; allowances reduce the section for stress only. Meanwhile: leave mill tolerance out and reduce the stress section by hand. |
B. Models that cannot yet be built or solved
These stop the work, or force a workaround.
| Limit | What happens, and what to do meanwhile |
|---|---|
| Nonlinear iteration limit | The support iteration stops after four passes. A rack line with a dozen or more rests, or five friction shoes, reports non-convergence and the whole analysis stops. With a higher limit every test model converged to the right answer. Meanwhile: keep nonlinear supports to the few that matter. |
| Imposed movements and cold spring | Thermal movements of equipment nozzles and anchors, settlement and cold spring cannot be applied. Choosing an imposed displacement in the program makes the model unsolvable. Meanwhile: none for the program; apply them in the validating program. |
| Rigid elements and component weights | Valves, flanges and other rigid components are analysed as the pipe beneath them, and their weight is not added. There is no reducer element. Meanwhile: add each component’s weight as a point force at its centre of gravity. |
| Restraint directions | Restraints act along global axes only. There are no skewed or pipe-relative restraints, no double-acting gaps or limit stops, and no restraints connecting two nodes. The vertical support acts on global Z only. Only a spring takes a stiffness: a stiffness entered on any other support stops the solve. Meanwhile: guides and line stops on skewed runs cannot be modelled. |
| Friction | Friction is a separate support on one global axis, whose normal force must come from a two-way restraint. It cannot sit on a rest that may lift off, and sliding in two directions follows a square law, not the circle of Coulomb friction. |
| Nozzles and branches | There is no nozzle flexibility and no nozzle-axis reporting. A tee is a rigid junction at a node, with no branch section modulus and no local flexibility. |
| Hydrotest | There is no hydrotest case. A load entered as hydrotest pressure stops the solve, and hangers cannot be locked. Meanwhile: check the hydrotest in the validating program. |
| Units | A new project starts in SI with metres, and no setting changes it. Values can be entered in other units, including bar, kN, kN·m, GPa, N/mm and °F; pressures marked barg or bara are refused. |
C. Not yet in the program
Work that belongs to the program you validate in, or is still to come.
| Limit | What happens, and what to do meanwhile |
|---|---|
| Code stresses | There are no sustained, expansion or occasional load-case types, no displacement stress range, and no code stress. The program computes the forces, moments and stress components they are made from (Part II K). The code check is made in the program you validate in. |
| Operating conditions | Temperatures and pressures are entered pipe by pipe as a change, not as operating conditions T1, T2 … for a line. Each load case uses one set of material properties, so a thermal case solved at the hot modulus gives a range that the codes compute with the cold one (Part II D). |
| Model batch file export | The .mbf export writes a skeleton: nodes, pipes, anchors and guides. It carries no sizes, materials, fittings, temperatures or loads. Supports that are not anchors are written as guides, which changes their mechanics, and coordinates entered in US units are labelled as millimetres. Meanwhile: use the file only as a start for the model in the receiving program (Part V). |
| Libraries and tables | Your libraries cannot yet fill in the model, and there are no pipe schedule, fitting or material tables. |
| Wind and seismic | Wind is applied to the whole span in the direction you give, not resolved onto the pipe, and has no height profile. Seismic load acts in one sense per case, on all the axes you give at once. There are no concentrated masses. |
| Shear deformation | Elements have no shear deformation. Commercial programs include it, and short, heavy legs will differ. |
| Result points | Bend results are sampled at five points along the arc, and bend end forces are reported in the chord’s axes. End and intermediate rows use opposite sign conventions. |
1.What is sound.
The same review found the foundations right. The curved bend element matches a 64-segment straight model to five significant figures and independent L-bend solutions to eight. The coordinate transformation is exact on skewed members. Restrained directions are removed exactly rather than stiffened. The sparse solver, the consistent loads on spans and bends, and the contact logic of the nonlinear supports are correct. No input is filled in quietly: a missing value stops the solve with a message naming it, and so does a value the solver would otherwise ignore, such as a stiffness on a rigid support or a hydrotest pressure.