Piping Toolset
HomeGuides › Load Cases — ASME B31 Flexibility (Stress) Analysis Requirements

Load Cases — ASME B31 Flexibility (Stress) Analysis Requirements

A pipe stress analysis is rejected in review far more often for a missing load case than for a wrong number. ASME B31.1 and B31.3 each require three separate stress checks — sustained, occasional and displacement stress range — plus reactions and movements from the operating condition, and each check has its own combination rule, its own section properties and its own allowable. This guide sets out the load-case set that satisfies both codes, then works through the two occasional loads that get applied most carelessly: wind from ASCE 7, and earthquake from ASCE 7 Chapter 13 with the ASME B31E overlay that the power piping code names as an alternate qualification route. Paragraph numbers are to the 2024 editions of B31.1 and B31.3; ASCE 7 references use the 7-16 numbering and say so.

Content last reviewed · page regenerated 2026-09-13 at build.

What the codes actually require you to analyze

Both books state the requirement the same way. B31.1 ¶119.7.1 makes it the designer's responsibility to perform a flexibility analysis unless the system duplicates a successfully operating installation, can be judged adequate by comparison with previously analyzed systems, or is of uniform size with no more than two anchors, no intermediate restraints, essentially noncyclic service and satisfies the ¶119.7.1(a)(3) screening inequality; everything else is analyzed by a simplified, approximate or comprehensive method and evaluated with Figure 104.8-1 eq. (17). B31.3 ¶319.4.1 and ¶319.4.2 say the same thing with the same three exemptions and the same eq. (16) screen, evaluated with ¶319.4.4. Both codes attach a warning to the screening equation that no general proof of its accuracy exists and that passing it gives no assurance the anchor reactions are acceptable.

The exemption, where it applies, discharges only the displacement stress range obligation. It says nothing about the three other things the codes require of every system, exempt or not:

Add the two conditions that are not stress checks but decide whether the supports work — the installed (cold) condition and the pressure-test condition — and the load-case list writes itself. The rest of this guide is about getting each of those cases built correctly, because the combination rules differ from case to case and the software will not object to a wrong one.

The load-case set, and which check each one serves

The table is the whole guide in one place. Every row is a case the codes name or imply; the columns say what goes into it, how it is combined, and what it is checked against.

CaseLoads in the caseHow it is formedWhat it provesB31.1B31.3
Operating (one per operating mode)Weight + pressure + thermal displacement + equipment and support movementsDirect solution of the hot condition with the actual restraint status (liftoff, gaps, friction)Reactions on equipment and supports, movements, spring travel, guide clearances¶119.8, ¶119.10, ¶120.1¶319.5, ¶301.8
SustainedWeight + pressure (+ any permanent mechanical load)Direct solution, but with the support status of the operating case carried in — a support that lifts off hot carries nothingSL ≤ Sh¶104.8.1, eq. (15)¶302.3.5(c), ¶320.2
Occasional (one per event)Sustained case + one occasional load — wind in each direction, earthquake in each direction, relief reaction, surgeOccasional stress found as the difference between (operating + event) and operating, then added to the sustained stress by magnitudeSo ≤ k·Sh / SL + Socc ≤ 1.33·Sh¶104.8.2, eq. (16), ¶104.8.4(b)¶302.3.6(a)
Expansion (displacement stress range)The range of displacement between two conditions — installed to operating, or operating mode to operating modeAlgebraic difference of two direct solutions, on the cold modulusSE ≤ SA¶104.8.3, eq. (17), ¶102.3.2(b)¶319.4.4, ¶302.3.5(d)
Installed / coldWeight (+ pressure where present cold)Direct solution at installation temperatureSpring cold loads, liftoff at ambient, support selection¶120.2.2, ¶121.6¶321
TestWeight of test fluid + test pressure (+ live and dead loads present at test)Direct solution, occasional loads excludedHoop and longitudinal ≤ 90 % of yield at test temperature; temporary supports; springs pinned¶102.3.3(b), ¶137.1.4, ¶137.2.2¶302.3.6(b)

