SWBPIPE · The open manual
Part III · The MethodIII–1

Part III

The Method in SWBPIPE

A. The 3D beam model

SWBPIPE solves the problem of Part II by the direct stiffness method. The centreline is divided into elements that meet at nodes. Every node has six degrees of freedom, three movements and three rotations, in the order ux, uy, uz, θx, θy, θz. Each element relates the twelve movements at its two ends to the twelve forces and moments there through its stiffness matrix; the matrices are assembled into one system for the whole line and solved for the movements of the nodes. The classical force method of Part II F solves the same problem by other means, and the bend element below is built from the same flexibility integrals.

This part describes the method as it should be computed. Where the program does not yet compute it that way, a mark headed Today says so and links to the status of this edition.

1.Axes.

Each element has its own axes. Local x runs from the first node to the second. Local y comes from a reference direction given for the element, with its x component removed, and local z completes a right-handed set. For a round pipe the reference direction affects only the axes in which forces and moments are reported, not the stiffness. The element stiffness is turned into global axes by the direction cosines of the local axes,

Kglobal = TT Klocal T(1)

where T repeats the 3 × 3 direction-cosine matrix four times along its diagonal. The inclined member case checks this transformation.

Today

A reference direction must be entered on every pipe, although it does not change a round section’s stiffness.

2.Straight pipe.

A straight element carries axial force, torsion and bending about both local axes. Its section comes from the nominal outside diameter Do and nominal wall t, with Di = Do − 2t:

A = π(Do2 − Di2)/4,   I = π(Do4 − Di4)/64,   J = 2I(2)

J is the torsion constant, equal to the polar moment for a circular tube. Stiffness and weight use the nominal wall. Corrosion and other allowances reduce the section used for stress only, as the codes require (Part II K).

For bending in the local x–y plane, with the degrees of freedom ordered vi, θz,i, vj, θz,j, an element of length L has the stiffness

EI/L3  
126L−126L
6L4L2−6L2L2
−12−6L12−6L
6L2L2−6L4L2
(3)

In the x–z plane the terms coupling a movement to a rotation change sign, because a positive θy lowers the z coordinate ahead of it. The axial and torsional terms are EA/L and GJ/L.

Today

The element is an Euler–Bernoulli beam, with no shear deformation. Commercial programs include it, so short, heavy legs will be stiffer here than in the program you validate in (Status). A mill tolerance, if entered, is taken off the wall for stiffness and weight as well as stress (Status).

3.Bends.

A bend is built the way the classical methods built it, from its flexibility. With one end held, the flexibility at the other end is found by integrating the unit-load moments and forces around the arc of radius R. The bending terms are multiplied by the flexibility factor k (Part II E):

fab = R ∫ ( k MaMb/EI + k M′aM′b/EI + TaTb/GJ + NaNb/EA ) dφ(4)

where M is the in-plane and M′ the out-of-plane bending moment. For an elbow the classical theory gives the same k in both planes. The integrals are evaluated in closed form, the 6 × 6 flexibility is inverted, and the result is carried by equilibrium to a 12 × 12 stiffness joining the two tangent points. Weight is applied along the arc. The expansion loop checks the element at k = 1, 5, 10 and 20.

Today

A bend drawn in the program is analysed as the straight chord between its ends, without k or SIF. The curved element is used only when a model file asks for it (Status). You enter k; the program does not compute it from the bend’s geometry.

4.Rigid elements, expansion joints and tees.

Rigid elements. Valves, flanges and other stiff components are modelled as elements many times stiffer than the pipe they join, with their weight lumped at their centre of gravity. Expansion joints replace the pipe over their length with the joint’s own axial, lateral, angular and torsional stiffness. A joint without tie rods also transmits its pressure thrust, the pressure times its effective area, to the adjoining pipe and anchors; tie rods carry that thrust across the joint instead. Tees join the header and branch at a common node; the branch SIF is applied with the branch section modulus.

Today

There is no rigid element and component weights are not added (Status). Expansion joints have almost no effect (Status). A tee is a rigid junction with no branch section modulus (Status).

5.Assembly and solution.

Every element adds its stiffness into one system for the whole model, Ku = F. Restrained degrees of freedom are removed exactly, not represented by stiff springs, and prescribed movements carry their effect into the load. For a properly restrained model the reduced K is symmetric and positive definite. It is solved by a sparse direct method: the equations are reordered to keep the matrix narrow (reverse Cuthill–McKee), then factored as LDLT. A pivot that is zero or negative, or tiny against the largest diagonal term, means the model can still move as a mechanism; the solve stops there and names the free node and direction. A dense solve is available as a check.

No support is ever assumed. A model with no supports, or one missing a material, an orientation or a unit, is not solved, and the message names what is missing.

Today

