| ProjectSample Project — Demonstration Only | Job No.SAMPLE-001 | Client— |
| CalculationElectropolish Removal & Passivation Acceptance Calculator | Calc byPiping Toolset (calc-core) | Checked byUNCHECKED — sample |
| Date2026-10-12 | Rev0 | BasisASME BPE App. H (electropolish) / App. E (passivation) |
An EP and passivation certification coupon: 0.5 g mass loss over 100 cm² of treated area, austenitic stainless. Surface analysis by AES gives Cr/Fe of 1.2 and an oxide layer of 20 Å.
| Mass loss | 0.5 | g |
| Density | 8.0 | g/cm³ |
| Treated area | 100 | cm² |
| Cr/Fe ratio (AES) | 1.2 | — |
| Oxide thickness | 20 | Å |
t = m / (ρ · A) removed thickness from coupon mass loss
accept when t ≥ tmin AND Cr/Fe ≥ (Cr/Fe)min AND oxide ≥ depthmin
The removal calculation is pure geometry: a coupon of known treated area loses a measured mass, and dividing that mass by the material density and the area gives the mean depth of metal removed. The result is reported in both micrometres and inches, since App. H states the minimum in imperial and most coupon work is weighed in metric. Area is entered in cm² or in², converted internally, and density defaults to the value conventional for austenitic stainless while remaining an input for anything else. Note what the arithmetic assumes: it is a mean over the whole treated area, so it credits uniform removal and cannot see a surface that polished heavily in the accessible regions and barely at all inside a fitting bore. The passivation side is a pair of independent threshold comparisons. The Cr/Fe minimum depends on the analytical method, because AES and XPS sample different depths and return systematically different ratios for the same surface — selecting the method sets the Table E-3.2-1 minimum for it automatically (AES or GD-OES, or XPS/ESCA), and the module accepts a specification's own value in place of any table value. Oxide depth is compared against its own minimum in ångströms. Both passivation checks are optional: omit the measurement and that check is skipped rather than failed, so an EP-only coupon can be evaluated without inventing passivation data. The overall status passes only when every check that was actually run passes, and each failure raises its own named warning rather than a bare verdict. The acceptance values are the ASME BPE-2026 tables, cited on the card and in the report: minimum removal from App. H Table H-4.3-1 for the alloy family, and Cr/Fe and oxide depth from App. E Table E-3.2-1 for the test method, never below Table H-4.3-1's values for the family. The alloy family matters because Table H-4.3-1 prints Cr/Fe and passive-layer depth as N/A for duplex stainless steels and nickel alloys, and Table E-3.2-1 is written for UNS S31600/S31603 samples — so for those families the card still checks removal and reports the measured Cr/Fe and depth without judging them.
| Removal | 6.25 | µm |
| Removal | 0.000246 | in |
| Cr/Fe minimum applied | 1.0 | — |
| Verdict | PASS | — |
The result values above are locked as fixture ep-passivation.json, case
“removal + Cr/Fe + oxide all pass”, tolerance 0.0001, in the calc-core continuous
verification gate (see https://pipingtoolset.com/trust/validation.html). Allowable-stress and factor data are
user-supplied inputs; citations: ASME BPE — App. H (electropolishing, material removal acceptance) and App. E (passivation, Cr/Fe and oxide-layer criteria). Acceptance values from Tables H-4.3-1 and E-3.2-1 (BPE-2026).