Two things in that table do most of the work. The expansion case is a difference, not a condition: it is the range of stress between two states, computed algebraically, and the codes say so explicitly by defining SE as a reference displacement stress range (B31.1 ¶102.3.2(b), ¶104.8.4(c); B31.3 ¶319.4.4) on the room-temperature modulus (B31.1 ¶119.6.4; B31.3 ¶319.4.4(a) with Ea). And the occasional case is a sum by magnitude: B31.1 ¶104.8.4(b) says that where the occasional analysis delivers forces and moments without sign — an equivalent-static seismic run does — the most conservative combination of the signed and unsigned values is used, which in practice means the occasional magnitude is added to the sustained magnitude at every node rather than combined algebraically. Sign-blind addition is conservative for stress and is the reason the occasional case is built as sustained plus the absolute value of the event, not as one hot solution with the event superimposed.

Sustained: weight, pressure, and the support condition that actually exists

The sustained case looks trivial and is where the most consequential modeling error hides. Both codes require the sustained stress to be evaluated for the support condition the system is actually in — B31.3 ¶320.1(a) requires SL to be computed for the loading conditions and support scenarios that produce the greatest sustained stress for each operating condition being considered, pointing to its Appendix S, Example 2 for exactly that, and ¶302.3.5(c) sets the limit at Sh for the operating condition being considered; B31.1 ¶104.8.1 is written on the same premise — which means the weight case must be solved with the restraint status of the operating condition. A rigid support that lifts off when the line grows hot carries no load in operation, and the weight that support was holding now spans to its neighbors. A linear weight-only case with every support active will report a stress that the hot system never has. The practical rule is to run the operating case first, note which +Y supports have lifted off, and evaluate the sustained case with those supports removed — or use a program's nonlinear sustained-case option, which does exactly that.

The two codes then bookkeep the stress differently, and the differences are worth knowing when a line crosses a code boundary:

Pressure belongs in the sustained case in both codes and is not a separate check: the wall-thickness calculation establishes that the hoop stress is acceptable, and the longitudinal pressure stress then rides into eq. (15) or ¶320.2 alongside weight. The one sustained load people leave out is the permanent mechanical load — a valve operator, an in-line strainer, a weight of insulation on a large line that is heavier than the pipe — and the one they add wrongly is a spring hanger's design load treated as a rigid support. A variable spring carries its hot load in the hot case and its cold load in the cold case; a model that pins it at the design load in the sustained case has removed the very flexibility it was bought to provide.

Expansion: a range, not a condition

The displacement stress range check exists to protect against fatigue, and the codes say so in the way they define the allowable: SA = f(1.25Sc + 0.25Sh), with f a function of the number of equivalent full displacement cycles (B31.1 ¶102.3.2(b), eqs. (1A)–(1C); B31.3 ¶302.3.5(d), eqs. (1a)–(1c)). Because fatigue is driven by range, three consequences follow that a stress program will not enforce for you.

The range must bracket the true extremes. B31.1 ¶119.6.1 sets the expansion coefficient on the highest average operating metal temperature and the lowest ambient metal temperature; B31.3 ¶319.3.1 defines the range from the minimum to the maximum metal temperature of the cycle. A line that runs hot in summer and is steamed out, or a cryogenic line that sees ambient during a derime, has a range larger than either excursion from installed. Installation temperature is an input, not a default — a winter erection at 20 °F is a different range from a 70 °F one — and B31.1 ¶101.4.3 and B31.3 ¶301.4.4 both direct the designer to consider ambient conditions in the displacement analysis.