The pivot test is an absolute threshold, so some mechanisms are reported as solved (Status). Prescribed movements cannot yet be entered (Status).

6.What comes back.

From the solved movements the program recovers the reaction at every restraint, R = Ku − F, with its three force and three moment components; the forces and moments at the ends of each element; and the section forces at intermediate points along each element: its quarter points and middle. Element forces are recovered as the element stiffness times its end movements, less the equivalent loads that were applied to its nodes.

Today

Each support reports only the size of its resultant force, with no components and no moments (Status).

Checked by: cantilever, branch assembly, loads to resultants, intermediate points, one linear static path, torsion.

Part III · The MethodIII–2

B. Loads

Loads are applied at the nodes. A load spread along an element is replaced by its consistent (equivalent) nodal loads, so that a uniform load w over a straight element of length L gives wL/2 and wL2/12 at each end. The forces the element actually carries then come from the solution, as in A 6.

1.Weight.

Weight is the mass per length of pipe, contents and insulation times a gravity you enter, with its sign and axis. There is no default gravity and no default density. On a bend it is applied along the arc. Each rigid component adds its weight at its centre of gravity.

2.Thermal expansion.

Thermal load is a temperature change on each element with the mean expansion coefficient over that change, or the thermal strain directly (Part II A). It is applied as the equivalent nodal load

F = EAαΔT(5)

pushing outwards at the two ends of each element. The force the element actually carries comes from the solution: EAαΔT in compression if both ends are held, nothing if the element is free to grow.

3.Pressure.

Pressure is treated in the usual way for beam models of piping. In a continuous line the closed-end pressure force is carried by the pipe wall and balances itself, so it moves the system only at unbalanced points: untied expansion joints, open ends and slip joints. There it acts as a thrust equal to the pressure times the effective area. The longitudinal pressure stress is always added in the stress recovery (E 1).

Pressure also lengthens a closed pipe slightly (the Bourdon effect). With the hoop stress σH and the longitudinal pressure stress σL = σH/2, the axial strain is

εp = (σL − νσH)/E = pD(1 − 2ν)/(4tE)(6)

about a fifth of σH/E for steel. It is small, and programs usually make it optional. In the wall of a heated, pressurised pipe held at both ends, temperature causes compression and pressure causes tension of about νσH: the two act in opposite senses. On the anchors both push, and the pressure’s share is (1 − 2ν)pAi, about 40 % of the closed-end force.

Today

The program applies pressure as an axial force pAi on every element, without the Poisson term, and then leaves the longitudinal pressure stress out of straight pipe. Its pressure elongations and anchor loads are about two and a half times too large and its longitudinal pressure stress is missing (Status).

4.Imposed movements and cold spring.

The thermal growth of equipment at a nozzle, the movement of an anchor, and settlement are applied as prescribed movements of the restrained degrees of freedom, per load case. Cold spring is a prescribed closing of a gap left at the cut (Part II G).

Today

Neither can be entered yet (Status).

5.Wind and seismic.

Both are equivalent static loads. Wind on a span is w = q·Cd·D, from the wind pressure q, a drag coefficient Cd and the exposed diameter including insulation, applied with the component of the wind normal to the pipe. Static seismic load is w = m′·a·g, from the mass per length and a seismic coefficient a in g, applied in each direction and each sense and combined by the rule you choose.

Today

Wind is applied to the whole span in the direction given, with no height profile, and seismic load acts in one sense per case (Status).

6.Material at temperature.

Elastic modulus, shear modulus and expansion coefficient can be entered at several temperatures. A load case takes its properties at one of them, or at a temperature between two, interpolated linearly:

y = y1 + (T − T1)(y2 − y1)/(T2 − T1)(7)

It never extrapolates. For code work the displacement stress range is computed with the reference (installed) modulus, and hot reactions are scaled from it (Part II D).

Today

Each load case uses one set of properties, so a thermal case solved at the hot modulus carries it into the range (Status).

Checked by: restrained thermal growth, partial-span load, weight, seismic and wind loads, properties at temperature.

Part III · The MethodIII–3

C. Supports

Supports are described in Part II H and I as the practitioner uses them. In the model each acts on the degrees of freedom of one node, rigidly or through a stiffness, in the directions its type implies relative to the pipe, or along a direction you give.

SupportHow it acts in the model
AnchorHolds all six degrees of freedom, rigidly or with the stiffnesses you give.
Rest (+Y)Holds the pipe from moving down; lets it lift off. Nonlinear.
GuideHolds movement across the pipe axis, with or without clearance on each side.
Line stop, limit stopHolds movement along the pipe axis, in one or both senses, with or without clearance.
Skewed restraintHolds movement along a direction you give.
Variable spring hangerA spring of the hanger’s rate, preloaded with its cold (installed) load.
Constant support hangerA constant upward force equal to its load, in the cases that carry weight.
Rod hangerHolds the pipe up in tension; goes slack if the pipe rises. Nonlinear.
FrictionAt a rest or guide, resists sliding in the support plane up to μN, where N is that support’s own reaction.
Today

