B-H Curve and Core Loss Calculator

B-H Curve and Core Loss Calculator

The hysteresis loop a core actually traverses at your drive level, drawn from an arctangent loop model fitted to your material’s quoted numbers — with the area it encloses as the hysteresis loss per cycle, the peak flux density against saturation, and an honest comparison of the model’s loss against the material’s own published figure. A real B-H loop is measured, not derived, and this page says so.

B-H loop, loop area and hysteresis loss

Material numbers + drive → the loop and its area
At the temperature you are designing for. Power ferrites lose roughly a fifth of it between 25 °C and 100 °C, and the 100 °C figure is the one that matters. Use the figures from your part’s datasheet; typical values vary widely between manufacturers.
Read off the datasheet’s own B-H graph at H = 0 on the way down. Most ferrite datasheets do not tabulate it — you have to read the picture.
Where the descending branch crosses B = 0. Also usually a graph rather than a table.
Measured at a very small amplitude — 0.25 mT and 10 kHz for a typical power ferrite — so it is a small-signal number, not a property of the big loop.
The model has three free parameters and you have four numbers, so one of them has to be an output. Switching this changes which.
The peak of the AC magnetising current, not the RMS and not the load current. For a transformer it is the magnetising current only.
Read off the material’s own loss chart at the peak flux density this page gives you, and at your frequency and temperature. Run the page once, read the peak B, then come back and enter the matching figure. Enter zero to skip the comparison.
The core in cross-section, drawn as a geometry, because the two quantities the page works in are both dimensions. The inner rectangle drawn through the limbs is the mean magnetic path lₑ, and H is simply N·I divided by it — no model is involved in that at all. The bar beside the right limb marks Aₑ, which turns flux density into flux. Everything else on the page — the loop shape, its area, the loss — comes from the fitted arctangent, not from the core. The drive turns amber at three quarters of saturation and red at 90% of it, because past there the model is describing nothing real.
454.8mWExample

a power ferrite quoted at Bs = 380 mT, Br = 75 mT, Hc = 13 A/m and µi = 2,300, on a core with lₑ = 78.6 mm and Vₑ = 7,640 mm³, wound with 20 turns carrying 75 mA peak at 100 kHz

Advertisement

An arctangent loop, fitted to your numbers

descending: B(H) = (2Bs/π)·arctan(k(H + Hc)) − b₀
ascending:   B(H) = (2Bs/π)·arctan(k(H − Hc)) + b₀
b₀ = (Bs/π)·[arctan(k(Hm+Hc)) − arctan(k(Hm−Hc))]   closes the loop at ±Hm
k = tan(πBr ÷ 2Bs) ÷ Hc
area = (4Bs/π)·[F(Hm+Hc) − F(Hm−Hc)] − 4b₀Hm,   F(u) = u·arctan(ku) − ln(1+k²u²) ÷ 2k
Hm
peak field strength, N·I ÷ lₑ. This is what your drive current actually sets
b₀
the vertical shift that makes the two branches meet at the tips. Without it the two truncated major branches do not close and the picture is not a loop at all. It is also why a minor loop has less remanence than the material’s own
area
in joules per cubic metre per cycle. It is ∮H dB round the loop, which is the enclosed area — this is the one case where the enclosed area really is an energy, because H·B has units of J/m³
µi
the model predicts (2Bsk/π) ÷ (1+k²Hc²) ÷ µ₀. It cannot be an input as well, which is the honest limit of a three-parameter loop

Worked example

a power ferrite quoted at Bs = 380 mT, Br = 75 mT, Hc = 13 A/m and µi = 2,300, on a core with lₑ = 78.6 mm and Vₑ = 7,640 mm³, wound with 20 turns carrying 75 mA peak at 100 kHz
The drive sets H = N·I ÷ lₑ = 20 × 0.075 ÷ 0.0786 = 19.08 A/m peak
Anchoring the arctangent on the loop corners, k = tan(π × 75 ÷ (2 × 380)) ÷ 13 = 24.64 mm/A, and the tip-closing shift is b₀ = 62.92 mT
The loop tip is at B = 98.9 mT, which is 26.0% of saturation; the amplitude permeability there is 4,125
The enclosed area works out at 595.3 mJ/m³ per cycle, so at 100 kHz that is 59.5 kW/m³, and in 7,640 mm³ of core it is 454.8 mW
The cross-check. The material's own published figure at this frequency and flux density is 80 kW/m³, which in this core is 611.2 mW. The model gives 0.744× that — it is 26% LOW, and low is the direction it should be wrong in: a static loop area is the hysteresis term only, and a figure measured at 100 kHz also contains eddy-current and residual loss
The other cross-check, and it is worse. With k set by the loop corners, the model's own initial permeability comes out at 4,302 against the 2,300 the manufacturer quotes — 1.87× too high. Anchor the fit on µi instead and it demands a coercivity of 24.3 A/m rather than 13. Those are the same disagreement seen from two sides, and it is the honest answer: this loop reproduces the numbers you quote, not the material