More than one range means equivalent cycles, not the biggest one alone. Where several operating modes produce different ranges, the reference range is the greatest computed one, and the other ranges are converted into equivalent cycles of it: B31.1 ¶102.3.2(b)(1) eq. (2) uses the fifth power of the stress ratio, B31.3 ¶302.3.5(d) eq. (1d) the cube since the 2022 edition. The f factor then comes from that total, and the two codes' f equations differ — 6/N0.2 capped at 1.0 for B31.1, 20·N−0.333 capped at fm (1.2 for qualifying ferrous materials, otherwise 1.0) for B31.3-2022 and later. Running a B31.3-2024 line with the B31.1 f equation, or claiming 1.2 under B31.1, is a rejection.

Cold spring earns no stress credit. B31.1 ¶119.9 and B31.3 ¶319.2.4 both say it: the fatigue life depends on the range, and the range is the same whether the system is sprung or not. Cold spring changes the reactions — B31.1 ¶119.10.1 eqs. (18) and (19), and B31.3 ¶319.5's requirement to bound the reactions with two-thirds and four-thirds of the specified cold spring — and that is the only place it may be taken. Equipment movements are part of the range (B31.1 ¶119.7.3; B31.3 ¶319.2.1 and ¶301.8): the turbine nozzle grows, the exchanger shell grows, and the model must move the anchor by that amount in the same case.

Two smaller range questions come up on every power project. Settlement and other noncyclic support movements are evaluated with eq. (17) against 3.0·Sc instead of SA and are not combined with the cyclic range (B31.1 ¶102.3.2(b)(2)). And the modulus for the range calculation is the cold one — Ec at room temperature in B31.1 ¶119.6.4, Ea at 70 °F in B31.3 ¶319.4.4(a) — even though the reactions used for equipment checks are computed on the modulus of the condition (B31.3 ¶319.5) or corrected to it (B31.1 eqs. (18)/(19)). A model that runs the expansion case on the hot modulus understates SE by the modulus ratio, which at 1,050 °F is not a rounding error.

Occasional loads: the code text, the k factor and the 1.33

The two codes agree on what an occasional load is and disagree on how much of it the pipe may carry. B31.1 ¶101.5 and B31.3 ¶301.5 list the dynamic effects to be designed for: impact, including water and steam hammer and — in the 2024 B31.3 — blast loads when specified and the flow-induced sources listed under vibration; wind on exposed piping; earthquake; vibration; and discharge reactions. Both codes say the analysis considerations and loads may be as described in ASCE 7, and both say wind and earthquake need not be considered as acting concurrently (B31.1 ¶101.5.2 and ¶101.5.3; B31.3 ¶302.3.6(a)(1)).

The allowables:

The duration grading is the practical difference. A design wind at a few hundred hours a year of design-level exposure sits in the B31.1 1.15 tier; a design-basis earthquake, a relief valve lift or a valve-closure surge sits in the 1.2 tier; the classification is the designer's and belongs in the stress design basis. On a dual-code site the same wind case can pass at 1.33 on the process side of a fence and fail at 1.15 on the power side of it, and neither result is wrong.

Three numbers get confused with the occasional allowable and are not it. The 15 % and 20 % of B31.1 ¶102.2.4, and the 33 % and 20 % of B31.3 ¶302.2.4, are allowances on the hoop pressure stress for excursions above design pressure and temperature — they let a relieving pressure pass the wall-thickness check and share the hour limits with k, but they are a different rule on a different stress. The 90 %-of-yield limits of B31.1 ¶102.3.3(b) and the exemption in B31.3 ¶302.3.6(b) govern the test condition, from which occasional loads are excluded. And the 20 % increase of B31.1 ¶121.2(j)(1) is an allowable increase for the support material under short-time overloading, not for the pipe. Keep the four in separate columns of the design basis.

Wind — ASCE 7 loads on a pipe model

Wind on a pipe run is a distributed lateral load, and the codes send you to ASCE 7 for its magnitude without telling you how to apply it. The chain from the map to the model runs:

