Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

> FOR CONFERENCE-RELATED PAPERS, REPLACE THIS LINE WITH YOUR SESSION NUMBER, E.G.

, AB-02 (DOUBLE-CLICK HERE) < 1

Identification of the Jiles-Atherton Parameters


Using Commercial Software
Teodoro Marinucci, Valerio Maglietta

Finally, we shall use this data to illustrate how to regain the


Abstract—This paper describes how to obtain the Jiles- original parameters. The process will be considered successful
Atherton model parameters using commercial software. The if we shall be able to obtain results close to the initial
methodology described starts using the approach proposed by parameter values.
Jiles, Thoelke and Devine to get a first guess of the these
parameters, then, using this result, gets a best fit with the
We shall start by gaining a first approximation of the Jiles-
experimental data, using in both cases the Levenberg-Marquardt Atherton parameters using the method depicted by Jiles,
algorithm provided by Mathcad 13 and Mathematica 5.2. Thoelke and Devine [4].
This approximation will then be used as a starting point to
Index Terms—Jiles-Atherton, parameters identification, produce a best fit, using the Levenberg-Marquardt algorithm
Mathcad, Mathematica, software, Levenberg-Marquardt. provided by Mathcad 13 and Mathematica 5.2, of the
“experimental” data and the solution of the Jiles-Atherton
I. INTRODUCTION equations. We chose this approach because it is quite critical

O UR interest in the Jiles-Atherton model started when we


tried to build reliable SPICE models for output
transformers cores used in HI-FI tube amplifiers. OrCAD
to start the optimization process close to the solution.

II. THE JILES-ATHERTON MODEL


PSpice uses, in its core architecture, the Jiles-Atherton [1] The governing equations of the Jiles-Atherton model [1] are
model: the major drawback of the product, however, is the fact summarized as follows:
that one of the model parameters (α, the mean field parameter) dM irr M an − M irr
is missing. To overcome this limitation we then checked with = (1)
dH k δ − α ( M an − M irr )
success some ABM implementations ([2] and [3]) of the
model. H + αM
M an = M s ⋅ L (2)
The main problem of the Jiles-Atherton model is the a
perception that its parameters are very hard to deduce from the M rev = c ( M an − M irr ) (3)
experimental data: for this reason, perhaps, the makers of
M = M irr + M rev (4)
magnetic materials typically don’t report them in their
documentation. where M is the magnetization; M irr the irreversible
The current literature seems to support this belief: you can magnetization; M rev the reversible magnetization; M an the
find papers where Genetic Algorithms [5], Neural Networks anhysteretic magnetization; and H the magnetic field intensity.
[6], or custom code [7] are used to accomplish this task. The five model parameters are M s , the saturation
Another problem with the model is that these results are hard magnetization in A/m; a, the shape parameter in A/m; k, the
to reproduce. domain wall pinning constant in A/m; α, the mean field
Our main purpose, therefore, is to illustrate how commercial parameter (dimensionless); and c, the domain wall flexing
software (Mathcad 13 and Mathematica 5.2) can provide the constant (dimensionless).
scientific community and magnetic materials makers the The directional parameter δ = SGN ( dH dt ) is δ = +1
“know how” to overcome these barriers and then characterize
these materials. if dH dt ≥ 0 , and δ = −1 if dH dt < 0 . We have also used the
This article is structured as follows: first of all we shall Langevin function explicitly
illustrate how to solve, using Mathcad 13, the Jiles-Atherton 1
L ( x ) = coth ( x ) −
model starting from a given set of parameters. Secondly, from x
our solution we shall produce a set of “experimental” data. Combining (4) and (3) as
M = M irr + M rev = M irr + c ( M an − M irr ) = cM an + (1 − c ) M irr
Manuscript received March 8, 2006 so that
Teodoro Marinucci is with Microsoft Italy, and this work has been done as
an extra curricular activity (phone: +39(348)2246091; e-mail: teodorom@ M − cM an
M irr =
hotmail.com). 1− c
V. Maglietta is with Asis Srl Italy (phone +39(080)5612019; e-mail:
we get
vmaglietta@katamail.com).
> FOR CONFERENCE-RELATED PAPERS, REPLACE THIS LINE WITH YOUR SESSION NUMBER, E.G., AB-02 (DOUBLE-CLICK HERE) < 2

