Corrosion Allowance — and the Four Things It Cannot Do
The 3 mm that wasn't there
A 6″ carbon-steel crude line, design life 25 years, line class says CA = 3.0 mm. Three and a half years in, it leaks. The UT grid taken the same week reads an average wall of 5.7 mm on a pipe whose code minimum is 2.4 mm — comfortably thick, most of the allowance apparently untouched. The inspector's report and the puddle on the pipe rack disagree with each other.
Guess first: how much of the 3 mm corrosion allowance had actually been consumed when the pipe perforated?
About half a millimetre. The pipe did not fail by getting thinner; it failed at one point, through a pit that ate 1.8 mm a year while the rest of the wall lost 0.15. Corrosion allowance is a budget for the average. The leak is set by the minimum. Those are different numbers, and only one of them puts hydrocarbon on the ground.
The belief to kill, stated plainly so it can be dismantled:
"We've got 3 mm corrosion allowance, so corrosion is covered for the design life."
CA covers exactly one damage mechanism — uniform general thinning at the rate you assumed. Every localised mechanism and every cracking mechanism walks straight past it.
What corrosion allowance actually models
CA is an accounting entry made at design stage. It says: I expect the wall to lose metal evenly
at rate CR; I will buy CR × L millimetres of sacrificial thickness so the pressure-retaining
wall is still legal on the last day of design life.
CA ≥ CR × L the whole of corrosion-allowance theory
That is it. There is no physics in CA — the physics is all in CR, which comes from process
chemistry, corrosion loops, coupons, an API 581 damage-factor table, or the previous unit's
thickness history. CA is only as good as that one number, and the number is an average.
Three consequences that follow immediately and are routinely missed:
- CA is not corrosion control. It buys time; it changes nothing about the mechanism. Cladding, coating, inhibitor, material change and pH control are control. CA is a stock of metal to spend.
- CA is not the retirement limit. Retirement is when the measured wall reaches
t_min, the pressure-design minimum. Schedule round-up usually leaves more metal than the CA, so the two dates are different — often by years, in either direction. - CA is spent before you start. Pipe is bought to a nominal wall with a −12.5 % mill tolerance; on 6″ Sch 40 that is 0.89 mm, nearly a third of a 3 mm CA, gone before the line is hydrotested.
Set your own numbers and watch the wall come down against the code floor — ▶ open the interactive: materials corrosion allowance calc plots remaining wall against time, marks the retirement year, and has a switch that turns uniform thinning into a single pit.
Where the corrosion rate actually comes from — and its error bars
CR is the weakest link in the chain and it is usually a single number in a line-class table.
In practice it is assembled from: (a) process simulation of the corrosive species — CO₂ partial
pressure (de Waard–Milliams), H₂S, O₂ ingress, chlorides, velocity; (b) coupons or ER/LPR probes
in the same service; (c) historical UT from the same corrosion loop in a similar unit — by far
the best source; (d) API RP 581 damage-factor tables when there is nothing else.
Two rules of thumb that survive contact with site. First, a designed rate is a mean and real data is log-normal, so the 95th-percentile local rate is commonly 3–10× the mean — which is exactly the pitting factor. Second, corrosion rates change when the feed changes; a CA sized for sweet crude means nothing after the refinery starts running an opportunity crude with 2 % sulphur. CA is fixed at design; the process is not. That asymmetry is why inspection, not allowance, is the real control.
Symbol key — every symbol on this sheet
Read the subscripts as words: t_min is the minimum wall the code will allow, t_nom the
nominal wall you ordered, t_act the wall actually measured today.
- CA — corrosion allowance: sacrificial thickness added for uniform loss · mm
- CR — corrosion rate: assumed or measured uniform metal loss per year · mm/yr
- L — design life: the years the CA must cover · yr
- t — pressure-design thickness from the code formula (no CA, no tolerance) · mm
- t_min — minimum acceptable wall: the greater of the pressure
tand the structural minimum · mm - t_nom — nominal (ordered) wall, e.g. Sch 40 = 7.11 mm on 6″ · mm
- t_act — measured wall at a CML today · mm
- P — internal design pressure · MPa (bar ÷ 10)
- D — pipe outside diameter · mm
- S — basic allowable stress of the material at design temperature · MPa
- E — quality/joint factor (1.0 seamless, 0.85 ERW, 0.60 furnace butt)
- W — weld strength reduction factor (1.0 below the creep range)
- Y — B31.3 coefficient, 0.4 for ferritic steel below 482 °C
- RL — remaining life = (t_act − t_min)/CR · yr
- CML / TML — condition (thickness) monitoring location: the fixed spot you re-measure
- PF — pitting factor: local rate ÷ general rate, typically 3–10 on a well-behaved line and up to 30 where a pitting mechanism is active
- Z — section modulus of the pipe; it is what the sustained stress check divides by · mm³
What CA cannot see
CA is a thickness budget. It only works when the metal disappears evenly, everywhere, at the assumed rate. Eight common mechanisms break one of those three words:
| Mechanism | Why CA misses it |
|---|---|
| Pitting | Local. Rate at the pit bottom is 3–30× the general rate; average thickness barely moves |
| Crevice corrosion | Local, and hidden — under gaskets, deposits, supports, weld backing rings |
| Galvanic | Local, driven by area ratio; a small anode next to a large cathode wastes fast |
| Erosion–corrosion / FAC | Local and geometry-driven: elbow extrados, downstream of a control valve, tee run |
| MIC | Local, pinholes, often under deposits or in dead legs after hydrotest water is left in |
| Chloride SCC | A crack, not thinning. Zero wall loss, through-wall in weeks |
| Wet H₂S: HIC / SOHIC / SSC | Cracking and blistering inside the wall; extra thickness can make it worse |
| Hydrogen damage (HTHA, embrittlement) | Attacks the metal's properties, not its thickness |
The first five are localised: the pipe is still thick on average, and the CA sits there unspent while one square centimetre goes to zero. The last three are cracking: thickness is irrelevant to the mechanism, and a thicker section is often more restrained and therefore worse. Both families answer "how much CA did you put on?" with "it doesn't matter".
Watch the two futures side by side in the wall section —
▶ open the interactive: materials corrosion allowance 3d recedes the bore uniformly against the t_min
and CA-spent rings, or grows one pit through the wall while the UT grid average stays green.
Why more thickness can be the wrong answer — CRA and cracking services
Two places where adding CA is not merely useless but actively harmful:
Corrosion-resistant alloys. 316L, duplex, 825, 6Mo are chosen precisely because their general corrosion rate is negligible (< 0.025 mm/yr — 3 mm of CA would be a 120-year allowance). Their real failure modes are pitting, crevice attack and chloride SCC, all of which CA cannot touch. Meanwhile CRA pipe costs 4–10× carbon steel per kilogram, so a "standard" 1.5 mm CA on a 316L line is a large, purely wasted spend. Most good specs state CA = 0 for CRA and put the money into a higher PREN instead.
Cracking services. In wet H₂S (NACE MR0175 / ISO 15156), caustic, or amine service the controls are hardness limits, PWHT, HIC-tested clean steel, and stress relief — not thickness. Worse: heavier sections are harder to PWHT properly, retain more residual stress, and in ASME VIII terms a thicker shell raises the through-wall stress gradient that drives SOHIC. A 6 mm CA "to be safe" in caustic service buys you a stiffer, harder, more restrained joint — the opposite of what the mechanism needs.
CA inside the code sum — and the corroded-wall stress check
The B31.3 straight-pipe thickness for internal pressure (eq. 3a, t < D/6):
t = P·D / [ 2·(S·E·W + P·Y) ] pressure design thickness
t_req = t + CA + (threading / grooving / other allowances)
t_nom ≥ t_req / (1 − mill tolerance) usually / 0.875 for seamless
CA enters once, as an additive term, and then the mill tolerance is applied to the whole sum — which is why buying "one schedule up" so often silently doubles the real allowance.
The part people forget is the other end of the life. Flexibility analysis has to answer two different questions with two different walls:
- Sustained and occasional stress (SL) — run on the corroded section. Weight and pressure
still act at end of life, but
Zhas shrunk, so SL rises. This is the governing wall for support spacing and for theSL ≤ Shcheck. - Displacement/expansion stress (SE) and stiffness — conventionally run on the uncorroded (nominal) wall. A thicker pipe is a stiffer pipe: it generates higher expansion stress and higher nozzle and anchor loads. Using the thinned wall here would under-predict them.
So CA does not simply "disappear into the pipe". It shows up in the stress model as a smaller Z
in the sustained case, and it shows up in the procurement cost twice — the metal itself, plus the
extra stiffness, weight and nozzle load that a heavier schedule drags along behind it.
Why the mill tolerance deserves more respect than it gets
Seamless pipe to ASTM A106/A53 is supplied to −12.5 % on the specified wall. On 6″ Sch 40 (7.11 mm) the legal minimum supplied wall is 6.22 mm — you have lost 0.89 mm, 30 % of a 3 mm CA, and you have lost it on day zero, before a molecule of crude has touched the pipe.
Practical consequences: (1) baseline UT at commissioning is not optional — it tells you what you actually bought, and every remaining-life calculation for the next 25 years is anchored on it; (2) an apparent "loss" between the datasheet nominal and the first survey is usually mill tolerance, not corrosion, and reporting it as a corrosion rate produces an absurd short-term rate; (3) welded pipe and some plate-rolled items carry a plus tolerance instead, so the same line class can hand you two quite different real walls.
Worked example, pitfalls, and the real defence
The line. 6″ NPS (D = 168.3 mm), A106 Gr B seamless, Sch 40 (t_nom = 7.11 mm), design 40 bar (P = 4.0 MPa) at 150 °C → S = 137.9 MPa, E = 1.0, W = 1.0, Y = 0.4. CA = 3.0 mm, design life 25 yr, assumed general rate 0.15 mm/yr.
t_min = 4.0 × 168.3 / [2 × (137.9 × 1 × 1 + 4.0 × 0.4)]
= 673.2 / 279.0 = 2.41 mm
t₀ (supplied) = 7.11 × 0.875 = 6.22 mm
CA needed = 0.15 × 25 = 3.75 mm → the 3.0 mm CA is 0.75 mm SHORT
CA exhausted = 3.0 / 0.15 = 20.0 yr
Retirement = (6.22 − 2.41) / 0.15 = 25.4 yr → it makes design life anyway
Read that pair again. On a CA basis the line fails its design life; on a t_min basis it
passes, by nearly five months (25.4 vs 25.0 years). Nothing about the corrosion changed — the schedule round-up bought
the extra five years, not the allowance. If you only ever check "CA ≥ CR × L" you will
over-thicken lines that were fine and under-worry lines that are not.
Mid-life survey, year 10. Measured wall 4.72 mm.
RL = (t_act − t_min) / CR = (4.72 − 2.41) / 0.15 = 15.4 yr
Next inspection ≤ lesser of RL/2 (7.7 yr) and 5 yr → 5 yr (API 570)
Now the same line with one pit. Under-deposit attack at the 6 o'clock position, pitting factor 12 → pit rate 1.80 mm/yr.
Perforation = 6.22 / 1.80 = 3.5 yr
UT grid average at that moment = 6.22 − 0.15 × 3.5 = 5.70 mm
… which is 3.29 mm ABOVE t_min, with only 0.52 mm of the 3.0 mm CA spent.
And the arithmetic of why the average cannot see it: a pit 8 mm across and 5 mm deep removes about 250 mm³ of steel. Spread over the internal surface of a 6 m spool (π × 154 × 6000 ≈ 2.9 × 10⁶ mm²) that is 0.00009 mm of average thinning — roughly one thirty-five-thousandth of the corrosion allowance. There is no thickness budget that can be made large enough to notice that; only a measurement in the right place can.
Common pitfalls
- Treating CA as corrosion protection rather than a thickness budget — it controls nothing.
- Quoting CA as the retirement criterion. The retirement criterion is
t_min, measured. - Forgetting the −12.5 % mill tolerance, then reporting the difference as a corrosion rate.
- Putting a "standard" CA on CRA or on a cracking service: expensive, useless, sometimes harmful.
- Running the sustained stress check on the uncorroded wall (non-conservative
Z), or the expansion case on the corroded wall (non-conservative stiffness). - Averaging a grid of UT readings and calling the mean "the wall". The minimum governs.
- Putting CMLs where they are easy to reach instead of where the damage is: elbow extrados, downstream of injection points and control valves, dead legs, low points, 6 o'clock.
- Mixing short-term and long-term corrosion rates in the same remaining-life sum.
The real defence. Everything CA cannot do is done by an inspection programme: corrosion loops that group piping by mechanism, CMLs chosen by mechanism rather than by access, baseline UT at commissioning, both short-term and long-term rate trending, and scan techniques (not spot UT) wherever the mechanism is localised — automated ultrasonic scanning, profile radiography, or pulsed eddy current. CA answers "how much metal can I afford to lose?" Inspection answers "where is it actually going?" Only the second question has ever prevented a leak.
Outcome
- CA is a budget for uniform thinning only:
CA ≥ CR × L, and the whole of its validity sits in the single averaged numberCR. - Retirement is set by t_min = P·D/[2(S·E·W + P·Y)], measured — not by the CA being "used up". Schedule round-up and the −12.5 % mill tolerance usually make those two dates different.
- Pitting, crevice, galvanic, erosion–corrosion, MIC, chloride SCC, HIC/SOHIC and hydrogen damage are localised or cracking mechanisms; CA is blind to all eight. A pit that perforates a 6″ line spends about 1/35,000 of a 3 mm allowance getting there.
- CA on a CRA or in a cracking service is wasted money and can be actively harmful — no CA, spend it on alloy, PWHT, hardness control or coating instead.
- In the stress model: corroded wall for sustained/occasional, nominal wall for expansion and stiffness; extra thickness is never free in nozzle loads.
- Interactive: ▶ open the interactive: materials corrosion allowance calc · 3D: ▶ open the interactive: materials corrosion allowance 3d.
Open items
- Add a structural-minimum-thickness check (API 574 tables) alongside the pressure
t_min— for small-bore and low-pressure lines the structural minimum usually governs. - Extend the explorer with a statistical pit-depth distribution (extreme-value / Gumbel) so the "deepest pit in the inspected area" can be extrapolated to the whole circuit.
- Worked injection-point circuit: CML layout and inspection interval per API 570 for a real line.
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