Core Loss Model¶
Introduction¶
The core loss model estimates the power dissipated in ferromagnetic cores subjected to alternating magnetic fields. Core (iron) losses arise from hysteresis in the material's \(B\)–\(H\) loop and from eddy currents induced in the conducting core. They are a key design quantity for transformers, inductors, and electric machines.
The model evaluates the volumetric loss density from the peak magnetic flux density \(\hat{B}\) computed by a coupled Time-Harmonic Magnetic Model using the Steinmetz equation
where \(f\) is the excitation frequency (in Hz), \(\hat{B}\) is the peak magnetic flux density magnitude (in T), \(k\), \(\alpha\), and \(\beta\) are the Steinmetz coefficients of the core material (fitted to manufacturer loss data, with \(k\) expressed per unit mass), and \(\rho\) is the mass density of the material (in kg/m³) converting the specific loss to the volumetric loss density \(p_v\) (in W/m³).
Typical industrial applications include loss estimation in transformer and inductor cores, electric machine laminations, and gapped ferrite or powdered iron cores.
Model¶
You create the model and add it to the simulation with
from mufem.electromagnetics.core_loss import CoreLossModel
core_loss_model = CoreLossModel()
sim.get_model_manager().add_model(core_loss_model)
The model needs a Time-Harmonic Magnetic Model in the same simulation; it gets the magnetic flux density and the excitation frequency from it.
Materials¶
You specify the lossy core regions with core loss materials. Add them with
add_materials.
Steinmetz Model Material¶
SteinmetzModelMaterial(
name: str,
marker: Marker,
k: float,
alpha: float,
beta: float,
rho: float,
)
Args:
- name: Name of the material
- marker: Marker of the core volume
- k: Steinmetz coefficient \(k\) (per unit mass)
- alpha: Steinmetz frequency exponent \(\alpha\)
- beta: Steinmetz flux-density exponent \(\beta\)
- rho: Mass density \(\rho\) of the core material (kg/m³)
Example¶
from mufem.electromagnetics.core_loss import (
CoreLossModel,
SteinmetzModelMaterial,
)
core_loss_model = CoreLossModel()
sim.get_model_manager().add_model(core_loss_model)
core_material = SteinmetzModelMaterial(
"Iron Steinmetz",
"Core" @ Vol,
k=1.633e-5,
alpha=1.57,
beta=2.043,
rho=7250,
)
core_loss_model.add_materials([core_material])