Applying it in the model is where the judgment lives. Wind is entered as a uniform load per unit length on every exposed element, in each horizontal direction the rack can see — usually ±X and ±Z as separate cases, each combined with the sustained loads for the occasional check and with the operating loads for the support and equipment reactions. Vertical runs take the load on their own projected width; elbows and fittings take it on their outer envelope. Shielding by adjacent pipes on a multi-tier rack is real but is not credited by the code, and a common owner criterion is to apply full wind to the outermost line on each side and a reduced fraction inboard — a criterion to be written into the design basis, not assumed. Wind on the projected area of a large valve or a heavy insulated header is the load that sizes the rack's transverse guides; wind along the run is small on the pipe and matters at the anchors and at the rack's longitudinal bracing.

The ASD reduction question. ASCE 7 Chapter 2 combinations apply 0.6 to wind (and 0.7 to earthquake) before comparing with an allowable stress, and B31.3 ¶301.5.2 is silent on whether that reduction carries into a 1.33·Sh check — which is why the 0.6 has been common process-piping practice. B31.1-2024 ¶101.5.2 is not silent: the loads may be as described in ASCE/SEI 7, except that the allowable-stress-design reduction factor shall not be applied. On a power-piping run the full strength-level wind pressure goes into the model and the result is checked against k·Sh. The occasional-load card on this site carries the wind and seismic ASD factors as inputs with the process-practice defaults of 0.6 and 0.7; for B31.1 work enter 1.0 for both.

The wind cases are also where the equivalent-static assumption is most often stretched. A long, lightly supported small-bore line in clean flow can shed vortices at a frequency near its own; a tall exposed vent stack can respond dynamically to gusts. Neither is captured by a G of 0.85, and B31.3 ¶301.5.4 now names external vortex shedding among the vibration sources to be designed out. That is a support-arrangement problem — closer guides, a damper, a shorter free length — not an allowable-stress one.

Seismic — ASCE 7 Chapter 13, and where ASME B31E changes the rules

Piping in a building or on a rack is a nonstructural component under ASCE 7 Chapter 13, and the seismic demand on it is the component force of §13.3.1. In the 7-05 through 7-16 form that most plant seismic criteria and B31E-era practice are written around:

Fp = 0.4·ap·SDS·Wp·(1 + 2z/h) / (Rp/Ip), bounded by 0.3·SDS·Ip·Wp ≤ Fp ≤ 1.6·SDS·Ip·Wp

with SDS the short-period design spectral acceleration from the site hazard data, ap and Rp the component amplification and response modification factors from the Chapter 13 tables for the piping type and joining method, Ip the component importance factor (1.5 where the piping must function after the earthquake, carries a hazardous fluid above the threshold quantity, or serves a Risk Category IV facility — otherwise 1.0), z/h the attachment height ratio, and Wp the operating weight. ASCE 7-22 replaced this formulation with one built on Hf, Rμ, CAR and Rpo; if the project is on 7-22 the demand comes from that edition and its own hazard values, and the two must not be mixed. The B31E seismic design force calculator computes the 7-05–7-16 form with both bounds visible and reports the lateral coefficient Fp/Wp.

Into the model as a g-load. The equivalent-static route applies Fp/Wp as a uniform acceleration on the operating weight of every element — pipe, contents, insulation, valves and operators — in each horizontal direction separately, with the concurrent vertical component of §13.3.1, ±0.2·SDS·Wp, applied together with each horizontal case. The usual case set is therefore ±X with ±Y, and ±Z with ±Y, each solved as (operating + event) minus operating for the occasional stress and combined with the sustained stress by magnitude, exactly as ¶104.8.4(b) prescribes for sign-blind dynamic results. A response-spectrum analysis replaces the single coefficient with a modal solution against the floor or ground spectrum and is the route for flexible systems, tall risers, and anything whose fundamental period lands in the amplified range — the static coefficient presumes a rigid, well-supported line, and the codes' analysis-selection rules decide when that presumption fails.

