Skip to content

Core Properties and Models

This page helps you choose how TRAFOLO models a magnetic core: the permeability model of the core material (constant, complex or a B-H curve), laminated stacks, the core-loss models, air gaps and permanent magnets. For each model it gives the runs that use it, what TRAFOLO computes and where the model stops being valid. You set the material models on the Materials tab, and the gaps and the magnet direction on the Core tab.

Choosing a permeability model

Each core material uses one permeability model, chosen under PERMEABILITY & LOSS MODELS on the General tab of the material form: Relative Permeability (1), Complex Permeability (2) or B-H Curve [T, A/m] (3). Core Loss Model (4) sets the core-loss formula of Transient runs: GSE or iGSE. In a Harmonic or Inductance project it offers only SE (Steinmetz + Eddy).

Permeability and loss model options on the General tab of a core material
PERMEABILITY & LOSS MODELS on the General tab of a core material (Cogent M270-50A: B-H curve, GSE).
Model Use it for Harmonic Inductance Transient Core loss from
Relative Permeability (1) Gapped cores; ungapped cores well below saturation Yes Yes Yes Core Loss tab: Steinmetz + Eddy, or GSE / iGSE in Transient
Complex Permeability (2) Ferrites at small signal: EMI chokes, RF and high-frequency inductors Yes Yes No, the run does not start Imaginary part μ″, inside the field solution
B-H Curve [T, A/m] (3) Saturation; cores running near the knee of the curve Fundamental frequency only Yes, at every sweep point Yes Core Loss tab, as for Relative Permeability

Core Material Type sets the kind of core: Ferrite (default), Powder and Composite are modelled the same way; Laminated adds the laminate model and Magnet adds a magnetization (both described further down this page).

Constant relative permeability

With Relative Permeability (1), B = μ0·μr·H in the whole core, in every run type. The model is linear: it does not saturate and has no loss of its own; the core loss comes from the Core Loss tab.

The value to enter depends on the operating point. Datasheets quote several permeabilities, defined on the B-H loop below:

Initial, maximum, amplitude, incremental and reversible permeability on a B-H loop
Permeability definitions on a B-H loop. Picture: S. Zurek, E-Magnetica.pl.
Permeability Definition Enter it for
Initial, μi Slope of the initial magnetization curve at H → 0 Small-signal parts: EMI chokes, current transformers at low flux density
Amplitude, μa B̂ / (μ0·Ĥ) at the peak of the AC loop Power inductors and transformers: μa at the design peak flux density
Incremental, μΔ (reversible, μrev, for a vanishing loop) ΔB / (μ0·ΔH) of a small loop on a DC bias AC ripple on a DC current, for example a buck or PFC choke
Maximum, μmax Highest amplitude permeability of the material An upper bound, not an operating value

In a gapped core, the gap sets the inductance and the core permeability matters little. The effective permeability is μe = μr / (1 + μr·lg/le), with lg the total gap length and le the magnetic path length. For le = 50 mm and lg = 0.5 mm, μr = 2000 gives μe = 95.2 and μr = 3000 gives 96.8: 50 % more μr, 1.6 % more inductance.

A constant permeability never saturates: the field solution stays linear at any current. Check the peak flux density on the Results tab (Magnetic Flux) against the saturation flux density of the material, and use a B-H curve when the core runs near the knee.

Complex permeability

Complex Permeability (2) describes a linear core with losses: μ = μ′ − j·μ″. The real part μ′ stores magnetic energy; the imaginary part μ″ holds the losses as measured (hysteresis and eddy currents in the grains). Ferrite datasheets give both against frequency.

Real and imaginary permeability of Fair-Rite 44 material from 10 kHz to 100 MHz
μ′ and μ″ of Fair-Rite 44 material against frequency in Hz. Chart: Fair-Rite.

Enter one row per frequency on the Complex μ tab: Frequency in Hz, Real μ′ and Imaginary μ″ as a positive number. For each run frequency, TRAFOLO interpolates linearly between the rows and passes the reluctivity ν = 1/(μ0·μ) = (μ′ + j·μ″) / (μ0·(μ′2 + μ″2)) to the solver.

