看了很多其他人写的,python与HFSS联合仿真的博客,但说实话,都没有说到点子上。今天,给大家说说我的思路。
python与HFSS联合仿真,有3种思路。下边一一介绍。
第一种
在HFSS中,选择tools-->record script to file ,选择导出到py文件即可。HFSS就会将你接下来的操作,转换为代码。
而你以后使用的时候,只需要改一下参数就可以了。
需要注意的是,这个python不可以直接用python编译器运行的,因为ScripEnv库,是HFSS自己的库。
如果要仿真这个python文件,是在HFSS的tools-->run script。建议大家从新建文件录制,并且录制到最后的保存文件。(CSDN博客MNVCAT原创)录制之后,建议大家打开这个python文件,自己看一看。
有一个小小的问题,HFSS在脚本的开头自动生成的注释,有中文“月”存在,直接运行的话,会报类似于“/xe6”之类的错,大家手动删除汉字就行。(如果你细心,看下边的两个图,也会发现的)
第二种
就是当你百度“python加HFSS”时,会遇到的一个叫做“hycohanz”的库。
但是我在使用过程中,遇到了许多问题。这个库,它调用了imp,而imp在python3.4之后就已经被import代替,如果自己去修改“hycohanz”的源码,会很麻烦。
而如果使用pythono3.4以下的版本,要调用win32库,在加载win32库之后,也会遇到一个“missing _init_.py win32com.gen_py”,而这个gen.py根本不存在。无疾而终。
第三种
也是最简单的。就是使用python提供的软件接口+HFSS的录制功能。这个思路是看到知乎上的一篇文章启发的思路的。在这个思路里,要用到python提供的win32库,所以,
第一步,先pip install win32,将win32库安装。
第二步,使用HFSS的录制功能,将想要自动化完成的功能转化为代码,这步就是第一种思路。
第三步,给大家演示如下
这是原来的录制文件
这是修改之后的文件(各位不要直接把我的图复制粘贴走,我已经写到实验报告里了)
可以看出来,原理就是将win32与HFSS的接口,两两对上。
第四步,就是运行这个修改好的python文件了。
好了,python与HFSS联合仿真就是这样。
补充:hfss和python_天线仿真软件哪个好?例如HFSS?
就我目前的经验来说,我常用的三款电磁仿真软件是HFSS, CST和Feko。
先说结论:
没有哪款软件是最好的,找最符合自己应用需求的才是王道。
HFSS应该是最好用的天线仿真软件,尤其适用于电小尺寸天线和口径面积在2个波长以内的天线。CST适用于电尺寸稍大的天线,尤其是宽带天线,CST中集成的时域算法可以用对天线进行时域分析,宽带天线的时域分析是特别重要的一点。FEKO一般用来仿电大尺寸天线,尤其是发射面天线。
根据我个人的经验,分别介绍一下,希望对题主有帮助:
HFSS: HFSS基于FEM算法也就是有限元,是一种频域分析算法,常用于电小尺寸复杂结构天线的设计,尤其是谐振天线,比如我最近在设计植入在人体中的窄带天线,在HFSS中仿真设计很方便,很容易就找到谐振点,但是应用基于时域算法的CST,天线就很难找到谐振点。
CST: 个人认为CST的主要卖点就是他们独有的时域算法FIT,有限时域积分,可以用来算中型的电大尺寸天线,尤其是可以用来评估宽带天线的时域特性,分析宽带天线的发射接收波形。
FEKO: MOM和快算多极子起家,集成了PO、UTD等散射及绕射算法,最近加入了FDTD算法。主要拿来算大尺寸天线,尤其是反射面天线。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持易盾网络。如有错误或未考虑完全的地方,望不吝赐教。