B31G Corroded Pipe Remaining Strength Calculator (Level 1)
Returns the length parameter z = L²/(Dt), Folias factor M = √(1 + 0.8z), depth ratio d/t, and the safe operating pressure of a blunt metal-loss defect per ASME B31G — the original parabolic (2/3 dL) form or Modified B31G (0.85 dL, flow stress SMYS + 10 ksi) with failure pressure, safe pressure and ERF = MAOP/Psafe. Valid to d/t ≤ 0.8 (original form: z ≤ 20).
Method last updated (calculation changelog) · fixture-verified on every build — most recently 2026-09-03.
Built and fixture-verified by Matthew Norris, P.E. — active P.E. licensure in Arizona, California, Kansas, Missouri, North Carolina, Texas.
Evaluates metal-loss corrosion on a pipeline by the original B31G Level-1 method: the defect's axial length and maximum depth reduce the pressure-carrying capacity through the parabolic (2/3 d/t) area idealization and the Folias bulging factor. PASS means the computed safe pressure still covers the entered design/MAOP basis.
.pcp project files and the batch runner —
$2.99 / month. Compare tiers →Method
z = L² / (D·t) (valid for z ≤ 20)
M = √(1 + 0.8·z) (Folias factor)
P′ = 1.1·P · ( 1 − ⅔(d/t) ) / ( 1 − ⅔(d/t)/M )
Defects deeper than 80% of the wall fail Level 1 outright regardless of length; z > 20 leaves the parabolic form (long-defect rule applies) and the card warns.
| Inputs | ||
|---|---|---|
| D | Pipe outside diameter | in |
| t | Nominal wall thickness | in |
| L | Axial length of corroded area | in |
| d | Maximum defect depth | in |
| P | Design pressure / MAOP basis | psi |
| Outputs | ||
| z | Length parameter | — |
| M | Folias factor | — |
| d/t | Depth ratio | — |
| P′ | Safe operating pressure | psi |
Limitations — what this calculator is not
- Blunt metal-loss corrosion only — cracks, gouges, dents, and interacting defect clusters are outside B31G Level 1.
- The original B31G is intentionally conservative; the card's Modified B31G option (0.85 dL area, revised Folias, SMYS + 10 ksi flow stress) recovers typical margin, and RSTRENG effective-area recovers more when you have a river-bottom profile.
- Longitudinally oriented defect under internal pressure hoop stress assumed; circumferential extent and external loads are not assessed.
- z ≤ 20 validity: longer defects need the long-defect rule — the card warns rather than extrapolating silently.
Worked example — fixture-verified
NPS 8 Sch 40 pipeline (8.625 × 0.322), corrosion patch 2.886 in long, 0.100 in deep, operating basis 800 psi.
| Given | ||
|---|---|---|
| OD × wall | 8.625 × 0.322 | in |
| Defect length L | 2.886 | in |
| Defect depth d | 0.100 | in |
| Pressure basis P | 800 | psi |
Step by step
- Length parameter: z = 2.88648² / (8.625·0.322) = 8.332 / 2.777 = 3.00 (≤ 20 ✓).
- Folias: M = √(1 + 0.8·3.00) = √3.4 = 1.844.
- Depth ratio: d/t = 0.100/0.322 = 0.311 (≤ 0.8 ✓).
- Safe pressure: P′ = 1.1·800·(1−0.2070)/(1−0.2070/1.844) = 880·0.79296/0.88772 = 786.1 psi.
- 786.1 < 800 → FAIL — de-rate below 786 psi, repair, or refine with Modified B31G/RSTRENG.
| Result FAIL | ||
|---|---|---|
| z — length parameter | 3.00 | — |
| M — Folias factor | 1.844 | — |
| d/t | 0.311 | — |
| Safe pressure P′ | 786.1 | psi |
| Verdict vs 800 psi | FAIL | — |
A deliberately failing fixture: the verdict logic, not just the arithmetic, is what the release gate locks. Worked example 2 shows the same pipe passing with a smaller defect.
b31g.json — case “NPS8 sch40, L=2.88648, d=0.1, P=800” (tolerance 0.001) — in the
calc-core release gate. It re-runs on every commit; a red fixture blocks deployment.
See the validation methodology.Worked example 2 — shallower, shorter defect passes
The same NPS 8 Sch 40 line (8.625 × 0.322), now with a smaller corrosion patch found on a different joint: 2.0 in long, 0.060 in deep, operating basis 720 psi. Same method, opposite verdict — worth walking through to see which input actually moved the answer.
| Given | ||
|---|---|---|
| OD × wall | 8.625 × 0.322 | in |
| Defect length L | 2.0 | in |
| Defect depth d | 0.060 | in |
| Pressure basis P | 720 | psi |
Step by step
- Length parameter: z = 2.0² / (8.625·0.322) = 4.0 / 2.777 = 1.44027 (≤ 20 ✓).
- Folias factor: M = √(1 + 0.8·1.44027) = √2.15222 = 1.46704.
- Depth ratio: d/t = 0.060/0.322 = 0.18634 (≤ 0.8 ✓).
- Safe pressure: P′ = 1.1·720·(1 − ⅔·0.18634)/(1 − ⅔·0.18634/1.46704) = 792·0.87578/0.91532 = 757.781 psi.
- 757.781 ≥ 720 → PASS — the line may continue operating at 720 psi with this defect, subject to the monitoring interval your integrity plan assigns.
| Result PASS | ||
|---|---|---|
| z — length parameter | 1.44027 | — |
| M — Folias factor | 1.46704 | — |
| d/t | 0.18634 | — |
| Safe pressure P′ | 757.781 | psi |
| Verdict vs 720 psi | PASS | — |
Against Example 1, depth fell 40% and the safe pressure moved only ~4% — but the verdict flipped because the operating basis dropped too. B31G verdicts live on the ratio of P′ to your basis pressure: reassessing after a de-rate is often the cheapest 'repair' there is, and this pair of cases is the arithmetic behind that judgment.
Fixture case “NPS8 sch40, L=2.0, d=0.06, P=720 -> pass” (tolerance 0.001) — locked in the same release gate as the example above.
Additional verified cases in this fixture
Modified B31G (0.85dL): NPS8 sch40 L=3.0 d=0.1 SMYS=35000 -> z=3.24062, M=sqrt(1+0.6275z-0.003375z^2)=1.73149, Sflow=45000, Sfail=39078.93, Pfail=2917.893, Psafe/1.39=2099.204, default MAOP=2*35000*0.322*0.72/8.625=1881.6, ERF=0.89634 pass PASS
input: {"D":8.625,"t":0.322,"L":3,"d":0.1,"SMYS":35000,"modified":true}
expect: {"z":3.24062,"M":1.73149,"method":"Modified B31G (0.85 dL)","flowStress":45000,"failStress":39078.93,"failPressure":2917.893,"safeOperatingPressure":2099.204,"erf":0.89634}
tol: 0.001Original B31G stress-based, same defect: M=1.89539, Sflow=1.1*35000, Sfail=34272.71, Pfail=2559.029, Psafe=1841.028, ERF=1881.6/1841.028=1.02204 -> REPAIR (fail) FAIL
input: {"D":8.625,"t":0.322,"L":3,"d":0.1,"SMYS":35000}
expect: {"z":3.24062,"M":1.89539,"method":"Original B31G (2/3 dL)","flowStress":38500,"failStress":34272.71,"failPressure":2559.029,"safeOperatingPressure":1841.028,"erf":1.02204}
tol: 0.001Sources & citations
- ASME B31G — Manual for Determining the Remaining Strength of Corroded Pipelines, Level 1 original (parabolic) method.
Per the source & citation policy, allowable-stress and factor table values are user-supplied. Where a page does reproduce specific ASME data (the B16.5 ratings, the quick-reference tables), it states the source table and conditions inline.
FAQ
Should I use original B31G or Modified B31G?
Original B31G is the most conservative screen — if it passes, you are done with Level 1. The card's Method selector also runs Modified B31G (0.85·d·L area term, revised Folias factor, SMYS + 10 ksi flow stress), which typically recovers 5–15% margin; RSTRENG with a measured depth profile recovers more. Failing the original means 'assess further', not necessarily 'repair'. The escalation ladder is worth walking in order rather than jumping: original B31G costs nothing but the inputs you already have; Modified costs the same inputs; RSTRENG costs a river-bottom depth profile from the ILI or a UT grid, which you may already own. Each rung recovers real margin on long defects specifically — short deep pits assess nearly the same all the way up — so let the defect geometry, not habit, decide how far to climb. And record which method dispositioned each defect: an integrity file where some anomalies passed original and some passed RSTRENG is coherent only if it says so.
What does the 1.1 factor on P represent?
B31G frames the acceptance around a flow-stress basis that works out to comparing the defect's failure-pressure estimate against 1.1× the design pressure basis — giving the safe operating pressure P′ directly comparable to MAOP. The practical reading: P′ is directly comparable to the line's MAOP, so the disposition rule is simply P′ ≥ MAOP means the defect is acceptable at current operating pressure under the Level-1 screen. Two cautions on using it. The 1.1 factor presumes the design-factor system of the pipeline codes is intact — a line already operating above its proper design basis invalidates the comparison. And P′ is a static-strength statement only: it says nothing about fatigue growth of the metal loss under pressure cycling, which on liquid lines with aggressive cycle spectra is often the governing question and needs its own assessment.
Related calculators
- ASME B31.3 Allowable Working Pressure Calculator — Rates the same pipe when it's sound and uncorroded
- ASME B31.3 Pipe Wall Thickness Calculator — Original design wall the metal loss is measured against
- ASME B31.4 / B31.8 / B31.11 Pipeline Wall Thickness Calculator — Original pipeline design wall the metal loss reduces
- Hydrostatic / Pneumatic Leak Test Pressure Calculator (ASME B31.3) — Re-qualifying a derated line needs a test pressure
- Pipeline MAOP Calculator — Maximum Allowable Operating Pressure (ASME B31.8 / B31.4) — ERF is computed against MAOP — establish it first
- DNV-RP-F101 Corroded Pipe Calculator (Single Defect Capacity) — The other remaining-strength method on the same defect — tensile-based, less conservative on long flaws