M − cM an M an − M In Mathcad we also define δ ( t ) := signum ( dH ( t ) ) .


M an − M irr = M an − =
1− c 1− c Given the definitions for L ( x ) and dL ( x ) we get the other
Substituting these two results in (1) we get
two expressions for the anhysteretic magnetization and its
d M − cM an M an − M
= derivative dM an dH by respect to H
dH 1− c k δ (1 − c ) − α ( M an − M )
H (t) + α ⋅M
so, finally ( )
M an t, M, M s , a, α := M s ⋅ L
a
(14)
dM M an − M dM an
= +c
dH α dH Ms H (t) + α ⋅ M
kδ −
1− c
( M an − M ) (
dM an t, M, M s , a, α := ) a
⋅ dL
a
(15)
that is usually rewritten in terms of time derivatives as To get the solution for M(t) we must define a “Given” block:
Given
dM M an − M dM an dH
= +c (5) d
dt α dH dt M (t) =
kδ −
1− c
( M an − M ) dt
(
M an t , M ( t ) , M s , a, α − M ( t ) ) +
III. THE MATHCAD IMPLEMENTATION k ⋅δ (t) −
α
1− c
( (
⋅ M an t , M ( t ) , M s , a, α − M ( t ) ) ) ⋅ dH ( t )

A. The Solution of the Jiles Atherton Equations (


+ c ⋅ dM an t , M ( t ) , M s , a, α )
Let us solve, with Mathematica 13, the Jiles-Atherton
M ( 0 ) := 0
equations (2) and (5) using the following set of parameters, as
used by Jiles, Thoelke and Devine in their Fig. 4. The solution of the Jiles-Atherton equations is provided by

( Ms a k α c) = (1.2 ×106 1.2 ×105 5.0 ×105 0.5 0.05) (6) (


M := Odesolve t, t max )
The solution can be found using, for Odesolve, either the
In all our calculations we shall use TOL := 10 −6 and fixed or the adaptative methods of integration.
CTOL := 10 −6 . Here is the M-H relationship
We shall assume that the measurements are normalized so
that the frequency is
f := 1 (7)
and the period of a time over which they are taken is
1.2
t max := (8)
f
so that the sigmoid close.
Note: even if units can be explicitly used in Mathematica we
shall implicitly use, throughout the paper, SI units.
We shall also define the pulsation
ω := 2 ⋅ π ⋅ f (9)
The magnetic field is
H max := 1.5 ×106 H ( t ) := H max ⋅ sin ( ω⋅ t ) (10)
The Langevin function is written in Mathcad as
1
L ( x ) := if x = 0, 0, coth ( x ) − (11)
x
This form is needed because Mathcad does not understand
that the singularities of coth ( x ) and 1 x at x = 0 cancel
reciprocally.
We could say that the definitions of the derivative dL dx of
L ( x ) by respect to x: Fig. 1. Magnetization as a function of the applied magnetic field
1 1
dL ( x ) := if x = 0, ,1 − coth ( x ) 2 − (12) We used Mathcad to solve the Jiles-Atherton equations,
3 x2
both to test the functionalities of the software, and to get a set
and of the derivative dH dt of H ( t ) by respect to t: of “experimental” data required for subsequent use. Given the
dH ( t ) := ω⋅ H max ⋅ cos ( ω⋅ t ) (13) solution for M(t), we defined first
are unnecessary, however they speed up the calculations. N := 1×10 4 j := 0 N ⋅ t max
> FOR CONFERENCE-RELATED PAPERS, REPLACE THIS LINE WITH YOUR SESSION NUMBER, E.G., AB-02 (DOUBLE-CLICK HERE) < 3

then we discretized the time H + α⋅M


