A change to a single equation in ASME B31.3 has meaningful consequences for how piping displacement stress is evaluated in high-cycle service. The change is small in appearance and large in effect, and it is worth understanding both the arithmetic and the seventy years of test data behind it.
Where the Factor Sits in the Code
ASME B31.3 divides piping stresses into categories according to how they behave under repeated loading. Sustained stresses from pressure and weight are load-controlled and are limited by the basic allowable stress $S_h$. Displacement stresses arising from thermal expansion, anchor movement, or imposed settlement are displacement-controlled: they are self-limiting, because yielding relieves them. A displacement-controlled stress will not cause collapse on first application, but it will accumulate fatigue damage on repetition.
The code therefore evaluates the displacement stress range $S_E$ against an allowable range $S_A$:
$$S_A = f\left(1.25\,S_c + 0.25\,S_h\right)$$
where $S_c$ and $S_h$ are the basic allowable stresses in the cold and hot conditions. When $S_h$ exceeds the sustained longitudinal stress $S_L$, the unused margin may optionally be added:
$$S_A = f\left[1.25\left(S_c + S_h\right) – S_L\right]$$
This second form is often called the “liberal” allowable. The terminology does not appear in the code itself; it comes from usage in pipe stress software. Its application is at the analyst’s discretion.
The stress range factor $f$ is the fatigue term. It is the only place in the displacement stress check where the number of load cycles enters.
The Change
The factor was revised in the 2022 edition, which was issued 31 January 2023 and became applicable to projects from 1 August 2023. The prior form had been in place through the 2020 edition. The 2022 edition marks revised passages with a margin note, which makes the affected clauses easy to locate.
| Edition | Stress Range Factor | Implied S-N Slope |
|---|---|---|
| ASME B31.3-2020 and earlier | $f = 6.0\,N^{-0.2}$ | 5:1 |
| ASME B31.3-2022 | $f = 20\,N^{-0.333}$ | 3:1 |
In both cases $N$ is the equivalent number of full displacement cycles over the expected service life. The factor is bounded above and below:
- $f_{max} = 1.2$ for materials with ultimate tensile strength at or below 75 ksi; $f_{max} = 1.0$ otherwise.
- $f_{min} = 0.15$, introduced in the 2004 edition as an endurance-limit floor based on concepts from ASME OM-3.
The exponent is the substantive change. Writing the factor as a power law $f \propto N^{-1/m}$, the exponent $-0.2$ corresponds to $m = 5$ and the exponent $-0.333$ to $m = 3$. Since fatigue life under a power-law S-N curve scales as $N \propto S^{-m}$, the revision states that pipe fatigue life is considerably more sensitive to stress amplitude than the older curve implied.
Historical Development
The lineage of the factor runs back to A. R. C. Markl’s cyclic bending tests on pipe components, performed in the 1940s and 1950s. Markl’s work is the foundation of the stress intensification factor concept and remains embedded throughout the B31 codes. His test population fell largely between $10^3$ and $10^6$ cycles, and the fitted curve slope reflected that range. A factor of two on stress was carried as the safety margin.
The evolution of the code presentation is itself informative:
| Edition | Form | Notes |
|---|---|---|
| 1959 | Tabulated values | $f = 1.0$ up to 7,000 cycles; implied endurance limit $f = 0.5$ beyond $10^5$ cycles |
| 2004 | Plotted curve | Endurance floor lowered to 0.15 per ASME OM-3; $f > 1$ permitted below 7,000 cycles under stated conditions |
| 2022 | $20\,N^{-0.333}$ | Slope realigned from 5:1 to 3:1 |
The 7,000-cycle breakpoint for $f = 1.0$ was not derived from physics. It was chosen so that the vast majority of ordinary piping systems would never need to apply the factor at all. That pragmatic origin is worth remembering: the curve was built to be undemanding in the regime where most piping lives.
Technical Basis for the Revision
In the decades after Markl, a substantial body of welded-component fatigue data accumulated outside the piping codes — BS 7608, DNV RP C203, BS 5500, EN 13445, and the structural stress procedure of ASME Section VIII Division 2. These sources converged on a curve slope near 3:1 for welded joints, not 5:1.
Hinnant and Paulin assembled a comprehensive overview of the discrepancy with supporting test data in ASME PVP paper 61871, and that paper is the technical basis cited for the code change. A 2008 paper by the same authors had earlier proposed the revision. The change also improved the fit of the fatigue curves used for piping intersections, which had been an area of known difficulty.
A girth butt weld contains a crack-like geometric discontinuity at the weld toe from the moment it is fabricated. The fatigue life of such a joint is dominated by crack propagation rather than initiation. Paris law crack growth in the mid-range regime has an exponent near 3, and integrating that growth law over a plate or shell thickness produces an S-N curve with $m \approx 3$. A 5:1 slope implies an initiation-dominated behavior more typical of smooth polished specimens than of as-welded pipe.
Whatever the mechanistic reading, the empirical situation is clear: the older curve was fitted to real data over the range where data existed, then extrapolated to cycle counts the tests never reached. The extrapolation was optimistic.
Numerical Comparison
Values below assume $f_{max} = 1.0$ and include the $f_{min} = 0.15$ floor.
| $N$ cycles | $f$, 2020 | $f$, 2022 | Ratio |
|---|---|---|---|
| 7,000 | 1.00 (capped) | 1.00 (capped) | 1.00 |
| 22,000 | 0.81 | 0.71 | 0.88 |
| 50,000 | 0.69 | 0.54 | 0.79 |
| 100,000 | 0.60 | 0.43 | 0.72 |
| 500,000 | 0.44 | 0.25 | 0.58 |
| 1,000,000 | 0.38 | 0.20 | 0.53 |
| 2,400,000 | 0.32 | 0.15 (floor) | 0.47 |
| 10,000,000 | 0.24 | 0.15 (floor) | 0.63 |
The two expressions cross near $N \approx 2\times10^4$ cycles. Below that, the difference is negligible. Above it, the 2022 form falls away faster until the 0.15 floor is reached — which for the new equation occurs near $N \approx 2.4\times10^6$ cycles, compared with roughly $4\times10^7$ cycles under the old form. The maximum penalty therefore occurs just before the new curve hits its floor, where the allowable is reduced to slightly under half its former value.
Who Is Affected
The practical consequence depends entirely on where a system sits on the cycle axis, and the range of cycle counts encountered in practice spans many orders of magnitude.
The cycle counts in the following table are the author’s order-of-magnitude estimates for illustration only. They are not code values and are not drawn from any published survey. Substitute figures appropriate to the system under analysis.
| Mechanism | Illustrative Cycles, 30-Year Life | Impact of Revision |
|---|---|---|
| Annual turnaround thermal cycling | ~30 | None; $f$ capped |
| Daily startup/shutdown | ~11,000 | Negligible |
| Batch process, hourly cycling | ~260,000 | Moderate; roughly 35% reduction |
| Flow-induced vibration at 10 Hz | $>10^9$ | Both curves at floor; method inappropriate |
| Reciprocating compressor pulsation | $>10^9$ | Both curves at floor; method inappropriate |
Where the Method Runs Out
The B31.3 displacement stress check is a quasi-static, constant-amplitude procedure. Vibration fatigue is neither. Several limitations deserve explicit statement.
Cycle equivalence is a coarse approximation. B31.3 provides an expression for converting a mixed history of stress ranges into an equivalent number of full-range cycles. It is a Miner-type weighting applied to a small number of discrete conditions. For a random response, the proper treatment is a rainflow histogram extracted from a time history, or a spectral damage estimate from the response PSD. A single equivalent-cycle number cannot represent a broadband response.
Random response requires a spectral or counting method. Given a stationary Gaussian stress response, damage can be estimated from the PSD moments using Dirlik, Tovo-Benasciutti, or narrowband approximations, without generating a time history at all. Where the response is non-Gaussian or non-stationary — as it frequently is in real piping — time-domain rainflow counting on a synthesized or measured signal remains the reference method.
The 0.15 floor is a convention, not a physical endurance limit. Welded joints in corrosive service, or under variable-amplitude loading where occasional large cycles reopen crack closure, may exhibit no endurance limit at all. Modern welded-joint codes handle this with a shallower second slope beyond the constant-amplitude limit rather than a flat cutoff. Treat the flat floor with care in genuinely long-life applications.
Stress intensification factor uncertainty is often larger than the change under discussion. The SIF for a given fitting may vary substantially depending on the source and the specific geometry. ASME B31J provides updated SIF and flexibility factor data developed to reduce that scatter. An analyst worried about a 30% change in $f$ should be at least as attentive to the SIF used to compute $S_E$ in the first place.
Dedicated screening standards exist for the vibration case. Energy Institute guidelines for the avoidance of vibration-induced fatigue in process pipework address flow-induced and acoustically induced mechanisms through likelihood-of-failure screening, and are the appropriate starting point when the excitation is continuous rather than cyclic-thermal.
Practical Guidance
- Check which edition the project is contracted to. The applicable edition is a contractual matter, not an engineering preference. Legacy systems analyzed under the 2020 edition are not automatically non-compliant.
- Recheck cyclic-service systems that were previously marginal. A system that passed at $S_E/S_A = 0.85$ under the old factor with $N$ near $10^5$ will fail under the new one. Systems with large margins are unaffected.
- Verify the cycle count itself. Analysts routinely assume default values for $N$ without examining actual operating history. Given the steeper new curve, an unexamined default now costs more than it used to.
- Do not use the displacement stress method for vibration. If the excitation is continuous, move to a fatigue damage calculation with proper cycle counting.
- Consider the SIF source alongside the factor. B31J values will often shift the result more than the $f$ revision does.
Summary
The 2022 revision replaces a curve slope fitted to Markl’s mid-cycle test population with one consistent with the modern welded-joint fatigue literature. The change is a realignment from a 5:1 to a 3:1 slope, supported by the test data compiled by Hinnant and Paulin.
Low-cycle thermal systems — which is to say most piping — are unaffected. Systems in the $10^5$ to $10^6$ cycle band see the allowable reduced by roughly a third to a half. Genuinely high-cycle vibration problems fall outside the method’s intended scope entirely and require a proper fatigue damage calculation regardless of which edition applies.
The direction of the change is correct given what is now known about welded pipe fatigue at long life. It is a case of a code catching up with data that had accumulated elsewhere for several decades.
References
- ASME B31.3-2022, Process Piping, para. 302.3.5 and Appendix W.
- ASME B31J, Stress Intensification Factors (i-Factors), Flexibility Factors (k-Factors), and Their Determination for Metallic Piping Components.
- Hinnant, C. and Paulin, T., ASME PVP paper 61871 — experimental evaluation supporting the stress range factor revision.
- Markl, A. R. C., “Fatigue Tests of Piping Components,” Transactions of the ASME, 1952.
- BS 7608, Guide to Fatigue Design and Assessment of Steel Products.
- DNV RP C203, Fatigue Design of Offshore Steel Structures.
- Energy Institute, Guidelines for the Avoidance of Vibration Induced Fatigue Failure in Process Pipework, 2nd ed.
Related free ebooks, including material on rainflow cycle counting, spectral fatigue methods, and the stress-velocity relationship: https://blog.vibrationdata.com/2025/11/27/toms-ebooks/