Seismic anchor motion. Inertial force is only half the seismic case. §13.3.2 requires the relative displacement between the piping's support points — two floors of a building, a rack and a vessel on separate foundations, a building and the yard — to be accommodated, and B31E treats that seismic anchor motion as a separate strain-based check because, in its own framing, the strain from independent support motion is often more damaging than the inertial load. In the model it is a displacement case: impose the relative movement at the affected restraints and evaluate the result as a secondary, displacement-type stress, not by adding it to the inertial occasional case at full value.

Where ASME B31E comes in. B31.1-2024 ¶101.5.3 names ASME B31E as an alternate method of seismic qualification or as guidance; B31.3 leaves it to the engineering design. B31E — the standard for seismic design and retrofit of above-ground piping within the B31 sections — organizes the problem differently from the pressure codes. It classifies piping by its required seismic function: position retention, or the stricter critical classification for piping that must remain leak tight or operable during or after the earthquake, with the owner setting the limits on joint movements and loads for each. It takes its seismic input from ASCE 7 or the governing building code but restricts the response modification factor that may be claimed with the ASCE 7 equation — commonly cited as a cap of 3.5, a fraction of the value ASCE 7 itself assigns to welded steel piping — so its inertial demand on ductile piping is materially higher than a plain Chapter 13 calculation. It sets its own combined sustained-plus-seismic limit, which is more generous than the k·Sh and 1.33·Sh of the pressure codes precisely because the demand is higher, and it adds the seismic anchor motion check described above. And it requires seismic interactions to be evaluated — what can fall on the pipe, what the pipe can strike, and whether a support or building element in the load path survives. None of those numbers are quoted here; take them from the edition your specification invokes, and state on the cover sheet whether the seismic case was qualified to the pressure code's occasional rules or to B31E, because the two produce different loads and are checked against different allowables.

ASCE 7's own piping provisions. In 7-16 numbering, §13.6.7 covers distribution systems — piping and tubing — and §13.6.7.1 deems piping designed and constructed to ASME B31 to satisfy the Chapter 13 force and displacement requirements provided the Chapter 13 forces and displacements are actually used in that design; §13.6.7.3 lists exceptions for lightly loaded piping on short rod hangers in the lower seismic design categories, with thresholds that changed between 7-10, 7-16 and 7-22 and should be read from the governing edition. The exemption is from the bracing requirements, not from the piping's own stress check, and it does not cover the anchorage of the equipment the piping connects to.

Relief, surge and other dynamic occasional cases

Wind and earthquake are the occasional loads the codes name; discharge reactions and hydraulic transients are the ones that most often govern. Both codes require them — B31.1 ¶101.5.1 (impact, naming water and steam hammer) and ¶101.5.5 (discharge reactions); B31.3 ¶301.5.1 and ¶301.5.5 — and neither gives an allowable other than the occasional one.

Safety valve discharge. For an open discharge, B31.1 Nonmandatory Appendix II gives the steady reaction at the elbow exit as the momentum term plus the pressure term, with the mass flow at 1.11 × the stamped capacity, a dynamic load factor never less than 1.1, and the branch-connection moment never less than DLF · F1 · Lo; the PiperPSV reaction card runs that chain. In the model the amplified force is applied statically at the discharge elbow, opposite to the flow direction, as an occasional case combined with sustained and checked against k·Sh (or 1.33·Sh under B31.3), and the header and its supports — not just the branch — are in that case. Closed-discharge systems and multiple-valve headers need a time-history analysis of the transient forces on each straight run; the appendix says so explicitly.

Water hammer and steam hammer. The load is an unbalanced axial force on each straight run between changes of direction, present for the time the pressure wave takes to traverse that run. The screening estimate is the Joukowsky surge pressure times the flow area (the water hammer calculator); the defensible analysis is a hydraulic transient solution producing a force–time history per run, applied in a dynamic pipe-stress run. Between the two sits the equivalent-static method — peak force times a dynamic load factor, applied to each run in turn — which is conservative for stress and unreliable for support loads on a system with several runs of different length.