What the model can and cannot be asked

QuestionCan this page answer it?Why
What is the shape of my material’s loop?Noa B-H loop is a measurement on a specific piece of material at a specific temperature, frequency and history. Four numbers do not determine it, and this page fits a named analytic curve to those four numbers rather than pretending otherwise
What does a loop with these corners enclose?Yes, exactlythe area is a closed-form integral of the fitted arctangent branches, and it is checked here two independent ways
What is my core loss at 100 kHz?No — use the measured curvethe static loop area gives the hysteresis term. At a switching frequency, eddy-current and residual loss are a large and material-dependent addition. That is what the Steinmetz fit on the core loss page exists for
Will my core saturate at this current?Usefully, yesthe peak H is exact — it is just N·I ÷ lₑ — and the peak B follows from whatever B(H) you believe. Compare it with the saturation figure at your operating temperature, not at 25 °C
Why does a minor loop have less remanence than the datasheet’s Br?It shows this directlythe tip-closing shift b₀ lowers the whole descending branch. It is a real effect and it is why a converter’s core never sees the major loop’s corners
The honest summary: this page is good for the shape, for the peak flux density, for the saturation margin and for understanding where hysteresis loss comes from. It is not a substitute for the manufacturer’s measured loss curve.

A fitted loop is not a measured loop

Everything a magnetic core does is in its B-H loop. Drive it with a sinusoidal field and the flux density traces a closed path rather than a line, because the material remembers where it has been: on the way up it lags, on the way down it lags the other way, and the gap between the two branches is the energy lost as heat each cycle. The area enclosed is exactly ∮H·dB, and H times B has units of joules per cubic metre, so the enclosed area of this particular closed curve really is an energy — one of the few cases where reading an energy off an enclosed area is legitimate rather than a units error.

Now the honest part. That loop is a measured property. It depends on the material’s composition, its grain structure, its temperature, the frequency, and on where the material has been magnetised before. It is not derivable from four numbers on a datasheet, and any page that claims to compute your material’s loop from Bs, Br, Hc and µi is doing something else and not telling you. What this page does is fit a named analytic loop — the arctangent form of Takács’s phenomenological hysteresis model, the same family as the hyperbolic-tangent expressions used in SPICE core models — and it fits it to reproduce the numbers you quote, which is a different and much weaker claim.

It is weaker in a way you can see. The model has three free parameters and you have four numbers, so one of them cannot be fitted and has to come out as an answer. Anchor the fit on the loop corners — remanence and coercivity — and the initial permeability is predicted; for the power ferrite in the defaults it comes out nearly twice what the manufacturer quotes. Anchor it on the small-signal permeability instead and the coercivity is predicted, and it comes out nearly twice the value you would read off the graph. Those are the same disagreement seen from two sides, and it is not a bug: it is the real material telling you that its virgin curve near the origin is much flatter than any arctangent. The page reports the gap both ways rather than hiding it.

And it cross-checks itself against a published number. Multiply the loop area by the frequency and you get a loss density, which you can compare with the material’s own measured loss chart at the same flux density and frequency. For the defaults the model comes out 26% low — and low is the direction it must be wrong in, because a quasi-static loop contains the hysteresis term and nothing else, while a figure measured at 100 kHz also contains eddy-current loss in the ferrite’s finite resistivity and the residual loss from domain-wall relaxation. If the two disagree by more than a factor of two the page says so and tells you not to use the model’s number. For the empirical fit that actually predicts core loss at a switching frequency, use the Steinmetz core loss calculator, which owns that job; this page is about the loop, not about competing with it.

