PrincetonUniversity / magnet

Open Source Research Platform for Power Magnetics Modeling
https://mag-net.princeton.edu/
MIT License
61 stars 12 forks source link

How you calculate steinmetz coefficients for each material? #52

Open AlealFurlan opened 2 years ago

AlealFurlan commented 2 years ago

I'm trying some fitting approaches, but I have different results. Do you use the same method to calculate the Steinmetz coefficients for iGSE_trapezoid and iGSE_sine?

For exemple, for 3C94 material fitting datasheet data I have: [K, alpha, beta] =[3.82978222, 1.38462252, 2.73482858] with: freq =100e3 and flux = 0.328.

So, for duty_ratios = [0.1, 0.1, 0.4], I have: magnet.core.core_loss_iGSE_trapezoid(freq, flux, duty_ratios, K, alpha, beta, None, 0) 49101373.64068319

And defining the material I have: magnet.core.core_loss_iGSE_trapezoid(freq, flux, duty_ratios, 0, 0, 0, '3C94', 0) 4065393.854135263

I want to know your method to understand this difference :)

ds9056 commented 2 years ago

Dear AlealFurlan, thank you for your comment, and excuse the late response. We have updated the code since your question, could you provide more information on the issue? I am trying to replicate it. We are using the same method to calculate the Steinmetz parameters for trapezoidal and sinusoidal data. They are based on curve fitting of the measurements of sinusoidal data.

AlealFurlan commented 2 years ago

Hi Diego, thank for you attention!

I found the difference; you calculate only one [K**, alpha, beta] for all data. I think, It is better to fit near your operation point (f and B). You can use some quadratic minimization methods, for example.

** or ki (my mistake; I was using K instead of ki :) )

ds9056 commented 2 years ago

Helo AlealFurlan, Thank you for your prompt response a providing for an explanation for the problem. You are correct, we use a single set of Steinmetz parameters (ki, alpha, and beta) for every material based on the complete measurement range of 50 kHz to 500 kHz and 10 mT to 300 mT of sinusoidal excitations. As you noted, Steinmetz parameters are not constant in the tested ranges. We could fit them locally (in fact, this is what we are doing to calculate the outlier factor), but then its validity would be reduced only to points close to the defined point. This is not the scope of our research right now. You can calculate the local Steinmetz parameters by downloading the data in the subrange you are interested in and performing the local fitting. We will consider adding the local parameters for future versions if it is easy to implement on the webpage.

AlealFurlan commented 2 years ago

I understand, Diego :) To clarify one point, if you use a quadratic minimization method for specif material, for example, you can fit "locally" but with the influence of all data, not only a subrange of the data. Thank for considering adding the local parameters for futures versions! Your work is fantastic!

ds9056 commented 2 years ago

Thank you one more time André, We are calculating the Steinmetz parameters using the least-squares method, but I will take a look at the quadratic optimization method, maybe it is better for this problem. Thanks for pointing it out!