Piping Toolset
HomeCalculators › Expansion Loop / Leg Sizing Calculator (Guided Cantilever)

Expansion Loop / Leg Sizing Calculator (Guided Cantilever)

Produces the free thermal growth ΔL, the required guided-cantilever leg Lgc = √(3EDΔL/kS), and the W and H proportions of the loop, for L bends, Z offsets and U loops. Kellogg guided-cantilever method; layouts outside the ASME B31.3 ¶319.4.1 screen still need formal flexibility analysis.

Sizes expansion loops, Z-offsets, and L-bend legs by the guided-cantilever method — the classic hand calculation for absorbing thermal growth without a full flexibility analysis. Handles metallic pipe (k = 1, the Grinnell/Kellogg rule) and thermoplastics (k = 2, the PPI/Corzan form with working stress at temperature).

Open this calculator → Download sample report

Method

ΔL = α · |T1 − T0| · L   (free growth of the run)

Lgc = √( 3·E·D·ΔL / (k·S) )   (required flexible leg)

Configurations: L change-of-direction uses the full leg; Z offset takes 0.6426·Lgc (the published 4 vs 6.225 coefficient ratio, E/S-invariant); U loop proportions the developed length as W = Lgc/5, H = 2W. With E = 29×10⁶ psi and S = 15,600 psi the metallic form reproduces the published rule W(ft) = 6.225·√(ΔL·D).

Inputs
configL bend / Z offset / U loop
familyMetallic (k=1) or plastic (k=2)
DPipe outside diameterin
αExpansion coefficient ×10⁻⁶ (user-supplied)in/in·°F
T0 → T1Installation and operating temperature°F
LAnchor-to-anchor run lengthft
E, SModulus and allowable/working stress (user-supplied)psi
Outputs
ΔLThermal growth to absorbin
LgcGuided-cantilever legin / ft
W, HLoop width and height (U config)in

Limitations — what this calculator is not

Worked example — fixture-verified

2½ in (2.875 in OD) carbon-steel line, installed at 52 °F, operating at 350 °F, 100 ft anchor-to-anchor. α = 6.7×10⁻⁶ in/in·°F, E = 29×10⁶ psi, S = 15,600 psi — the published flow-sheet example.

Given
Config / familyL bend, metallic
OD2.875in
α6.7×10⁻⁶in/in·°F
T0 → T152 → 350°F
Run length100ft
E / S29×10⁶ / 15,600psi

Step by step

  1. Growth: ΔL = 6.7×10⁻⁶ · (350−52) · 1,200 in = 6.7×10⁻⁶·298·1,200 = 2.396 in.
  2. Leg: Lgc = √(3·29×10⁶·2.875·2.396 / 15,600) = √598,000,000/15,600 ≈ √38,415 = 196.0 in = 16.33 ft.
  3. Cross-check against the published coefficient rule: 6.225·√(ΔL·D) = 6.225·√(2.396·2.875) = 6.225·2.625 = 16.34 ft ✓.
  4. Same inputs as a Z-offset: 0.6426·196.0 = 125.9 in; as a U-loop: W = 39.2 in, H = 78.4 in.
Result COMPUTED
ΔL — thermal growth2.396in
L-bend leg196.0 in (16.33 ft)
Z-offset leg125.9in
U-loop W × H39.2 × 78.4in

Five fixture cases lock this module: the L/Z/U trio above, a CPVC (k=2) case, and a cold-contraction case with negative ΔT.

Why you can trust these numbers: this exact case is fixture expansion-loop.json — case “PDF sheet L-bend: CS 2.875 OD, 52→350°F, 100 ft (E=29e6, S=15600)” (tolerance 0.005) — in the calc-core release gate. It re-runs on every commit; a red fixture blocks deployment. See the validation methodology.

Additional verified cases in this fixture

PDF sheet Z-bend: same inputs → leg = (4/6.225)·Lgc = 125.943 in (pub. 4·sqrt(ΔL·D) = 125.98) COMPUTED
input:  {"config":"Z","family":"metallic","odIn":2.875,"alphaMicro":6.7,"installTempF":52,"operatingTempF":350,"runLengthFt":100,"modulusPsi":29000000,"allowStressPsi":15600}
expect: {"legIn":125.943,"legFt":10.4952}
tol:    0.005
PDF sheet U-loop: same inputs → W = 39.200, H = 78.399 (pub. 39.211 / 78.422) COMPUTED
input:  {"config":"U","family":"metallic","odIn":2.875,"alphaMicro":6.7,"installTempF":52,"operatingTempF":350,"runLengthFt":100,"modulusPsi":29000000,"allowStressPsi":15600}
expect: {"guidedCantileverIn":195.998,"loopWidthIn":39.2,"loopHeightIn":78.399}
tol:    0.005
CPVC arm (PPI/Corzan k=2): 2 in IPS D=2.375, α=34, 70→140°F, 80 ft, E=423000, S=2000 → 41.491 in COMPUTED
input:  {"config":"L","family":"plastic","odIn":2.375,"alphaMicro":34,"installTempF":70,"operatingTempF":140,"runLengthFt":80,"modulusPsi":423000,"allowStressPsi":2000}
expect: {"deltaLIn":2.2848,"legIn":41.491}
tol:    0.005
Contraction Z: SS 4.5 OD, α=9.2, 90→20°F (ΔT=−70), 60 ft, E=28.3e6, S=16700 → ΔL=0.4637, leg=66.181 COMPUTED
input:  {"config":"Z","family":"metallic","odIn":4.5,"alphaMicro":9.2,"installTempF":90,"operatingTempF":20,"runLengthFt":60,"modulusPsi":28300000,"allowStressPsi":16700}
expect: {"deltaTF":-70,"deltaLIn":0.4637,"legIn":66.181}
tol:    0.005

Sources & citations

Per the source & citation policy, allowable-stress and factor table values are user-supplied — this page and the app cite paragraph numbers and never reproduce ASME table data.

FAQ

When is a hand-sized loop enough, and when do I need pipe stress analysis?

B31.3 ¶319.4.1 exempts systems that duplicate a successful layout or pass the simplified screen; the guided cantilever is the accepted conservative sizing for those. Outside the exemption — large bore, > 350–400 °F, sensitive equipment nozzles, cyclic service — size the loop here, then verify in a flexibility program.

Why does plastic pipe use k = 2?

The thermoplastic industry form (PPI, Corzan) allows the leg to be sized against 2× the working stress because the short-duration bending stress during excursions is checked against a different basis than the long-term hydrostatic rating. The low modulus of plastics keeps the legs short anyway — the CPVC fixture case needs only a 41.5 in leg.

Related calculators

Open this calculator → All calculators