Estimating Core Loss for a Non-Oriented Electrical Steel Stack in Python (50W470 Example)
A non-oriented electrical steel grade like 50W470 already contains two numbers you can use: the strip thickness and the guaranteed core loss. This post turns them into a quick estimate of stack mass, lamination count and core loss, so you can sanity-check a motor core before asking for a quote.
What the grade code tells you
In the Chinese standard (GB/T 2521), 50W470 reads like this:
- 50 → 0.50 mm thickness
- W → non-oriented
- 470 → maximum core loss of 4.70 W/kg at 1.5 T and 50 Hz (P1.5/50)
The same steel appears as M470-50A in EN 10106 and 50A470 in JIS. If you need to compare codes across standards, our guide to electrical steel grades and standards lists the equivalents.
The calculation
Three steps:
- Net iron volume = lamination area × stack height × stacking factor
- Mass = volume × density
- Core loss = mass × P1.5/50 × building factor
import re
DENSITY_G_CM3 = 7.65 # typical for non-oriented grades; check your mill data sheet
def parse_gb_grade(code: str) -> dict:
m = re.fullmatch(r"(\d{2,3})W(\d{3,4})", code.strip().upper())
if not m:
raise ValueError(f"Not a GB non-oriented grade: {code}")
return {
"thickness_mm": int(m.group(1)) / 100,
"p15_50_w_per_kg": int(m.group(2)) / 100,
}
def estimate_core_loss(grade, lamination_area_cm2, stack_height_mm,
stacking_factor=0.96, density=DENSITY_G_CM3,
building_factor=1.0):
g = parse_gb_grade(grade)
volume_cm3 = lamination_area_cm2 * (stack_height_mm / 10) * stacking_factor
mass_kg = volume_cm3 * density / 1000
return {
"iron_mass_kg": round(mass_kg, 2),
"laminations": round(stack_height_mm * stacking_factor / g["thickness_mm"]),
"core_loss_w": round(mass_kg * g["p15_50_w_per_kg"] * building_factor, 1),
}
print(estimate_core_loss("50W470", lamination_area_cm2=150, stack_height_mm=100))
# {'iron_mass_kg': 11.02, 'laminations': 192, 'core_loss_w': 51.8}
print(estimate_core_loss("50W470", 150, 100, building_factor=1.3))
# {'iron_mass_kg': 11.02, 'laminations': 192, 'core_loss_w': 67.3}
For a 150 cm² lamination stacked 100 mm high, you get about 11 kg of iron, roughly 192 sheets, and about 52 W at the catalog value.
Where the estimate stops being accurate
- P1.5/50 is a guaranteed maximum measured on test strips at 1.5 T and 50 Hz. Your motor may run at a different flux density and frequency, so treat this as a comparison number between grades, not a prediction.
- Building factor is not 1.0. Punching, burrs, clamping stress and harmonics usually push real core loss above the catalog figure. Use a factor from your own test data.
- Stacking factor depends on your process. Coating type, burr height and stacking pressure all change it. 0.96 is a placeholder, not a rule.
- Density varies slightly by grade. Take the value from the mill certificate when you have it.
Using it to compare grades
Run the same stack through a few grades and look at the loss difference against the price difference per kg. A thinner, lower-loss grade does not always pay back, especially on low-duty-cycle motors. Specs for our non-oriented range are on the CRNGO steel coil page.
If you are comparing grades for a specific motor, send us the lamination drawing and the loss target and we will tell you which stock grades fit.What the grade number guarantees, and how to turn it into a first-pass loss figure for a lamination stack
About the author
- Sharing technical insights about electrical steel, silicon steel grades, transformer cores, motor applications, magnetic properties, and industrial material solutions. Published by the technical team behind cn-electricalsteel.com, helping engineers and manufacturers better understand electrical steel technologies and applications.
Comments
Join the discussionNo comments yet. Be the first to comment.