The core loss is part of the field solution: the loss density is p = π·f·μ0·μ″·Ĥ2 in W/m³, with Ĥ the peak field strength. The lossy core also shields the field, and the loss reaches the circuit: Rac Circuit (R AC source) and Q Factor on the Results tab include it. TRAFOLO does not use the Core Loss tab of a material with complex permeability.

Complex permeability is linear: no saturation, and the loss grows with B², while power ferrites follow Bn with n ≈ 2.5 to 3.5 (Steinmetz). Datasheet μ″ is measured at a small flux density, typically below 1 mT. Use it for small-signal parts such as EMI chokes and RF inductors. For power inductors and transformers at tens or hundreds of mT, use Relative Permeability or a B-H curve with Steinmetz core loss.

Harmonic and Inductance runs only: a Transient run with a complex-permeability material does not start. Outside the frequency range of the table, TRAFOLO extrapolates linearly from the two end rows, so keep every run frequency inside the table.

B-H curve

What the curve describes

With B-H Curve [T, A/m] (3), the permeability follows the flux density, so the model captures saturation. TRAFOLO uses a single-valued (anhysteretic) curve: B averaged over the upper and lower branches of the hysteresis loop, without coercivity and remanence. The table holds its H ≥ 0 half.

Major hysteresis loop and the anhysteretic curve between its branches
Major hysteresis loop and the anhysteretic curve, the mean of its two branches, that a B-H table describes.

The curve stores no magnetic history, so the hysteresis loss does not follow from the field solution: TRAFOLO computes it after the solve with the core-loss model (see Core loss models). Hysteresis models such as the Jiles-Atherton model need far more complex methods in 3D.

A B-H curve makes the problem nonlinear: the solver iterates until permeability and field agree, so runs take longer. If a run does not converge, set Solver Preset to Slow or lower the Nonlinear Relaxation Factor on the Solve tab.

Importing, fixing and extending the curve

On the B-H tab, Import Table reads a text file with two columns, B in T and H in A/m (file format on Materials). Both columns must rise from row to row. Manufacturers often give no curve or only a few points, and measured points can contain outliers that stop the nonlinear solver from converging. B-H Curve Optimization cleans and extends the curve.

B-H Curve Optimization panel with curve selector, cubic spline option and saturation
B-H Curve Optimization of Höganäs Somaloy 700 3P: Fixed + Extrapolated Data with Saturation 2.1276 T.
Setting What it does
B-H CURVE SELECTOR (5) Original Data (default for a new material): the imported points. Fixed Data: outliers removed (rules below). Fixed + Extrapolated Data: the fixed curve continued to saturation.
Use Cubic Spline Interpolation (6) Off (default): straight lines between the points. On: monotone cubic interpolation, which helps the nonlinear solver with sparse data.
Saturation [T] (7) The saturation polarization Js = B − μ0·H that the extrapolated curve levels at. Unticked (default): TRAFOLO estimates Js from the end of the curve.

Fixed Data removes:

  • points where the curve stops rising (dB/dH ≤ 0);
  • spikes: points whose segment is more than 10 times steeper than its two neighbouring segments together;
  • the last point, when the last segment is steeper than the one before it.

Fixed + Extrapolated Data continues the fixed curve: the polarization J = B − μ0·H approaches Js exponentially, the differential relative permeability falls to 1, and the table ends at H = 10⁶ A/m with the slope of vacuum. Without the extension, a field beyond the last point of the table continues the curve at its last slope and can give too high a flux density.

B-H curve of Somaloy 700 3P with its extrapolated tail to one million A per m
B-H curve of Höganäs Somaloy 700 3P (blue) and its Fixed + Extrapolated tail to 10⁶ A/m (green).

The B-H curve in each run type

Run How TRAFOLO uses the curve
Transient At every time step. The run captures saturation and the flat-topped flux of a saturating core.
Harmonic Only at the fundamental frequency, where the field is a sine whose amplitude follows the curve. Every other frequency of the run uses the permeability of the fundamental solution, element by element, and stays linear.
Inductance At every point of the sweep, so an excitation sweep shows the inductance falling as the core saturates (see Inductance (frequency and excitation sweeps)).