Slug flow, pulsation and acoustic loads. These are vibration sources rather than single occasional events, and B31.3 ¶301.5.4 lists them with the instruction to design, arrange and support the piping to eliminate their harmful effects; B31.1 ¶101.5.4 with ¶120.1(c) says the same. The stress program's role is modal analysis — keep the mechanical natural frequencies clear of the excitation, size the support stiffness accordingly — and where an API 618 pulsation study is on the job, its predicted shaking forces become a set of harmonic load cases with their own acceptance criteria. That work is not an occasional stress check and should not be presented as one.

Operating, test and installed cases — reactions, supports and springs

The operating cases are the ones that produce every number a piece of equipment or a support is checked against, and they need to be as many as there are distinct operating modes: normal operation, each start-up and shutdown state, steam-out, regeneration, one train hot and the other cold, the relief piping hot after a lift. B31.3 ¶319.5 requires reactions to be based on the maximum load from operating conditions including weight, pressure, sustained loads, thermal displacement and, where applicable, occasional loads, computed on the modulus of the condition (or the cold modulus where that is more conservative), and with cold spring bounded at two-thirds and four-thirds of the specified amount. B31.1 ¶119.10 computes the hot and cold reactions from the full-range reaction on the cold modulus through eqs. (18) and (19), and ¶119.10.2 requires them not to exceed what the attached equipment can sustain. The equipment allowables come from the equipment standards — API 610 for pumps, NEMA SM-23 for turbines, API 660 and 661 for exchangers, API 560 for heaters — and the nozzle load check and PiperNOZ tool compare the operating-case reactions against them.

Supports are designed for the concurrently acting loads transmitted into them (B31.1 ¶120.1(b); B31.3 ¶321), which means the support load report must be read across cases: weight in the installed case for the rod and the steel, the operating case for the guide and anchor loads and the spring's hot load, each occasional case for the transverse guides and the anchors, and the test case for whatever carries water on a vapor line. B31.1 ¶120.2.1(a) sizes rigid supports on the heavier of the transported and the test fluid; ¶120.2.2 sizes springs on the operating condition and requires them to be capable of the test load or supplemented during the test; ¶121.2(j)(1) permits a 20 % allowable increase in the support material for short-time overloading, which is how the occasional support loads are usually accepted.

The test case is a real load case with its own allowable and its own restraint status. Under B31.1 ¶102.3.3(b) the hoop stress at test pressure and the longitudinal stress from test pressure plus the live and dead loads at the time of test may not exceed 90 % of yield at test temperature, with occasional loads excluded; B31.3 ¶302.3.6(b) exempts test-condition stresses from the ¶302.3 limits and says wind and earthquake need not be assumed concurrent with the test. On a large vapor line filled with water the test case is the heaviest weight case the pipe will ever see, and B31.1 ¶137.2.2 requires the temporary supports that the test-fluid weight demands. Run it with the springs pinned and the temporary supports in, and report the rigid-support loads from it separately, because the rack was designed for the operating load and the test load is often larger.

The installed case — weight at ambient with no thermal displacement — sets the spring cold loads, exposes supports that lift off cold rather than hot, and is the basis for the hanger schedule. On a line with any cold spring it is also the case that establishes the pre-set position from which the ¶119.9 / ¶319.2.4 credit is measured.

Building the case list in a stress program

The commercial programs let you define load cases as combinations of primitives — weight, pressure, thermal displacement sets, uniform accelerations, distributed loads, imposed displacements, concentrated forces — and then combine cases with each other algebraically or by scalar sum. A case set that satisfies both codes for a single-mode line with wind and seismic looks like this; the names are generic, the structure is what matters:

