Femm是一个免费的有限元软件,可以进行2维平面或2维轴对称的电、磁、热的有限元仿真分析。
通常会用femm做磁路的仿真,优化磁路设计,或者计算Bl值。实际上femm的功能还有不少拓展的空间,可以求解Bl(X)、Le(x)等等磁路的非线性,短路环对Le(x)的影响等等。
其自带了Lua脚本语言的输入窗口和编译器,可以直接执行Lua命令。
或者也可以耦合Matlab、Mathematica、Octave(类似Matlab的免费软件)
Femm软件的帮助文件中有详细讲解如何进行接口参数调用。Femm官网也有对应的案例参考。
Femm官网网址,可能需要翻墙
http://www.femm.info/wiki/HomePage
附录一款产品求解磁路Bl(x)和Le(x)的Lua命令,注释已经写得很详细清晰:
-- Model Name
ModelName = 'Woofer.fem';
-- Maximum excursion + /- from the centered position:
Xlim = 10;
-- Movement increments used during the analysis
dX = 0.1;
--------------------------------------
-- Analyze BL and incremental inductance at 1 mm steps between - Xlim and + Xlim
open(ModelName);
mi_saveas('temp.fem');
mi_selectgroup(1);
mi_movetranslate(0, -Xlim);
mi_clearselected();
showconsole();
clearconsole();
print('Disp(mm)','BL(N/A)','Inductance(uH)');
for k=-Xlim,Xlim,dX do
mi_modifycircprop('icoil',1,1);
mi_analyze(1);
mi_loadsolution();
mo_groupselectblock(1);
fz = mo_blockintegral(12);
parm1,R,fl1 = mo_getcircuitproperties('icoil');
mo_close();
mi_modifycircprop('icoil', 1, 0);
mi_analyze(1);
mi_loadsolution();
parm1,parm2,fl0 = mo_getcircuitproperties('icoil');
L = (fl1 - fl0)*10^6;
print(k, fz, L);
mi_selectgroup(1);
mi_movetranslate(0, 1);
end
mi_close();
remove('temp.fem');
remove('temp.ans');
print('');
print('DC coil resistance = ',R);
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删