making smooth curve of M-B
2 次查看(过去 30 天)
显示 更早的评论
Kindly update that why it doesnt give a smooth curve starting from zero to net_magnetization......Regards......... Code file and output graph attached us attached........
0 个评论
回答(1 个)
Greig
2015-7-16
编辑:Greig
2015-7-16
I think that the physics of the problem are wrong. Unless I am mistaken, you are doing a phenomenological simulation of a partial hysteresis loop or IRM acquisition curve?
As it stands you are looking 5 (nrows) magnetic moments and assessing how their net magnetization (here the average moment) is progressively rotated to saturation with increasing field (B). The problem is that, physically, the net magnetization is not directly rotated as you do here. The individual magnetic moments are rotated and yield a resultant net magnetization.
What you need to do, for each grain with an initial angle w.r.t. to the field, rotate the moment according to the applied field. Then average all moments to get the net magnetization for that field step. Not that the average has to be a vector average, since the moments should themselves be vectors. To get a smooth curve, you will need to average over an ensemble of grains, 5 will not be enough. I would start with 100 to develop the code, but you will likely need >1000 to get a nice smooth curve.
Edit: I should also add, that you will need to make some assumption about your switching field (coercivity) distribution, otherwise if you are modeling hysteresis of IRM, then for identical grains it is just a step function.
I hope this gives you a good starting point to update your code.
2 个评论
Greig
2015-7-26
The first port of call would be to be clear on what it is you are trying to model and finding a textbook to understand the physics behind the process.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Curve Fitting Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!