Jiles–Atherton parameters

44 Ansichten (letzte 30 Tage)
ANANTA BIJOY BHADRA
ANANTA BIJOY BHADRA am 2 Feb. 2022
Kommentiert: Simon Gans am 18 Feb. 2025 um 9:25
How can I calculate Jiles-Atherton parameters. What will be the equations and how to write them in MATLAB code. can anyone give me code or suggestions?
  1 Kommentar
Rik
Rik am 3 Feb. 2022
I don't think this is a Matlab problem yet. Would you be able to explain with pen and paper how to do it? You need to explain the actual Matlab problem, otherwise you reduce the number of people who can help you to only those who understand this specific problem as well.
Have a read here and here. It will greatly improve your chances of getting an answer.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Anshuman
Anshuman am 29 Jan. 2024
Hi Ananta, the core equations of the Jiles-Atherton model describe the relationship between the magnetization ( M ), the applied magnetic field ( H ), and the anhysteretic magnetization ( M_a ). The Jiles-Atherton model parameters are:
  • ( M_s ): Saturation magnetization
  • ( a ): Exchange coupling constant
  • ( k ): Anisotropy constant
  • ( c ): Magnetization reversal constant
  • ( alpha ): Parameter representing losses due to eddy currents and other effects
To calculate the Jiles-Atherton parameters, you typically perform a nonlinear curve fitting to experimental data. This can be done using MATLAB's optimization toolbox, specifically the "lsqcurvefit" function or similar. Here's a sample code of how you might set this up in MATLAB:
% Experimental data (H: applied magnetic field, M_exp: measured magnetization)
H = [...]; % Applied magnetic field vector
M_exp = [...]; % Measured magnetization vector
% Initial guesses for Jiles-Atherton parameters
params0 = [Ms0, a0, k0, c0, alpha0];
% Define the Jiles-Atherton model equation as a function
JA_model = @(params, H) ... % Implement the Jiles-Atherton equations here
% Set options for the fitting algorithm
options = optimoptions('lsqcurvefit', 'Display', 'iter', 'Algorithm', 'trust-region-reflective');
% Perform the curve fitting to find the best parameters
[params_fit, resnorm, residual, exitflag, output] = lsqcurvefit(JA_model, params0, H, M_exp, [], [], options);
% Extract the fitted parameters
Ms_fit = params_fit(1);
a_fit = params_fit(2);
k_fit = params_fit(3);
c_fit = params_fit(4);
alpha_fit = params_fit(5);
This is a general outline of how you can calculate Jiles-Atherton parameters using MATLAB.
  1 Kommentar
Simon Gans
Simon Gans am 18 Feb. 2025 um 9:25
Hello. I do not think that the provided algorithm will do any good when estimating the parameter values of the Jiles-Atherton model, because the model itself consists of only one differential equation which has 5 parameters in it which have somewhat of a physical meaning. And the optimization function has many local minima so most "local" solvers just find the minimum of the cost function that is nearest to them which is very improbable to be the true global minimum.
There are some options, like the particle swarm optimization method (Link) which has been used succesfully for such problems. Any of the default optimization methods that resemble gradient descent are completely useless.
Hope this helps :)

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Problem-Based Optimization Setup finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by