1 The model

• Equilibrium condition in the Stoner-Wohlfarth model
In its simplest form, the Stoner-Wohlfarth model deals with the calculus of the equilibrium state of the total magnetic moment of a single-domain ferromagnetic particle with uniaxial anisotropy. The model assumes that all the magnetic moments in the particle are always parallel. The magnetisation processes of the“Stoner-Wohlfarth particle” are effectuated through coherent rotation of all these moments. At any moment the directions of the magnetic moments with in the particle are parallel.

The magneto-crystalline free energy densityis, for a single-domain uniaxial crystal, given by:

(1)

where is the angle between the easy axis (OZ axis) of the particle and the saturation polarisation moment of the particle (see Figure 1).

Fig. 1

The magnetostatic free energy density maybe written as:

(2)

where the vectors (saturation polarisation of the particle) and (applied field vector) were expressed in spherical co-ordinates: and , respectively. Introducing the anisotropy field, defined as:

(3)

the total free energy density for a single domain particle may be written as:

(4)

From the minimum condition for the φ co-ordinate, that is;

(5)

Fig. 2

one obtains:

(6)

with the solution: . So, at the equilibrium, the polarisation vector, , will be in the same plane as the applied field. Without restricting the generality of the discussion we shall take as the plan where all the vectors are. Taking that into account, the total freeenergy becomes:

(7)

and making the following notations:

,                                                                       (8)

one may transform the expression of W, as:

(9)

The stable equilibrium conditions are given by:

(e)                                             (10)

(s)                                         (11)

and after simple calculations one obtains the system in the form:

(e)                                                                 (12)

(s)                                                               (13)

The system of equations which results by replacing in (s) the sign “>” with “=” has as solution the parametric equation and of the geometrical locus of the critical fields which separates in the plane the region where the free energy function has two minima as a function of from the region where this function has only one minimum.

Fig. 3 Critical curve

They may be written as:

(14)

and if one eliminates the  parameter one obtains:

(15)

which is an astroid in the plane (see Figure 3). Inside the astroid W has two minima as a function of ; outside there is only one.

To prove that, we may write the (e) and (s)equations

(16)

which represents in the plane two lines.These lines have properties which shall be used in the calculus of the equilibrium state:

1. The line (e) is tangent to the astroid in the point determined by the angle

(17)

which is the slope of the (e) line.

Fig. 4

2. The line (s) is perpendicular on the line (e) due to the fact that their slope product is –1. The line (s) divides the plane into two half-planes. In one the equilibrium is stable and in theother is unstable. We noted the line region within the stable half-plane is noted with (es).

3. Analysing the (es) lines we obtain the configuration presented in the Figure 5. If the point of the  vector is within the hashed region there will be with certainty an equilibrium solutionbetween 0° and 90°. The region for is presented in the Figure 6.

Fig. 5

Fig. 6

In conclusion, when the field is applied and its point is inside the astroid, there are two equilibrium solutions (inside the astroid we have two hashed regions corresponding to different equilibrium orientations, see Figure 7); outside the astroid it is possible only one equilibrium solution.

Fig. 7

Fig. 8

In many real cases, one may consider more then one anisotropy source. Let’s see if we can still use the geometrical method we developed previously in the calculus of the equilibrium state. For example, let’s consider that there is another anisotropy source of magneto-elastic type. The magneto-elastic free energy density is given by:

(18)

where is the saturation magnetostriction coefficient and is the mechanical stress vector which makes the angle with the magneto-crystalline anisotropy axis.

The total free energy density is in this case:

(19)

If we are making the notations:

(20)

the expression for W becomes:

(21)

or

(22)

Where

(23)

and may be transformed as:

(24)

If one chooses so

(25)

one obtains:

(26)

and with

(27)

after simple algebra,

(28)

where is an equivalent total anisotropy field and is the angle between the easy axis of the particle and its magneto-crystalline easy axis.

The total free energy density may bewritten in the terms of equivalent anisotropy, as:

(29)

and the stable equilibrium condition is given by:

(30)

(31)

which may be written as:

(32)

(33)

Replacing the sign “>” with “=” in (s) we are obtaining a system of equations whose solution is the critical curve with the same physical signification the astroid in the absence of themagneto-elastic term. The parametric equations of this critical curve are:

(34)

To provide an easier explanation we transform these equations in a system rotated with respect to the system with the angle :

(35)

which may be transformed in the simple form:

(36)

which represents in the system the equationsof an astroid.

 Activity: Run the following Maple program in order to get familiar with the calculus of the critical curves. The program contains animated representation of the (e) and (s) curves as a function of the angle.

 ########################        #        MAPLE program – Stoner-Wohlfarth model       ########################         >        restart: with(plots):         >        w:=(h, theta, theta0)->-cos(theta)^2-2*h*cos(theta-theta0):         >        w_d1:=(h, theta, theta0)->diff(w(h, theta, theta0), theta):         >        w_zx:=(hz, hx, theta)->-cos(theta)^2-2*hx*sin(theta)-2*hz*cos(theta):         >        w_zx_d1:=(hz, hx, theta)->diff(w_zx(hz, hx, theta), theta):         >        w_zx_d2:=(hz, hx, theta)-> diff(w_zx_d1(hz, hx, theta), theta):         >        hx_c:=sin(theta)^3: hz_c := -cos(theta)^3:         >        astro_plot:=plot([hz_c, hx_c, theta=0..2*Pi], color=black, thickness=3):         >        hx_e := (hz, theta)-> hz*tan(theta) + sin(theta):         >        hx_s := (hz, theta)->-hz/tan(theta) -cos(2*theta)/sin(theta):         >        ech_anim:=animate(hx_e(hz, theta), hz=-10..10, theta=0..2*Pi,         >        view=[-1..1, -1..1], color=blue, numpoints=200, frames=100):         >        stb_anim:=animate(hx_s(hz, theta), hz=-10..10, theta=0..2*Pi,         >        view=[-1..1, -1..1], color=red, numpoints=200, frames=100):         >        display([astro_plot, ech_anim, stb_anim]);                           >        theta_s := (1/2)*arctan(hs*sin(2*psi)/(1+hs*cos(2*psi))):         >        hk_s := sqrt(1+hs^2+2*hs*cos(2*psi)):         >        hz_c := -hk_s*((1/2)*sin(2*(theta-theta_s))*sin(theta)         >        +cos(2*(theta-theta_s))*cos(theta)):         >        hx_c := hk_s*((1/2)*sin(2*(theta-theta_s))*cos(theta)- cos(2*(theta-theta_s))*sin(theta)):         >        psi:=Pi/8;         >        animate([hz_c, hx_c, theta=0..2*Pi], hs=0..2, color=black): psi := 1/8 Pi;         >        hs:=2: astro_plot_s := plot([hz_c, hx_c, theta=0..2*Pi], color=black,        thickness=3 ):         >        hx_e_s := (hz, theta) -> hz*tan(theta) +        hk_s*sin(2*(theta-theta_s))/2/cos(theta):         >        hx_s_s := (hz, theta) -> -hz/tan(theta) -        hk_s*cos(2*(theta-theta_s))/sin(theta):         >        ech_anim_s := animate(hx_e_s(hz, theta), hz=-10..10, theta=0..2*Pi,        view=[-hk_s..hk_s, -hk_s..hk_s], color=black, numpoints=200, frames=100):         >        stb_anim_s := animate(hx_s_s(hz, theta), hz=-10..10, theta=0..2*Pi,        view=[-hk_s..hk_s, -hk_s..hk_s], color=blue, numpoints=200, frames=100):         >        display([astro_plot_s, ech_anim_s, stb_anim_s]);