1
(
M an H, M, M s , a, α := M s ⋅ L ) a
time j := if j = 0, 0, time j −1 +
N Ms H + α⋅M
the solution for M(t) (
dM an H, M, M s , a, α := ) a
⋅ dL
a
j so that these two functions explicitly depend on H instead of t
M j := M
N through H(t).
and packed the result as a matrix of Guess values for (Ms, a, k, α, c) are obtained through
Data < 0 > := time Data <1> := M
α := 1 × 10 −4
At the end of this process this set of Data was saved as a “tab
separated” text file. As previously discussed, this file will take Mm
M s := M r +
place of some “real” measurement. 2
Ms 1
B. The Method of Jiles, Thoelke and Devine a := ⋅ +α
3 χ an
Once we got our “experimental” data, we can easily
determine, by simple inspection, the set of parameters used by 3 ⋅ a ⋅ χin
c :=
Jiles, Thoelke and Devine in their procedure. Ms
The values of these parameters are:
χin := 0.19 Initial normal susceptibility
k :=
(
M an H c , 0, M s , a, α )⋅
1− c
H m := 1.5 × 106 H at the loop tip
M m := 1.052 × 106 M at the loop tip 1
⋅ α+
χ m := 0.118 Differential susceptibility of the initial 1 c
magnetization curve at the loop tip
⋅χ −
1− c c 1− c
⋅ dM an H c , 0, M s , a, α ( )
M r := 1.023 × 106 Remanence which are a set of equations that linearize the full set provided
χ r := 0.26 Differential susceptibility at remanence by Jiles, Thoelke and Devine.
Then we set our “Given” block:
H c := 3.639 × 105 Coercivity
Given
χ c := 19.871 Differential susceptibility at the coercive 3 ⋅ a ⋅ χin
point c
If we compare this data to that provided by Jiles, Thoelke Ms
and Devine we find that there is a reasonable match, so we are Ms 1
convinced that we are on the right way. a ⋅ +α
3 χan
We notice, however that one parameter is missing: χ an , the
initial anhysteretic susceptibility. k
(
M an H c , 0, M s , a, α

)
This parameter cannot be derived from the “experimental” 1− c
data and, in fact, it is reported in the literature as being
difficult to measure. 1
α+
1 c
However, since we need to obtain, using the Jiles, Thoelke ⋅χ −
1− c c 1− c
⋅ dM an H c , 0, M s , a, α ( )
and Devine procedure, only approximate values for
( Ms , a, k, α, c ) , we shall use a different approach: first we shall Mr (
M an 0, M r , M s , a, α + )
get these values using the known values of k
+
( χin , H m , M m , χ m , M r , χ r , H c , χ c ) and guessing a value for α 1
+
χ an ( χ c can be a reasonable starting point for soft magnetic
1 − c χ − c ⋅ dM
r an 0, M r , M s , a, α ( )
(1 − c ) ⋅ k ⋅ χ m
materials).
The Jiles-Atherton equations is then solved using the found
Mm (
M an H m , M m , M s , a, α − ) α ⋅ χm + 1
solution for ( M s , a, k, α, c ) , and the resulting solution is thus Mathcad finds the solution that minimizes the given set of
compared against the “experimental” data. Since we have only equations by
one parameter to vary, it is then easy to find a value of ( Ms , a, k, α, c )
Minerr M s , a, k, α, c ( )
χ an that fits the solution to data. where, for the Minerr, the Levenberg-Marquardt algorithm has
In order to follow with Mathcad the Jiles, Thoelke and been used.
Devine procedure we need to redefine slightly M an and After a few trials we see that χ an = −5 is a value that makes
dM an as a reasonable fit among the “experimental” data and the
solution of the Jiles-Atherton equations:
> FOR CONFERENCE-RELATED PAPERS, REPLACE THIS LINE WITH YOUR SESSION NUMBER, E.G., AB-02 (DOUBLE-CLICK HERE) < 4

d
M (t)
dt
(
M an t , M ( t ) , M s , a, α − M ( t ) ) +
k ⋅δ (t) −
α
1− c
( (
⋅ M an t , M ( t ) , M s , a, α − M ( t ) ) ) ⋅ dH ( t )