What it is genuinely good for. The peak field strength is exact — it is N·I ÷ lₑ and nothing else. The saturation check follows immediately, and it is the number that decides most inductor and transformer designs: run the drive current up until the peak flux density approaches the saturation figure at your operating temperature, not at 25 °C, where a power ferrite has a fifth more of it than it will have when hot. The amplitude permeability at the drive level, which is not the same as the quoted initial permeability, is what your inductance actually follows. And the minor-loop construction shows why a converter never sees the datasheet’s remanence: the branches shift to meet at the tips, so a small excursion has a small loop with a small remanence. For designing a gapped inductor around the saturation limit see the gapped core inductance calculator, and for a whole switch-mode transformer the SMPS transformer calculator.

Advertisement

Frequently asked questions

Can you really get a B-H loop from four datasheet numbers?

No, and this page does not claim to. It fits a named analytic curve — Takács’s arctangent hysteresis model — so that it reproduces the numbers you quote. The loop you get is that curve, not your material. The page measures its own error two ways: against the fourth quoted number it could not use, and against the material’s published loss figure.

Why does the model’s initial permeability not match the datasheet?

Because the model has three parameters and you gave it four numbers. Fixing the loop corners fixes the slope near the origin as a consequence, and for a real ferrite that consequence is roughly a factor of two too steep. The real material’s virgin curve is flatter near the origin than an arctangent, which is a statement about domain-wall pinning that no three-parameter curve can express.

Which anchoring should I use?

It matters more than you would like: on the page’s own defaults the two choices differ by a factor of about two in peak flux density and about three in loop area. Anchor on the loop corners when you care about the large-signal loop and its area, because the corners are what set the shape at a real drive level. Anchor on the initial permeability when you care about small excursions, where the small-signal slope is the right thing to get right. Then compare both against the published loss figure and trust whichever agrees, while remembering that agreeing at one point does not make a model right.

Is the loop area the same as core loss?

It is the hysteresis part of it, and only that. At a switching frequency the measured loss also contains eddy-current loss — which grows as the square of frequency and depends on the material’s resistivity — and residual loss from domain-wall relaxation. That is why measured core loss goes roughly as f^1.3 to f^1.6 rather than as f, and why the Steinmetz fit exists.

Where do I find Br and Hc? They are not in the table.

They are usually not tabulated. Ferrite datasheets show a B-H graph at a stated frequency and temperature, and you read the remanence where the loop crosses H = 0 and the coercivity where it crosses B = 0. Use the curve at the temperature you are designing for; a power ferrite’s loop is much narrower at 100 °C than at 25 °C.

Why is the loop on the chart wider than my datasheet’s picture?

Two likely reasons. The datasheet’s loop is usually the major loop, driven to full saturation, and yours is a minor loop at a much lower drive. And a datasheet loop measured at 10 kHz includes some dynamic widening that a quasi-static model does not. Compare the peak flux density rather than the shape.

What does the straight teal line on the chart mean?

It is the initial permeability the manufacturer quotes, drawn as B = µ₀µi·H and clipped at saturation. It should be tangent to the middle of the fitted loop near the origin. Where it is not — and for a real ferrite it is not — the difference is exactly the model’s error, drawn to scale.

Related calculators

References

  1. Takács J. A phenomenological mathematical model of hysteresis. COMPEL — The International Journal for Computation and Mathematics in Electrical and Electronic Engineering, vol. 20 no. 4 (2001), pp. 1002–1015. The hyperbolic-tangent and arctangent loop family used here, and the tip-matching construction that closes a minor loop.
  2. Jiles D C, Atherton D L. Theory of ferromagnetic hysteresis. Journal of Magnetism and Magnetic Materials, vol. 61 (1986), pp. 48–60, doi:10.1016/0304-8853(86)90066-1. The physically-based alternative: a differential model with five parameters fitted to measured data, which is what a serious loop model looks like and why this page does not attempt one.
  3. Ferroxcube. 3C90 Material Specification data sheet, 2008-09-01. The source of the page’s example figures: initial permeability 2300 ±20% measured at 25 °C, 10 kHz and 0.25 mT; flux density about 470 mT at 25 °C and 380 mT at 100 °C under 1200 A/m; core loss not more than 80 kW/m³ at 100 kHz, 100 mT and 100 °C. Remanence and coercivity are read off the datasheet’s B-H graph, because the table does not carry them.