A harmonic run cannot show the non-sinusoidal flux of a saturating core. In the example (sinusoidal current, core driven into saturation), the transient run with the original curve (blue) clips the flux density at 0.31 T. The harmonic run with the same curve (green) gives a sine with about the same peak, so less flux at the fundamental and too low an inductance. A constant μ (orange) ignores saturation and reaches 1.04 T in both runs.

Flux density over two periods for constant permeability, original and Simple Energy B-H curves
B (T) over two periods, sinusoidal current: constant μ, original B-H curve and Simple Energy (SE) curve, transient and harmonic.

Use Transient when the core saturates or carries a DC bias. Harmonic runs with a B-H curve are good below the knee, where they capture how the permeability changes with the flux density.

Effective B-H curves for harmonic runs

Some FEM tools replace the curve in harmonic runs with an effective curve that keeps the field energy of a transient solution, for example the Simple Energy curve BSE(H) = (2/H)·∫0H B(H′) dH′ (G. Paoli et al., Complex representation in nonlinear time harmonic eddy current problems, IEEE Transactions on Magnetics, 1998; overview in Model Magnetic Materials in the Frequency Domain with an App). TRAFOLO does not compute such curves. You can import one as an ordinary B-H table, with two limits:

  • it raises B above the saturation flux density (0.65 T against 0.34 T in the picture), so Steinmetz core losses computed from it come out too high;
  • it holds only in harmonic runs: in transient runs it overshoots (SE transient, yellow, in the chart above).

Original B-H curve and Simple Energy curve up to 2000 A per m
Original B-H curve and its Simple Energy curve.

Laminated cores

Electrical-steel cores are stacks of thin, insulated sheets. TRAFOLO models the stack as one homogeneous body: set Core Material Type (8) to Laminated and enter the sheet data.

Laminated core settings on the General tab of the material
Laminated core settings of Cogent M270-50A on the General tab: 0.50 mm sheets, stacking factor 0.97, 1.82 MS/m.
Setting Values or unit What it does
Core Material Type (8) Ferrite (default), Laminated, Powder, Composite, Magnet Laminated shows the three settings below and switches on the laminate model.
Laminate Thickness [mm] (9) mm, above 0 Sheet thickness d.
Stacking Factor (10) 0 to 1, 1 (default) Share of the stack cross-section filled with steel.
Laminate Stack Conductivity [S/m] (11) S/m Conductivity σ of the sheet material. The field takes the place of Electric Conductivity [S/m] @ 20°C (right column of the box), so the bulk core carries no eddy currents. It does not depend on temperature.

The sheet eddy currents enter through the low-frequency laminate model, in every run type: the field strength gets the term σ·d²/12·dB/dt, which reduces the flux inside the stack as the frequency rises. In the example below (0.48 mm sheets, σ = 2.7 MS/m), the highest flux density in the core falls from 0.170 T at 0 Hz to 0.100 T at 1 kHz (−41 %) and 0.012 T at 10 kHz (−93 %).

Flux density in a laminated steel core at 0 Hz, 1 kHz and 10 kHz
Flux density in a laminated steel core at 0 Hz, 1 kHz and 10 kHz; each view has its own color scale.

The low-frequency model holds while the sheets are thin compared with the skin depth δ = √(2/(ω·μ0·μr·σ)). Up to d = 2δ it stays within about 5 % of the classical lamination solution; for much thicker sheets or higher frequencies it overestimates the shielding (at d = 9δ it gives half the flux). Example: 0.5 mm steel with σ = 1.82 MS/m and μr = 2000 has δ = 1.18 mm at 50 Hz and 0.26 mm at 1 kHz, so d = 2δ at about 1.1 kHz.

With a Stacking Factor k below 1, TRAFOLO homogenizes the stack:

  • B-H curve: B = k·Bsteel(H) + (1 − k)·μ0·H; constant and complex permeability: μ = k·μr + (1 − k);
  • core loss: Kh × k−n and Ke × k−2, because the datasheet loss holds at the flux density in the steel, B/k;
  • density k·ρ for the loss totals and the thermal mass, and laminate conductivity σ/k.