(
+ c ⋅ dM an t , M ( t ) , M s , a, α )
M ( 0) 0
This result is obtained with
( )
D M s , a, k, α, c := Odesolve t, t max ( ) (17)
The function to be minimized is now
(
y ← D M s , a, k, α, c )
(
resid M s , a, k, α, c := ) y ( time ) − M exp

The starting point for the Best Fit are the found values (16).
Fig. 2. Fitted solution and “experimental” data for magnetization as a The “Given” block is now
function of time
Given
This result is obtained with the parameters (
resid M s , a, k, α, c ) 0

( Ms a k α c) = (1.142 × 106 7.528 × 104 4.2 × 105 0.398 0.037 ) (16) and the condition that does the Best Fit is again

If we compare this intermediate result with the set (6) of ( Ms , a, k, α, c ) (


Minerr M s , a, k, α, c )
parameters we started with, we see that this result is already where the Levenberg-Marquardt algorithm has been used once
reasonably good. again.
Using the default step for the Odesolve) we get exactly the
C. The Best Fit using the Levenberg-Marquardt algorithm
parameters (6) we started from, with an ERR per row of data
We shall once again use, in the Mathcad worksheet that ERR
= 8.59142 ⋅10-5
finds the best values for ( Ms a k α c) starting from the rows ( Data )
“experimental” data, the definition of the frequency (7), the Fig. 3 shows the comparison of the fitted solution with the
maximum time (8), the pulsation (9), the magnetic field (10), “experimental” data:
the Langevin equation (11), the derivative (by respect to x) of
L ( x ) (12) and the derivative (by respect to t) of H ( t ) (13).
The main problem that we needed to solve to set up a best
fit approximation, was the lack of an explicit solution of the
Jiles-Atherton equations, so we don’t have an explicit
“objective” function to fit against the “experimental” data.
The help from Mathcad 13 comes from the fact that this
software allows the nesting of two “Given” blocks: the first
one solves the Jiles-Atherton equations, the second one does
the best fit. When, in the search for the solution, Mathcad 13,
changes the values for the parameters, it solves repeatedly
(until it minimizes the constraints) the Jiles-Atherton
equations.
Fig. 3. Fitted solution and “experimental” data for magnetization as a
Prior to setting the first “Given” block, we need to define function of time
the set of parameters being used (whose value is not
important): Computations takes approximatively 70 sec. on a Intel®
( Ms a k α c) = (1×106 1.0 ×103 1.0 ×103 1.0 ×10−3 1.0 ×10−2 ) Pentium® III, 796MHz, 512MByte RAM.
So we write
IV. THE MATHEMATICA IMPLEMENTATION
Given
Similar results can be achieved using Wolfram Mathematica
5.2. As stated above, it is not hard to find the Jiles, Thoelke
and Devine starting parameters such as in (16).
For example we used NMinimze function, and found a good
starting point in few seconds.
> FOR CONFERENCE-RELATED PAPERS, REPLACE THIS LINE WITH YOUR SESSION NUMBER, E.G., AB-02 (DOUBLE-CLICK HERE) < 5

Nevertheless bigger differences arose when comparing checked to get a good solution. In this case the solution is
Mathematica and Mathcad method as given in III C. reached in approximatively 52 sec.
In fact according to Mathematica syntax we are required to Fig. 4 shows the comparison between “measured” data and
write the functions definitions and the main differential fitted data. Please note that the “experimental” data was
equation and initial condition: randomly disturbed to get a more realistic behavior.
Hmax= 1.5 10^6;
H = Hmax Sin[ t]; 1 106
dH = D[H, t];
Langevin[x_] = Piecewise[{{Coth[x]-1/x, x !=
0}}]; 500000
dLangevin[x_] =
Piecewise[{{1-Coth[x]^2+1/x^2, x != 0},{1/3
,x == 0}}]; 0.2 0.4 0.6 0.8 1 1.2
Man = Ms Langevin[(H + M[t])/a];
dMan = Ms dLangevin[(H + M[t])/a]/a; 500000
Mirr = Man – M[t];
eqs Ms_, a_, k_, _, c_
1 106
1 c Mirr
M t c dMan dH
1 c k Sign dH Mirr
,M 0 0 ; Fig.4 Fitted solution as in Fig 3 given by Mathematica. The noise is achieved
changing randomly M data by +/- 3%.

