Nozzle Loads & Local Shell Flexibility — the Vessel is a Spring
The nozzle that failed twice — and the model that lied
A 12″ hot line runs from a heater to the side nozzle of a 3 m diameter column. The stress engineer models the nozzle as an anchor — six degrees of freedom, all fixed — because that is what the vessel is: forty tonnes of steel on a concrete pier. The run comes out at 6 kN·m of bending on the nozzle. The vessel vendor's allowable is 3 kN·m. Two supports get added, a loop gets squeezed in, the route grows four metres of pipe and two weeks of schedule.
Then the vessel group runs a WRC check on the as-built geometry and finds that the shell around that nozzle never saw 6 kN·m. It saw about 1.1.
Before you read on, commit to an answer: the pipe-stress model said 6 kN·m and the vessel actually felt 1.1. Which one was wrong, and in which direction is it dangerous?
The reveal: both numbers are right for the model that produced them, and the rigid model is wrong about the thing it was asked. The nozzle is not an anchor. It is a spring — a fairly soft one — bolted to the end of the pipe. A thermal load is a displacement demand, not a force demand: the pipe grows a fixed amount and the moment that appears is whatever the stiffness multiplies that growth by. Soften the far end and the moment collapses. Here the shell's rotational stiffness is about 660 kN·m/rad against the pipe leg's 2 900 — so the shell absorbs 81 % of the rotation and takes 19 % of the moment.
The misconception, stated plainly: "The vessel is massive, so the nozzle is an anchor."
Let it stand for a second, because it is nearly true — for the vessel as a rigid body. It is false for the 150 mm patch of 20 mm plate that the nozzle is actually welded to. Mass is not stiffness. A 3 m diameter shell rolled from 20 mm plate is a membrane: superb in tension, feeble in local bending. The nozzle does not load the vessel; it loads a dinner-plate-sized piece of it.
And the misconception costs you in both directions, which is why it survives:
- Rigid model, thermal load → over-predicts the nozzle moment → over-predicts the pipe stress → you buy loops, supports and schedule you never needed.
- Rigid model, anything → it hides the local shell stress entirely, because a rigid anchor has no shell in it. The vessel side of the joint is the part that actually cracks, and the rigid model has nothing to say about it.
Symbol key — every symbol on this sheet
Convention first: capitals belong to the shell, lower case to the nozzle. D, T, R are
the vessel; d, t_n, a are the branch. Once you read case as ownership, the formulas read as
sentences.
- D — shell outside diameter · mm
- T — shell wall thickness (the parent plate, not the pad) · mm
- R — shell mean radius = (D − T)/2 · mm
- T_eff — local effective thickness where a repad is fitted ≈ T + 0.8·t_pad · mm
- d — nozzle outside diameter · mm
- t_n — nozzle neck wall thickness · mm
- a — nozzle mean radius = d/2 · mm
- t_pad — reinforcement pad thickness · mm
- ℓ — shell bending attenuation length = √(R·T): the distance over which a local disturbance dies away · mm
- K_shell — rotational stiffness of the shell at the nozzle · kN·m/rad (or N·mm/rad)
- K_pipe — rotational stiffness the piping presents at the same point · kN·m/rad
- L_eq — the extra length of nozzle pipe that would be as flexible as the shell · m
- M — external moment on the nozzle (longitudinal M_L, circumferential M_C, torsional M_T) · kN·m
- P — radial thrust on the nozzle (push/pull along the branch axis) · kN
- p — internal design pressure · bar, MPa
- S — code allowable stress for the shell material at temperature · MPa
- P_m — general primary membrane stress (mostly p·D/2T hoop) · MPa
- P_L — local primary membrane stress added by the nozzle load · MPa
- P_b — primary bending stress through the shell wall at the nozzle · MPa
- Q — secondary stress: self-limiting, thermal/displacement-driven · MPa
- λ, γ — WRC shape parameters: λ ≈ d/D (opening ratio), γ = R/T (thinness)
Why √(R·T) keeps appearing — the boundary layer of a shell
A cylindrical shell answers a local load the way a beam on an elastic foundation answers a point load: the disturbance decays exponentially and oscillates. The decay constant works out to β = [3(1−ν²)]^0.25 / √(R·T), so the natural yardstick of "local" is √(R·T), and everything important happens within about 3ℓ of the attachment.
For our column: √(1490 × 20) = 173 mm. That is the whole world the nozzle lives in. Three attenuation lengths is 520 mm — beyond that the shell has forgotten the nozzle exists. It is why two nozzles 300 mm apart interact and two nozzles 1 m apart do not; why a nozzle near a head or a stiffening ring is much stiffer (the two boundary layers overlap and the ring does the work); and why the correct question about a repad is not "is it big enough to replace metal?" but "does it cover the boundary layer?"
It is also why local stress is so sensitive to T. The membrane strength of a shell goes as T; its local bending stiffness goes as T³, and ℓ only as √T. Double the plate and the local stress drops roughly fourfold while the stiffness rises nearly threefold.
The shell is a spring, not an anchor
Take the nozzle moment M and ask what rotation θ it produces at the shell. A tidy way to see the answer is to note that the shell resists over a patch about ℓ wide, so the rotational stiffness scales as the plate rigidity times the cube of (nozzle radius ÷ attenuation length):
ℓ = √(R · T_eff) shell attenuation length
K_shell ≈ ½ · E · T_eff³ · (a/ℓ)³ ≡ ½ · E · a³ · (T_eff/R)^1.5 [N·mm/rad]
(the two are the same expression: ℓ³ = (R·T_eff)^1.5, so T_eff³/ℓ³ = (T_eff/R)^1.5)
L_eq = E·I_nozzle / K_shell the same softness, expressed as extra pipe
The L_eq line is the one that changes minds. For our 12″ nozzle on a 3 m × 20 mm shell,
K_shell ≈ 660 kN·m/rad, and the nozzle pipe has E·I = 2.33 × 10¹³ N·mm². So
L_eq = 2.33e13 / 6.6e8 = 35 000 mm = 35 m
Welding that nozzle to that shell is rotationally equivalent to hanging 35 metres of extra 12″ pipe on the end of the line. Nobody would model 35 m of pipe as an anchor. Take the same nozzle to a heavy-wall reactor at D/T = 40 and L_eq falls to about 4.7 m — still not an anchor, but a very different animal. Stiffness lives in D/T, not in tonnage.
Watch it happen: drag the shell around, turn the moment on and see the shell dimple in on one side and bulge out on the other within one √(R·T), then hit Rigid-anchor to watch that deformation — and all the relief that comes with it — vanish: ▶ open the interactive: static nozzle flexibility 3d
Where the real numbers come from:
- WRC 297 (1984, Local Stresses in Cylindrical Shells due to External Loadings on Nozzles) is the classic source of flexibility as well as stress. CAESAR II's nozzle-flexibility auxiliary is WRC 297; it hands the model three springs (axial, and two rotations) instead of a fixed point. Validity is roughly d/D ≤ 0.5, D/T between 20 and 2500, d/t_n ≥ 20 — outside that you are extrapolating, not calculating.
- API 650 Annex P does the same job for the shell openings of large storage tanks, where the effect is even more extreme because the shell is thinner still.
- Shell FE (a local plate/shell model, or a nozzle-FE tool) is the general answer, and the only honest one for large d/D, nozzles near heads or saddles, pads, or non-radial nozzles.
Two things this does not do, and they are the traps:
- Flexibility only relieves displacement-driven load. Thermal growth, settlement and equipment movement are displacement demands, and softening the end reduces the force. Weight, pressure thrust and wind are force demands — the load arrives regardless, and all the extra flexibility buys you is more movement. Model nozzle flexibility for a weight case and the sustained stress will not drop; the nozzle will just sag further.
- More flexibility means more displacement. The pipe end now moves. Re-check clearances, the first support's travel, and whether the spring hanger sized for the rigid model still has range.
Local stress is the check that actually governs
Here is the second half of the misconception, and the more expensive half. Engineers check that the nozzle load is within the vendor's table and stop. But the vendor's table is a proxy. The real criterion is the stress in the shell plate around the opening — and it is a different quantity from the stress in the nozzle pipe, computed by a different method, against a different allowable.
That method is WRC 107 (1965, from Bijlaard's shell solutions), now superseded in practice by WRC 537 (2010) — same physics, corrected and far more usable curves, and the version ASME VIII-2 points to. You feed it the external loads and the two shape parameters, and it returns the membrane and bending stress at eight points around the opening. Note what WRC 107/537 assumes: the attachment is rigid. It gives you stress for a given load; it does not give you flexibility. That is why 107 and 297 are used together — 297 to find the load, 107/537 to check it.
Splitting the answer into membrane and bending is not bookkeeping, it is the whole safety argument:
P_m general membrane — pressure hoop, p·D/2T. Uniform through the wall.
P_L local membrane — the nozzle load stretching the patch. Uniform through the wall.
P_b local bending — the nozzle load bending the plate. Linear through the wall.
Q secondary — self-limiting: thermal, displacement-driven.
Membrane stress has nowhere to go. Exceed yield in membrane and the shell keeps stretching — that is a burst mechanism, so its allowable is tight. Bending stress redistributes: the outer fibre yields, the load shifts inward, the section shakes down to elastic cycling. Hence the classic ladder (ASME VIII-2 Part 5):
P_m ≤ 1.0 S burst
P_L ≤ 1.5 S local membrane
P_L + P_b ≤ 1.5 S primary local + bending (× k = 1.5 occasional → 2.25 S)
P_L + P_b + Q ≤ 3.0 S RANGE, shakedown, thermal included
For our worked case the local bending from the rigid moment is 189 MPa on its own — on top of 112 MPa of pressure hoop. Total 312 MPa. From the real, flexible moment it is 35 MPa, and the total is 149. The governing number changed by a factor of two because of an assumption nobody wrote down. And which rung of the ladder those numbers face depends on the load case, not on the geometry: the moment in this example is thermal, so the stress it produces is secondary and belongs in the 3 S range check — not in the 1.5 S / 2.25 S primary check, which is where the false failures come from. (ASME VIII-2 Table 5.6 is stricter still: the bending part of a nozzle's local stress from any external load is classified Q, only the local membrane is P_L.)
Try it on your own geometry — the explorer puts both bars side by side, splits the stack into P_m / P_L / P_b, and shows how fast the local stress dies with distance: ▶ open the interactive: static nozzle flexibility calc
What a reinforcement pad really does. Ask most people and they will say "it replaces the metal removed by the hole." True, and that is the area-replacement rule for pressure. But structurally a pad does three other things:
- It raises the local thickness, so K_shell goes up roughly as T_eff^1.5 — a pad of the same thickness as the shell makes the joint about 2.4× stiffer.
- Because it is stiffer, it attracts more moment from a displacement-driven load. This is the counter-intuitive part: pad a nozzle to fix a failing WRC check and the load on it rises.
- It still wins, because local stress falls faster (≈ 1/T_eff²) than the moment rises (≈ T_eff^1.5). At the same moment a 20 mm pad cuts P_b by 3× (189 → 64 MPa). Let the moment rise too — the worked case goes from 1.11 to 2.12 kN·m — and the net saving is about 1.6× (35 → 22 MPa). Still a win, but less than half the win you get by reading the stress formula alone.
But a pad is not free. It moves the discontinuity to the pad edge, where a new, smaller stress concentration appears; it must be vented (the telltale hole is a leak detector and a relief path during PWHT); it is often forbidden in cyclic, lethal, low-temperature and thick-wall service, where the answer is an integrally reinforced / self-reinforced nozzle (a forged insert) — which is stiffer again, and the nearest thing to the rigid assumption you will ever build. And a pad does nothing at all for the stress in the nozzle neck, which is the other half of WRC 297's output.
Worked example — 12″ on a 3 m column
Column D = 3000 mm, T = 20 mm, SA-516-70 at 200 °C so S ≈ 138 MPa, p = 15 bar. Nozzle 12″ NB, OD 323.9 × 9.53 mm. First pipe leg 8 m, straight, anchored at the far end. Rigid-anchor pipe-stress model reports M = 6.0 kN·m.
R = (3000 − 20)/2 = 1490 mm
a = 323.9/2 = 162 mm
ℓ = √(1490 × 20) = 173 mm
D/T = 150 d/D = 0.108 (comfortably inside WRC validity)
K_shell = ½ × 200 000 × 162³ × (20/1490)^1.5 = 6.6e8 N·mm/rad = 660 kN·m/rad
I_noz = π/64 (323.9⁴ − 304.84⁴) = 1.164e8 mm⁴
K_pipe = E·I/L = 2e5 × 1.164e8 / 8000 = 2.91e9 N·mm/rad = 2 910 kN·m/rad
M_flex = M × K_shell/(K_shell + K_pipe) = 6.0 × 660/3 570 = 6.0 × 0.185 = 1.11 kN·m
L_eq = 2.33e13 / 6.6e8 = 35 m of extra 12″ pipe
Now the shell check, using an effective width b = a + 2ℓ = 507 mm:
P_m = p·D/2T = 1.5 × 3000/40 = 112 MPa
from M = 6.0 (rigid) from M = 1.11 (real)
couple force P = M/a 37.0 kN 6.9 kN
P_b = 6·P·ℓ/(b·T²) 189 MPa 35 MPa
P_L = P/(ℓ·T) 11 MPa 2 MPa
P_m + P_L + P_b 312 MPa 149 MPa
Now pick the right allowable. The 6.0 kN·m is a thermal moment — a displacement demand — so the stress it drives is secondary, and the check is the shakedown range:
P_m + P_L + P_b + Q ≤ 3 S = 414 MPa 312 → PASS (75 %) 149 → PASS (36 %)
Both pass, and that is the correct answer. Run the same 312 MPa against the primary ladder — 2.25 S = 311 MPa — and it "fails by a whisker", triggering a redesign that the code never asked for. That is the single most common false failure on a WRC worksheet: a rigid model and the wrong rung, stacked.
Change the load case and both halves flip. If that same 6.0 kN·m were sustained — weight, pressure thrust, wind — then flexibility buys nothing (M stays 6.0) and the primary check governs:
P_L + P_b ≤ 1.5 S = 207 MPa 200 MPa → PASS at 97 %, with no relief available
Same nozzle, same pipe, same day. The only things that changed are whether the vessel was allowed to be a spring, and which rung the answer was measured against. Note what did not change: for the weight case M_flex is still 6.0 kN·m — flexibility relieves displacement, never force.
Common pitfalls
- Expecting flexibility to relieve a sustained load. Weight, pressure thrust and wind are force-driven. The nozzle spring only helps the thermal/displacement case.
- Checking nozzle-pipe stress and calling the vessel done. The pipe can be at 30 % of allowable while the shell plate beside the weld is at 120 % of its own.
- Comparing a thermal (secondary, Q) local stress to a primary allowable. Thermal belongs in the 3 S range check, not the 1.5 S check. This is the single most common false failure in a WRC worksheet.
- Padding a failing nozzle without re-running the flexibility. Stiffer joint, bigger moment; you usually still win, but you must re-run it, not assume it.
- Forgetting the pressure stress is already sitting in the same element. P_m is not spare capacity; it is the first 110 MPa of your 311.
- Using WRC 107/297 outside validity — d/D > 0.5, d/t_n < 20, nozzles in heads, on cones, hillside or lateral nozzles, or within 2ℓ of a head, a stiffener or a saddle. There the geometry is stiffer or weaker than the curves assume, in ways you cannot guess the sign of. Use FE.
- Double-counting conservatism. The vendor's nozzle allowable already has margin. Combining a rigid model, an allowable with margin, and a "add 25 % for site" habit buys a loop nobody needs.
- Modelling the nozzle as flexible but the vessel as fixed in space. The vessel also grows, tilts on its foundation, and (for a skirt-supported column) rises by α·H·ΔT. Give the pipe-stress model the nozzle displacements as well as the nozzle springs.
- Ignoring the nozzle neck. WRC 297 reports stresses in the branch too; a thin neck on a thick shell can fail before the shell does.
Outcome
- A nozzle on a shell is a spring, not an anchor: for a typical 12″ on a 3 m × 20 mm column its rotational stiffness is ~660 kN·m/rad, equivalent to 35 m of extra pipe. Stiffness tracks D/T, not vessel mass.
- Rigid modelling over-predicts thermal nozzle moments (here 6.0 vs 1.1 kN·m, a 5.4× error) and hides the local shell stress entirely — expensive in one direction, dangerous in the other.
- The governing check is local shell stress, not nozzle-pipe stress: WRC 107/537 for stress (assumes rigid), WRC 297 or shell FE for flexibility, split into P_m / P_L / P_b / Q against the 1.5 S and 3 S ladder.
- Membrane has nowhere to go; bending shakes down. That is why P_L and P_L+P_b carry different allowables and why the split matters.
- A repad raises local stiffness ~2.4× (so it attracts more moment) but cuts local bending ~3×; it moves the discontinuity to the pad edge, must be vented, and is barred from cyclic/lethal/ low-temperature service in favour of an integrally reinforced nozzle.
- Flexibility relieves displacement-driven load only, and always buys extra movement — re-check clearances and support travel.
- Interactive: ▶ open the interactive: static nozzle flexibility calc — stiffness, rigid-vs-flexible moment, P_m/P_L/P_b vs allowable, and the √(R·T) decay curve.
- 3D: ▶ open the interactive: static nozzle flexibility 3d — the dimple, the stress bands, the repad, and the rigid-anchor before/after.
Open items
- Replace the illustrative stiffness fit with digitised WRC 297 curves (and the WRC 537 stress coefficients) so the explorer reports real values, not trends
- Add radial thrust P and circumferential moment M_C — currently only the longitudinal moment is modelled
- Worked comparison against a real shell-FE run (NozzlePRO or equivalent) to quantify how far the closed-form stiffness is off at d/D > 0.3
- Nozzles in heads and on cones: different boundary layer, different answer — a second note
One sheet from EPiC Circle
Interactive engineering lessons across every EPC discipline — calculators, 3D models and misconception-first teaching. Free to read; sign in to track progress, take the quizzes and ask questions.
Open in EPiC Circle →Educational teaching material — simplified and illustrative. Not for engineering
design use.
© EPiC Circle · provided by PipeAxis