#CaseBuilt fromTypeServes
1OperatingW + P1 + T1 (+ equipment displacements)Direct, nonlinear restraintsReactions, movements, spring hot loads
2SustainedW + P1, with case-1 liftoff statusDirectSL ≤ Sh
3–6Operating + eventCase 1 + wind (±X, ±Z); case 1 + seismic (±X with ±Y, ±Z with ±Y); case 1 + relief; case 1 + surgeDirect, one per event and directionSupport and equipment loads during the event
7–10Event aloneCase n − case 1, algebraicDifferenceThe occasional load's own forces and moments
11–14OccasionalCase 2 + |case 7…10|, scalarSum by magnitudeSo ≤ k·Sh / SL + Socc ≤ 1.33·Sh
15ExpansionCase 1 − installed, algebraic, cold modulusRangeSE ≤ SA
16InstalledW (+ P where present cold)DirectSpring cold loads, cold liftoff
17TestWtest + Ptest, springs pinned, temporary supports inDirect90 % of yield; test support loads

Four checks on that list catch most of the errors reviewers find:

Two items belong on the cover sheet before any of it is run: the code edition — because the equation families, the f factor, the SIF source and the occasional allowable all fork by edition — and the SIF and flexibility-factor source with its edition, since B31.3-2020 and B31.1-2024 both send those to ASME B31J and a legacy Appendix D toggle produces a non-compliant result on either. The B31J guide and the B31.1 SIF FAQ cover that transition.

Where the calculators and Pro tools fit

None of the calculators on this site is a system flexibility model, and this guide should make it clear why: the load cases are combinations solved over a whole restrained system, and that is what CAESAR II, AutoPIPE and their peers exist to do. What the site provides is the arithmetic around the model — the loads that go in, the factors the checks consume, and the hand checks that verify what the program did.

The deliverable the load-case set exists to produce is a calculation package a reviewer can follow, disagree with and stamp: basis, inputs with every assumption flagged, allowables with their citations, the three stress checks with their cases named, the reactions against their equipment allowables, and the open items. Every case on the list above corresponds to a line in that package, and a line that is missing is the first thing a reviewer will ask for.

FAQ

Do wind and earthquake have to be applied in the same load case?

No — both codes say so in as many words. B31.1 ¶101.5.2 states that wind need not be considered as acting concurrently with earthquakes, ¶101.5.3 says the reverse, and B31.3 ¶302.3.6(a)(1) says wind and earthquake forces need not be considered as acting concurrently. Each is its own occasional case, in each direction it can act, combined with the sustained loads and checked on its own against k·Sh or 1.33·Sh. What the codes do not exempt is the combination of an occasional load with the sustained loads — that is the definition of the occasional case — or, on the support side, the concurrently acting loads of B31.1 ¶120.1(b). And neither code addresses a relief event coincident with an earthquake: B31.1 Appendix II-3.4 hands that combination to the design specification, and the owner's stress design basis should say what was assumed. The only combination rule that is genuinely universal is the one for the test condition — B31.3 ¶302.3.6(b) and the exclusion of occasional loads in B31.1 ¶102.3.3(b) both keep wind and earthquake out of it.

Should I apply the 0.7 seismic and 0.6 wind ASD factors to the ASCE 7 loads in a B31 stress run?

It depends on the code, and the 2024 edition of B31.1 settled it for power piping: ¶101.5.2 and ¶101.5.3 say the loads may be as described in ASCE/SEI 7 except that the allowable-stress-design reduction factor shall not be applied. The strength-level Fp and the strength-level wind pressure go into the model at full value and the result is checked against k·Sh. B31.3 ¶301.5.2 and ¶301.5.3 say only that the analysis considerations and loads may be as described in ASCE 7, which leaves the 0.7 and 0.6 of the ASCE 7 Chapter 2 allowable-stress combinations as a matter for the engineering design; applying them against 1.33·Sh has been common process-piping practice, and applying them is a decision the owner's design basis should record rather than a default the software should hide. The ASCE occasional-load card on this site carries both factors as inputs with the process-practice defaults; for B31.1 work enter 1.0. Whichever basis is used, the wind speed map, the equation form and the combination rule must all come from the same ASCE 7 edition — a 7-22 hazard value in a 7-16 equation compounds two inconsistencies rather than averaging them.

