*MPY = Mils Per Year (1 mil = 0.001 inch)
*mm/y = Millimeters Per Year
How to Calculate Rate of Corrosion
Calculating the rate of corrosion is essential for assessing the lifespan of metals and selecting the right materials for engineering projects. Whether you are dealing with pipelines, structural steel, or marine equipment, understanding how fast a material degrades allows for predictive maintenance and safety planning.
The Corrosion Rate Formula (ASTM G31)
The standard method for calculating corrosion rate from mass loss is defined by ASTM G31. This method assumes uniform corrosion over the entire surface area. The formula used to calculate the corrosion rate in Mils Per Year (MPY) is:
R = (K × W) / (A × T × D)
Where:
R = Corrosion Rate
K = A constant factor (3.45 × 106 for MPY when using the units below)
W = Mass loss in grams (g)
A = Surface area in square centimeters (cm²)
T = Time of exposure in hours
D = Density of the material in grams per cubic centimeter (g/cm³)
Step-by-Step Calculation Guide
To use the calculator above or perform the math manually, follow these steps:
Weigh the Specimen: Measure the initial weight (Wi) of the metal sample before exposure. Ensure it is clean and dry.
Expose the Sample: Place the sample in the corrosive environment for a specific duration (T).
Clean and Reweigh: After exposure, remove all corrosion products (rust) using mechanical or chemical cleaning methods without removing the base metal. Weigh the final mass (Wf).
Calculate Weight Loss: Subtract the final weight from the initial weight: W = Wi - Wf.
Determine Surface Area: Calculate the total surface area (A) of the sample exposed to the environment.
Identify Density: Use the material's specific density (D). For example, Carbon Steel is approx 7.85 g/cm³.
Apply the Formula: Input these values into the calculator or formula to get the rate in MPY or mm/y.
Common Material Densities
Using the correct density is critical for an accurate result. Here are standard densities for common engineering metals:
Carbon Steel: 7.85 g/cm³
Aluminum Alloys: ~2.70 g/cm³
Copper: 8.96 g/cm³
Stainless Steel (304): 7.90 g/cm³
Stainless Steel (316): 8.00 g/cm³
Titanium: 4.51 g/cm³
Interpreting the Results (MPY)
Once you have your calculation, how do you know if the rate is acceptable? While "acceptable" varies by industry application, general guidelines are:
< 1 MPY: Outstanding (Suitable for critical parts)
1 – 5 MPY: Excellent
5 – 20 MPY: Good (Allowable for most equipment with corrosion allowance)
20 – 50 MPY: Fair (High maintenance required)
> 50 MPY: Poor (Not recommended for service)
Why Use Mass Loss?
The mass loss method is the most widely used and reliable way to measure uniform corrosion. It provides a direct measurement of material degradation over a set period. However, it represents an average rate and may not detect localized corrosion types like pitting or crevice corrosion.
function updateDensityInput() {
var select = document.getElementById("densitySelect");
var input = document.getElementById("density");
var selectedValue = select.value;
if (selectedValue !== "custom") {
input.value = selectedValue;
} else {
input.value = "";
}
}
function calculateCorrosion() {
// Get Input Values
var initialWeight = parseFloat(document.getElementById("initialWeight").value);
var finalWeight = parseFloat(document.getElementById("finalWeight").value);
var surfaceArea = parseFloat(document.getElementById("surfaceArea").value);
var density = parseFloat(document.getElementById("density").value);
var timeHours = parseFloat(document.getElementById("timeHours").value);
// Validation
if (isNaN(initialWeight) || isNaN(finalWeight) || isNaN(surfaceArea) || isNaN(density) || isNaN(timeHours)) {
alert("Please fill in all fields with valid numbers.");
return;
}
if (initialWeight <= 0 || surfaceArea <= 0 || density <= 0 || timeHours initialWeight) {
alert("Final weight cannot be greater than initial weight. This implies weight gain (accretion), not corrosion loss.");
return;
}
// Calculate Weight Loss (W) in grams
var weightLoss = initialWeight – finalWeight;
// Constants based on ASTM G31
// K for MPY (Mils Per Year) = 3.45 * 10^6
// K for mm/y (Millimeters Per Year) = 8.76 * 10^4
var K_mpy = 3.45 * Math.pow(10, 6);
var K_mmy = 8.76 * Math.pow(10, 4);
// Denominator (A * T * D)
var denominator = surfaceArea * timeHours * density;
// Calculate Rates
var rateMpy = (K_mpy * weightLoss) / denominator;
var rateMmy = (K_mmy * weightLoss) / denominator;
// Display Results
document.getElementById("resWeightLoss").innerHTML = weightLoss.toFixed(4) + " g";
document.getElementById("resMpy").innerHTML = rateMpy.toFixed(2) + " mpy";
document.getElementById("resMmy").innerHTML = rateMmy.toFixed(4) + " mm/y";
// Show Results Container
document.getElementById("results").style.display = "block";
}
function resetCalculator() {
document.getElementById("initialWeight").value = "";
document.getElementById("finalWeight").value = "";
document.getElementById("surfaceArea").value = "";
document.getElementById("density").value = "";
document.getElementById("timeHours").value = "";
document.getElementById("densitySelect").value = "custom";
document.getElementById("results").style.display = "none";
}