[转载]ansys BH曲线
(2014-06-09 11:14:28)
标签:
转载 |
原文地址:ansys BH曲线 作者:mywatersky123
我自己构造了一个BH曲线,分两段
B=aH,H<H0
B=b+muo*H-c/H^2 ,H>Ho
其中muo=4*pi*1E-7即空气的磁导率
其中a,b,c都是常数。
保证了
(1)当H=Ho的时候,BH曲线的连续,即aHo=b+muo*Ho-c/Ho^2
(2)当H=Ho的时候,db/dH的连续,即 a=muo+2c/Ho^(3)
a是随便设置的,保证大于空气磁导率,如a=1000*muo,通过计算可以得到b和c。然后将BH曲线输入给ansys计算,它总是提示
Final slope of BH curver for material 3 is less than free space permeability.
但是我构造的BH曲线的dB/dH已经保证了db/dh=muo+2c/H^3>muo
B/H保证了B/H=muo+(bH^2-c)/H^3>muo
即从构造的公式上可以保证了dB/dH和B/H当H->无穷大的时候,都是趋向muo
但是输入ansys就会提示Final slope of BH curver for material 3 is less than free space permeability
=================================================
另外,如果这样构造
B=aH,H<H0
B=b+muo*H-c/H ,H>Ho
给ansys,就没有这样的提示。
=================================================
B=aH,H<H0
B=b+muo*H-c/H^2 ,H>Ho
其中muo=4*pi*1E-7即空气的磁导率
其中a,b,c都是常数。
保证了
(1)当H=Ho的时候,BH曲线的连续,即aHo=b+muo*Ho-c/Ho^2
(2)当H=Ho的时候,db/dH的连续,即 a=muo+2c/Ho^(3)
a是随便设置的,保证大于空气磁导率,如a=1000*muo,通过计算可以得到b和c。然后将BH曲线输入给ansys计算,它总是提示
Final slope of BH curver for material 3 is less than free space permeability.
但是我构造的BH曲线的dB/dH已经保证了db/dh=muo+2c/H^3>muo
即从构造的公式上可以保证了dB/dH和B/H当H->无穷大的时候,都是趋向muo
但是输入ansys就会提示Final slope of BH curver for material 3 is less than free space permeability
=================================================
另外,如果这样构造
B=aH,H<H0
B=b+muo*H-c/H ,H>Ho
给ansys,就没有这样的提示。
=================================================
问题解决了。确实是因为有效数字位数的问题。我在matlab中利用写文件,将BH数据导出。此时可以控制位数,因此我将BH数据的小数点后面的位数增加为6位。同样还是顶端最开始提到的H^2的构造方式,但是按照这个多位数输出的数据输入ansys,ansys就不提示那个final
slope的问题了。
此时我们来计算一下按照这个数据进行计算最后一个点的final slope(按照自己的理解,就是前向差分)
最后两个点为:
TBPT,, 180747.312501,
2.107975
TBPT,, 216751.120201,
2.153222
那么final slope=(2.153222-2.107975)/(216751.120201-180747.312501)=1.25672818766888e-006
而Muo=4*pi*1E-7=1.25663706143592e-006
因此,可以看到,利用这个多位数的数据进行计算,的确是比空气的磁导率要高的。虽然不知道ansys是如何计算的,但是ansys现在不提示了,而且我们利用这些数据进行计算尾部的final slope也是比空气的磁导率高的。
而最初直接拷贝出的有效数字位数少的时候,利用最后两个点计算的final slope的确也是比空气的磁导率要小,虽然和ansys提示的final slope数值不同,但是ansys提示的应该是有道理的。
我想,这个问题到此应该可以结束了。
小结:
(1)自己构造BH曲线的时候,给出BH数据点的有效位数要合适。最起码要自己保证最后两个点计算的斜率不要比空气Muo小
(2)第一个点可以是0,0;也可以不是0,0吧。这个我通过计算发现是相同的。如果谁有更加确切的理解,请不吝赐教。
(3)ansys中给出的final slope的提示是有道理的。往往可以提醒我们再次检查BH曲线是否的确延伸斜率小于Muo
(4)ansys中给出的final slope不知道是按照什么计算方法进行的。
代码见下:
fid = fopen('BH.txt', 'wt');
fprintf(fid, 'TB,BH,2,,%dn',length(H));
fprintf(fid, 'TBPT,,%20.6f, %20.6fn', BH');
fclose(fid)
数据见下:
TB,BH,2,,103
TBPT,,
0.000000,
0.000000
TBPT,,
0.100000,
0.000172
TBPT,,
36.508700,
0.062904
TBPT,,
72.917400,
0.125637
TBPT,, 109.326100,
0.188369
TBPT,, 145.734800,
0.251101
TBPT,, 182.143500,
0.313833
TBPT,, 218.552200,
0.376565
TBPT,, 254.960900,
0.439298
TBPT,, 291.369600,
0.502030
TBPT,, 327.778300,
0.564762
TBPT,, 364.187000,
0.627494
TBPT,, 400.595700,
0.690226
TBPT,, 437.004400,
0.752959
TBPT,, 473.413100,
0.815691
此时我们来计算一下按照这个数据进行计算最后一个点的final slope(按照自己的理解,就是前向差分)
最后两个点为:
TBPT,,
TBPT,,
那么final slope=(2.153222-2.107975)/(216751.120201-180747.312501)=1.25672818766888e-006
而Muo=4*pi*1E-7=1.25663706143592e-006
因此,可以看到,利用这个多位数的数据进行计算,的确是比空气的磁导率要高的。虽然不知道ansys是如何计算的,但是ansys现在不提示了,而且我们利用这些数据进行计算尾部的final slope也是比空气的磁导率高的。
而最初直接拷贝出的有效数字位数少的时候,利用最后两个点计算的final slope的确也是比空气的磁导率要小,虽然和ansys提示的final slope数值不同,但是ansys提示的应该是有道理的。
我想,这个问题到此应该可以结束了。
小结:
(1)自己构造BH曲线的时候,给出BH数据点的有效位数要合适。最起码要自己保证最后两个点计算的斜率不要比空气Muo小
(2)第一个点可以是0,0;也可以不是0,0吧。这个我通过计算发现是相同的。如果谁有更加确切的理解,请不吝赐教。
(3)ansys中给出的final slope的提示是有道理的。往往可以提醒我们再次检查BH曲线是否的确延伸斜率小于Muo
(4)ansys中给出的final slope不知道是按照什么计算方法进行的。
代码见下:
fid = fopen('BH.txt', 'wt');
fprintf(fid, 'TB,BH,2,,%dn',length(H));
fprintf(fid, 'TBPT,,%20.6f, %20.6fn', BH');
fclose(fid)
数据见下:
TB,BH,2,,103
TBPT,,
TBPT,,
TBPT,,
TBPT,,
TBPT,,
TBPT,,
TBPT,,
TBPT,,
TBPT,,
TBPT,,
TBPT,,
TBPT,,
TBPT,,
TBPT,,
TBPT,,

加载中…