Is the expansion case the same as the operating case?

No, and the distinction is the single most important idea in the load-case set. The operating case is a condition — the system hot, pressurized, sitting on whatever supports are still in contact — and it produces physical reactions, movements and support loads. The expansion case is a range — the algebraic difference between two conditions, computed on the cold modulus — and it produces a fatigue quantity, SE, that is compared with the allowable stress range SA of B31.1 ¶102.3.2(b) or B31.3 ¶302.3.5(d). The operating case contains the weight stress; the expansion case must not, because weight does not cycle. A reviewer who sees the sustained stress inside an expansion result, or an equipment load pulled from an expansion case, knows immediately that the cases were built wrong. The codes define SE as a reference displacement stress range precisely so that it cannot be mistaken for the stress in any one condition — B31.1 ¶104.8.4(c) even reuses eq. (17) to compute the individual ranges that feed the equivalent-cycle count.

Which temperatures define the expansion range?

The extremes the metal actually sees over the cycle, not the design temperature and 70 °F by default. B31.1 ¶119.6.1 bases the expansion coefficient on the highest average operating metal temperature and the lowest ambient metal temperature and warns that the Appendix B values assume a 70 °F base that may need adjustment; B31.3 ¶319.3.1 defines the range from the minimum to the maximum metal temperature of the cycle, and ¶301.4.4 requires low ambient temperatures to be considered in the displacement analysis. So the installation temperature is an input — a winter erection is a longer range — and a line that goes both above and below ambient has a range larger than either excursion. Where several operating modes produce several ranges, the reference range is the greatest, and the others enter as equivalent cycles through B31.1 eq. (2) or B31.3 eq. (1d), which then set f. The one temperature that is not the range's business is the design temperature: it sets Sh and the wall thickness, and using it as the expansion temperature on a line that never operates there is conservative in the range and unconservative nowhere — but it is still the wrong input, and it should be labeled as an envelope if it is used.

Where does seismic anchor motion go in the load cases?

In its own displacement case, not inside the inertial occasional case. ASCE 7 §13.3.2 requires the relative seismic displacement between the piping's support points to be accommodated, and ASME B31E singles seismic anchor motion out for a separate, strain-based evaluation because the strain from supports moving independently is frequently more damaging than the inertial load. In the model, the relative movement — between floors, between a rack and a vessel on a separate foundation, between a building and a yard rack — is imposed at the affected restraints as a displacement set and solved as a range, in the manner of an expansion case rather than a weight case. How it is then combined with the inertial case and what it is checked against is set by B31E or by the owner's seismic criteria, and the pressure codes' k·Sh and 1.33·Sh were not written for it. The modeling trap is a support that is rigid in the inertial case and is then assumed to move freely in the anchor-motion case: the same restraint model must carry both, and where a strut or snubber is engaged during the event it is engaged in both.

If my line passes the no-formal-analysis exemption, can I skip the load cases?

You can skip the displacement stress range calculation, and nothing else. B31.1 ¶119.7.1(a)(3) and B31.3 ¶319.4.1(c) exempt a uniform-size, two-anchor, unrestrained, essentially noncyclic system from formal flexibility analysis when it satisfies the screening inequality — and both attach a warning that no general proof of the equation's accuracy exists and that there is no assurance the anchor reactions will be acceptable. Sustained stress, occasional stress, support loads, equipment reactions and the test condition are all still required, and any line connected to rotating equipment is in practice analyzed regardless, because the exemption cannot tell you the nozzle load. The exemption is also disqualified by anything most real lines have: an intermediate guide, a branch, a change of size, more than two points of fixation, or operation in the creep range. Treat it as what the codes call it — an approximate criterion — and as a reason to keep a simple line out of the model, never as a reason to leave a load case out of the package.

Open the seismic force calculator → All calculators