Restraints act only along global axes, in the directions you list; the type does not imply them, and there are no skewed restraints or two-sided gaps (Status). Springs carry no preload (Status). Constant-effort force acts in every case (Status). Friction is a separate support per global axis (Status). The program’s screens call a rest a one-way or lift-off support.

1.Nonlinear supports.

Whether a rest, a gap, a rod hanger or a friction support acts depends on the answer. The program finds the active set by iteration: it assumes a state for each such support, solves the linear system for that state, and checks every support against the result. A rest whose reaction would pull is released; a released rest the pipe would pass through is re-engaged; a gap closes when the movement reaches its clearance; a friction support slides when the tangential force would exceed μN, and is then loaded by μN against the motion. The supports that disagree change state and the system is solved again, until no support changes and the forces balance.

With rests and gaps alone this settles in a few passes for most lines. Friction makes the answer depend on the order of loading, and the iteration is not guaranteed to converge. When it does not, the result is reported as not converged, never as solved.

Today

The iteration stops after four passes, which ordinary rack lines exceed (Status).

Checked by: mixed supports, spring boundary, rest re-engaging, gap, friction, and the other cases of Part VI D.

Part III · The MethodIII–4

D. Load cases and combinations

A load case is a set of loads with the material properties it is solved at. Each is solved on its own, as a linear solve or, with nonlinear supports, as an iteration on their states. Combinations are then formed from the results:

CombinationWhat it does
AlgebraicA factored sum or difference of cases, for example the expansion case as operating minus sustained. It combines movements, forces and moments, never stresses.
EnvelopeThe maximum, minimum or largest absolute value of each result across cases. An envelope is not a range.

A displacement stress range is formed from the difference of section forces and moments between two states, and the stress is then computed from those differences (E 2). The usual set of cases for a code check is set out in Part II C.

For the student

Adding results that were solved separately is exact only when the system is linear. A rest that lifts off, a gap that closes or a shoe that slides in one case may act differently when the loads come together. The sustained case of a line whose rests lift off when hot is therefore solved in the supports’ operating state, or the combined loading is solved as a case of its own.

Today

The program has no sustained, operating, expansion or occasional case types (Status), and it adds cases with nonlinear supports as if they were linear, without warning (Status). Its screens call an algebraic difference a result-state subtraction and an envelope a range envelope.

Part III · The MethodIII–5

E. Stress recovery

Stresses are recovered from the section forces at each end and intermediate point, by open mechanics:

ComponentFormula
Axialσa = N/A
Bending, peak on the circumferenceσb = √(My2 + Mz2)/Z,   Z = 2I/Do
Torsional shearτ = T/(2Z)
Hoop, from pressureσH = p r/t,   r = (Do − t)/2
Longitudinal, from pressureσlp = σH/2

The pressure stresses use the mean radius of a thin wall. The codes use their own forms, such as pDo/4t for the longitudinal stress, so the validating program will differ slightly.

1.Peak longitudinal stress.

For a quick reading at each point, the peak longitudinal stress on the circumference is

σmax = |σa + σlp| + √(My2 + Mz2)/Z(8)

with torsion reported beside it. It is a mechanics value, not a code stress. With in-plane and out-of-plane SIFs entered for a bend or branch, the intensified bending term is √((iiMi)2 + (ioMo)2)/Z. SIFs apply to the moments, never to the pressure stress.

Today

The program’s summary adds |σby| + |σbz|, up to 41 % high, and leaves out torsion (Status). Its SIF row multiplies the whole summary by the SIF and by k; do not use it (Status). Straight-pipe results leave out the longitudinal pressure stress (Status).

2.Ranges.

The range between two states is recovered from the difference of their forces and moments: the moment range first, then the stress. Differencing two summary values, or two intensified values, gives the wrong answer whenever the moments turn between the states.

Today

The program’s range takes the difference of each stress component, |b − a|, which is right component by component but is not the code range (case, Status).

3.What it does not compute.

SWBPIPE computes movements, loads, forces, moments and the stress components above. It does not compute code stresses, allowables or stress ratios, and it does not judge compliance with any code. That check is made in the program you validate in (Part V).

Checked by: axial, bending, torsion, pressure, range, end forces to stress.

The full theory

This part says what the solver computes. The derivation of every equation behind it, from the element stiffness to the nonlinear iteration, is being written as the SWBPIPE theory alongside the source, in docs/theory, and will be published here as Part VII, chapter by chapter.

Contents · Part II · Part IV · The program: swbpipe.com · MIT licence