Background on the laminate model: journal article (Electromagnetics, 2016).

Core loss models

TRAFOLO computes the core loss in one of three ways, depending on the permeability model and the run type:

Model Runs Material settings How
Complex permeability Harmonic, Inductance Complex μ tab From μ″ inside the field solution, at each frequency.
Steinmetz + Eddy Harmonic, Inductance Core Loss tab After the solve, from the peak flux density in each element at each frequency; the losses of all frequencies are added.
GSE (default) or iGSE Transient Core Loss tab and Core Loss Model (4) At every time step, from dB/dt in each element; averaged over the periods after Skip Periods From Averaged Losses on the Waveform tab.

Steinmetz + Eddy (Harmonic and Inductance runs)

P = Kh·fm·Bn + Ke·(f·B)2

f is the frequency in Hz, B the peak flux density in T, and P the loss density in the Units of the Core Loss tab: W/kg, mW/cm3 or W/m3 (TRAFOLO converts with the Density of the material). Kh, m (frequency exponent) and n (flux-density exponent) describe the hysteresis loss, Ke·(f·B)² the eddy loss, which counts only when Ke is ticked on the Core Loss tab.

Example with the coefficients of Ferroxcube 3F3 100C in the Core Loss tab picture below (W/m3), at 100 kHz and 0.1 T: 229.93 × (10⁵)1.06 × 0.13.02 = 43.8 kW/m³ hysteresis loss, plus 326.76 × 10⁻⁶ × (10⁴)2 = 32.7 kW/m³ eddy loss: 76.5 kW/m³ in total.

Adding the losses of separate frequencies is an approximation: core loss is nonlinear in B, and a DC bias in the core is not captured. When the core loss matters and the waveform is far from a sine, check it with a Transient run (Transient Waveforms & Simulations).

GSE and iGSE (Transient runs)

Transient runs evaluate the loss at every time step from the flux density waveform B(t) of each element, with the same Kh, m and n. For a sinusoidal flux both reduce to the Steinmetz law above. Choose the formula with Core Loss Model (4) on the General tab:

  • GSE (default): P = (1/T)·∫0T ki·|dB/dt|m·|B(t)|n−m dt, with ki = Kh / ((2π)m−1·∫02π |cos θ|m·|sin θ|n−m dθ)
  • iGSE: P = (1/T)·∫0T ki·|dB/dt|m·(ΔB)n−m dt, with ki = Kh / ((2π)m−1·2n−m·∫02π |cos θ|m dθ)

T is the period and ΔB the peak-to-peak flux density over it. The iGSE takes the flux swing ΔB instead of the instantaneous |B|, which suits non-sinusoidal flux such as the triangular and trapezoidal waveforms of PWM converters. Neither model captures a DC bias or the relaxation loss after a switching edge.

All core materials that the bodies use must have the same Core Loss Model: with mixed models the run does not start. The GSE integral needs n − m > −1: with Auto on, TRAFOLO keeps m − n ≤ 0.99 for Transient runs.

Core Loss tab

The coefficients come from a measured loss table, P against B at several frequencies, usually from the manufacturer (file format on Materials).

Core Loss tab of Ferroxcube 3F3 100C with measured data, fitted coefficients and thermal coefficients
Core Loss tab of Ferroxcube 3F3 100C (library): loss data in W/m3, fitted to Kh = 229.93, m = 1.06, n = 3.02, Auto on.
Setting What it does
Import table (12) Reads the loss table. Units sets W/kg, mW/cm3 or W/m3.
Frequency Range, Auto (13) Auto on (library materials with a loss table): TRAFOLO refits Kh, m, n (and Ke when ticked) to the whole table for every run; in Harmonic and Inductance runs around each run frequency (nearer frequencies weigh more), in Transient runs over all frequencies. The coefficients shown are then the first fit and are read-only; Frequency Range and Calculate Coefficients are off. Auto off: the coefficients shown are used as they are, and Frequency Range limits the frequencies that Calculate Coefficients fits.
Calculate Coefficients (14) Fits the coefficients to the table, minimizing the relative error. A single fit over a wide frequency range is poor at its ends: fit the range your design runs in, or leave Auto on.
Kh, m, n (15) Hysteresis coefficient, frequency exponent (fitted within 1 to 2.5) and flux-density exponent (fitted within 1 to 4).
Ke (16) Eddy coefficient. Ticked: the eddy term is part of the fit and of the loss.
Thermal Coefficients, New Coefficient (17) A factor on the loss density: C0 − C1·T + C2·T2 − … = Σ(−1)n·Cn·Tn, with T the core temperature in °C. Empty (default): no temperature dependence. Fit the Cn so that the factor is 1 at the temperature of the loss table.