Mathematica can solve differential equations with many REFERENCES


methods. After some tests we found that the midpoint rule [1] D. C. Jiles and D. L. Atherton, “Theory of Ferromagnetic Hysteresis”,
method with Gragg smoothing, gave good results requiring Journal of Magnetics and Magnetic Materials, Vol. 61, 1986, pp. 48-
60.
less computational time. [2] K. D. T. Ngo, “Subcircuit Modeling of Magnetic Cores with Hysteresis
Here are the required Mathematica directives: in PSpice”, IEEE Trans. on Aerospace and Electronic Systems, Vol. 38,
No. 4, pp. 1425-1434, Oct. 2002.
[Ms_, a_, k_, _, c_] := [3] P. R. Wilson, J. N. Ross, and A. D. Brown, “Simulation of Magnetic
NDSolve[ Component Models in Electric Circuits Including Dynamic Thermal
eqs[Ms, a, k, , c], M, {t, 0, tmax}, Effects”, IEEE Trans. on Power Eectronics, Vol 17, No. 1, pp. 55-65,
StartingStepSize -> 1/1200, Jan. 2002.
Method -> "ExplicitModifiedMidpoint"] [4] D. C. Jiles, J. B. Thoelke and M. K. Devine, “Numerical Determination
of Hysteresis Parameters for the Modeling of Magnetic Properties Using
Now we can define the residual vector as follow: the Theory of Ferromagnetic Hysteresis”, IEEE Trans. on Magnetics,
Vol. 28, No. 1, pp. 27-35, Jan. 1992.
resid[Ms_?NumericQ, a_?NumericQ, k_?NumericQ, [5] F. Riganti Fulginei and A. Salvini, “Softcomputing for the Identification
_?NumericQ, c_?NumericQ] := of the Jiles-Atherton Model Parameters”, IEEE Trans. on Magnetics,
(M[time] /. [Ms, a, k, , c])[[1]] - Vol. 41, No. 3, pp. 1100-1108, Mar. 2005.
Mexp [6] D. Grimaldi, L. Michaeli and A. Palumbo, “Automatic and Accurate
Evaluation of the Parameters of a Magnetic Hysteresis Model”, IEEE
where time is the time vector and Mexp is the measured Trans. on Instrumentation and Measurement, Vol. 49, No. 1, pp. 154-
160, Feb. 2000.
data vector. The Mathematica function FindMinimum locally
[7] V. Ionita, B. Cranganu-Cretu and A. Ionita, “Object-Oriented Software
minimizes the residuals. Method can be GaussNewton or for Advanced Characterization of Magnetic Materials”, IEEE Trans. on
LevenbergMarquardt since there is little difference between Magnetics, Vol. 38, No. 2, pp. 1101-1104, March. 2002.
[8] Matcad 13 Resources: Linear Programming
the two ones.
Teodoro Marinucci received a Ph.D. degree in Theoretical Particle Physics
FindMinimum[ resid[Ms, a, k, , c]^2, from the University of Geneva, Switzerland, in 1981. He joined IBM in 1981
{{Ms, 1.142 10^6}, {a, 7.528 10^4}, and Microsoft in 1991. He is now a Senior Solution Architect working on
{k, 4.2 10^5}, { , .398}, {c, .037}}, Method relational and multidimensional databases and data warehouses.
-> {"LevenbergMarquardt",
"Residual" -> resid[Ms, a, k, , c]}] // Valerio Maglietta received his M.Sc. in Electronic Engineering from the
Timing Polytechnic of Bari, Italy, in 1994. He was one of the founders of Asis Srl
where he is employed as Chief Engineer. He works as an audio consultant for
The result is: some European manufacturers and is also a member of the Audio Engineering
Society.
{Ms->1.19942 10^6,a->119556,k->499264,
->0.499383,c->0.0495659}

With good agreement with the expected solution. Since


midpoint rule method is a fixed step method, some further
performance improvement can be achieved by optimizing the
StartingStepSize parameter which in any case must be

You might also like