Skip to content
Morgan Henderson edited this page Apr 11, 2024 · 3 revisions

Models

Jiles-Atherton

The rshyst implementation of the Jiles-Atherton model functions by numerically integrating the differential equation from Jiles & Atherton (1984):

$\frac{dM}{dH} = \frac{1}{1+c}\frac{M_\text{an}-M}{\delta k - \alpha (M_\text{an} - M)} + \frac{c}{1+c} \frac{dM_\text{an}}{dH}$

where $M$ and $M_\text{an}$ are the total and anhysteretic magnetization, $H$ is the applied field, $\delta$ is the sign of changes in the applied field, and all other symbols are Jiles-Atherton parameters. This implementation includes the corrected anisotropic extension developed in Ramesh et al (1996) and Szewczyk (2014) so that:

$M_\text{an} = (1-w_\text{an}) M_\text{an}^\text{iso} + w_\text{an} M_\text{an}^\text{aniso}\qquad\text{and}\qquad\frac{dM_\text{an}}{dH}=(1-w_\text{an}) \frac{dM_\text{an}^\text{iso}}{dH} + w_\text{an} \frac{dM_\text{an}^\text{aniso}}{dH}$

where $w_\mathrm{an}$ is the relative weight of anisotropic effects and $M_\text{an}^\text{iso}$ and $M_\text{an}^\text{aniso}$ are the isotropic and anisotropic anhysteretic magnetization. The isotropic contributions to anhysteretic magnetization and its derivative are given analytically by:

$M_\text{an}^\text{iso} = M_s \left(\text{coth}\left(\frac{H_e}{a}\right)-\frac{a}{H_e}\right) \qquad\text{and}\qquad \frac{dM_\text{an}^\text{iso}}{dH}=M_s\left(\frac{a}{H_e^2}-\text{csch}^2\left(\frac{H_e}{a}\right)\right)$

The anisotropic contribution to anhysteretic magnetization is given by:

$M_\text{an}^\text{aniso} = M_s \frac{\int_0^\pi e^{0.5\left(E_1+E_2\right)}\text{sin}\left(\theta\right)\text{cos}\left(\theta\right)d\theta}{\int_0^\pi e^{0.5\left(E_1+E_2\right)}\text{sin}\left(\theta\right)d\theta}$

where the $E_1$ and $E_2$ terms are given by:

$E_1=\frac{H_e}{a}\text{cos}\left(\theta\right)-\frac{K_{an}}{\mu_0aM_s}\text{sin}^2\left(\psi-\theta\right) \qquad\text{and}\qquad E_2=\frac{H_e}{a}\text{cos}\left(\theta\right)-\frac{K_{an}}{\mu_0aM_s}\text{sin}^2\left(\psi+\theta\right)$

Since there is no closed-form expression for the derivative of $M_\text{an}^\text{aniso}$, it is aproximated by:

$\frac{dM_\text{an}^\text{aniso}}{dH}=\frac{M_\text{an}^\text{aniso}\left(H+\Delta H\right)-M_\text{an}^\text{aniso}\left(H-\Delta H\right)}{2\Delta H}$

The integrals in the equation for $M_\text{an}^\text{aniso}$ are computed using a 15-point Gauss-Kronrod quadrature rule and can optionally be split into subdomains of integration (each being solved with quadrature intgration).

API

HysteresisModel

Base class for magnetic hysteresis models

HysteresisModel(dH, units="SI")

Args:

  • dH: Magnetizing field step-size ()
  • units: (default "SI")

JilesAtherton

A Jiles-Atherton magnetic hysteresis model

JilesAtherton(alpha, a, Ms, k, c, dH, wa=0, Ka=0, theta=0, phi=0, sat_tol=1e-3, integrator="RK4", units="SI")

Args:

  • alpha: Domain coupling strength
  • a: Domain wall density (A/m or T)
  • Ms: Saturation magnetization of material (A/m or T)
  • k: Pinning site breaking energy (A/m or T)
  • c: Magnetization reversability
  • dH: Magnetizing field step-size ()
  • wa: Relative weight of anisotropic effects (default 0.)
  • Ka: Average anisotropy energy density (J/m^3, default 0)
  • theta: Easy axis polar angle (radians, default 0)
  • phi: Easy axis azimuthal angle (radians, default 0)
  • sat_tol: Largest relative change in magnetization at saturation (default 1e-3)
  • integrator: Integrator used for solving differential equation (default 'RK4')
  • units: (default "SI")

integrator must be one of: EULER, RK4, or RK45

Note: If wa=0 or Ka=0, anisotropic effects will not be computed.

Clone this wiki locally