The core temperature for the thermal factor is the Predicted Steady-State Temperature on the Heat tab in the first pass. With Temperature Iterations 2 or 3 on the Setup tab, it is the temperature field of the previous pass. Some library materials, for example Ferroxcube 3C95 100C and 3C97 100C, have no thermal coefficients: their loss is the 100 °C loss at any temperature.

With an Electric Conductivity above 0, a solid (not laminated) core also gets eddy-current loss in the bulk from the field solution, on top of the Steinmetz loss. Which value to enter for ferrite and powder cores: see the eddy-loss note on Materials.

Air gaps: physical and virtual

A gap a few tens of µm thick between two core halves needs very small elements, which makes the mesh large and the run slow. Gap Type on the Core tab chooses how TRAFOLO models the gaps of a core group:

Gap Type Model Use for
None (default) No gap: one continuous core. One-piece cores without a cut, such as a toroid.
Physical The gap is a body of its own, with the gap material, and is meshed. The mesh resolves the field in the gap and the fringing field around it. Gaps that set the inductance, and windings close to a gap, where the fringing field drives the winding loss.
Virtual Every face where two core pieces of the group meet becomes a thin-layer boundary with the thickness Virtual Gap (µm) and relative permeability 1. Nothing is meshed inside the gap. Small and parasitic gaps where core pieces meet; most shipped templates with a virtual gap use 10 to 50 µm.
Planar core with the gap plane and its mesh with a physical gap and with a virtual gap
Planar core with the gap plane in orange (left), meshed with a physical gap (middle) and with a virtual gap (right).

The reluctance of a virtual gap is part of the field solution, so Circuit Inductance includes it. Settings, the gap table of physical gaps and the cut for imported cores: Core.

Permanent magnets

TRAFOLO models a permanent magnet as a linear magnet: a core body with a constant magnetization and its recoil permeability. Demagnetization and other nonlinear effects are not modelled.

  1. On the Setup tab, with Harmonic selected, tick Magnets (18). Inductance runs do not offer it.

    Magnets option on the Setup tab
    Magnets option on the Setup tab.

  2. On the Materials tab, add a core material with Core Material Type Magnet (19).

  3. Set Relative Permeability to the recoil permeability μrec of the magnet, for example 1.05 for sintered NdFeB.
  4. Set Coercivity (Magnetization) [A/m] (20) to the coercivity HcB of the magnet. For a linear magnet, HcB = Br / (μ0·μrec): Br = 1.2 T and μrec = 1.05 give 909 kA/m. The value must be above 0.

    General tab of a magnet material with Core Material Type Magnet and the coercivity
    Magnet material on the General tab: Core Material Type Magnet, coercivity 909 kA/m, relative permeability 1.05.

  5. Make the magnet a body of a core group and give it the magnet material on the Assembly tab. TRAFOLO magnetizes only Magnet bodies of core groups.

  6. On the Core tab, open the group with Configure and set Direction of Magnetization (21) as a vector x; y; z: 0; 1; 0 (default), the +y direction. TRAFOLO scales it to unit length.
Core group settings with Direction of Magnetization
Core group settings with Direction of Magnetization, shown when Magnets is ticked on the Setup tab.

TRAFOLO applies the magnetization M = HcB along that direction to every Magnet body of the group.

A Harmonic run applies the magnetization at every frequency of the run, so the magnet field oscillates at that frequency. The result is right only at 0 Hz; at every other frequency the run adds a magnet field that does not exist. In TRAFOLO 1.64, a Transient run with Magnets ticked stops while TRAFOLO writes the simulation files.

Further reading