mammos_analysis.kuzmin#
Postprocessing functions for micromagnetic property estimation.
Functions
|
Compute spontaneous magnetization at temperature T using Kuz'min formula. |
|
Evaluate intrinsic micromagnetic properties using Kuz’min model. |
Classes
|
Result of Kuz'min magnetic properties estimation. |
- class mammos_analysis.kuzmin.KuzminResult(Ms, A, Tc, s, K1=None)[source]#
Result of Kuz’min magnetic properties estimation.
- Parameters:
- A: Callable[[Real | Quantity], Entity]#
Callable returning temperature-dependent exchange stiffness.
- K1: Callable[[Real | Quantity], Entity] | None = None#
Callable returning temperature-dependent uniaxial anisotropy.
- Ms: Callable[[Real | Quantity], Entity]#
Callable returning temperature-dependent spontaneous magnetization.
- plot(T=None)[source]#
Create a plot for Ms, A, and K1 as a function of temperature.
- Parameters:
T (mammos_entity.Entity | astropy.units.Quantity | numpy.ndarray | None)
- Return type:
- s: Quantity#
Kuzmin parameter.
- mammos_analysis.kuzmin.kuzmin_formula(Ms_0, T_c, s, T)[source]#
Compute spontaneous magnetization at temperature T using Kuz’min formula.
The formula approximate spontaneous magnetization \(M_s(T)\) for \(0 < T < T_c\) as
\[\begin{split}M_s(T) = M_0 \left[ 1 - s \left( \frac{T}{T_c} \right)^{3/2} \\ - (1-s) \left( \frac{T}{T_c} \right)^{5/2} \right]^{1/3}\end{split}\]where \(M_0\) is the saturation magnetization, \(T_c\) is the Curie temperature, and \(s\) is an adjustable parameter.
Kuz’min, M.D., Skokov, K.P., Diop, L.B. et al. Exchange stiffness of ferromagnets. Eur. Phys. J. Plus 135, 301 (2020). https://doi.org/10.1140/epjp/s13360-020-00294-y
- Parameters:
Ms_0 – Spontaneous magnetization at 0 K.
T_c – Curie temperature.
s – Kuzmin exponent parameter.
T – Temperature(s) for evaluation.
- Returns:
Spontaneous magnetization at temperature T as an array.
- mammos_analysis.kuzmin.kuzmin_properties(Ms, T, Tc=None, Ms_0=None, K1_0=None)[source]#
Evaluate intrinsic micromagnetic properties using Kuz’min model.
Computes Ms, A, and K1 as function of temperature by fitting the Kuz’min equation to Ms vs T. The attributes Ms, A and K1 in the returned object can be called to get values at arbitrary temperatures.
K1 is only available in the output data if the value of the zero-temperature uniaxial anisotropy constant K1_0 has been passed.
If Ms_0 is None, the first value in the Ms series is taken as the zero temperature magnetization Ms_0 only if the first entry of the T series is zero; otherwise, a ValueError is raised.
If Tc is None, it will be treated as an optimization variable and estimated during the fitting process via least squares.
- Parameters:
- Returns:
KuzminResult with temperature-dependent Ms, A, K1 (optional), Curie temperature (optional), and exponent.
- Raises:
ValueError – Value of Ms at zero temperature is not given.
ValueError – If K1_0 has incorrect unit.
- Return type: