当前位置 : 主页 > 编程语言 > java >

python 与HFSS联合仿真的教程讲解

来源:互联网 收集:自由互联 发布时间:2021-04-03
看了很多其他人写的,python与HFSS联合仿真的博客,但说实话,都没有说到点子上。今天,给大家说说我的思路。 python与HFSS联合仿真,有3种思路。下边一一介绍。 第一种 在HFSS中,选择

看了很多其他人写的,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算法。主要拿来算大尺寸天线,尤其是反射面天线。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持易盾网络。如有错误或未考虑完全的地方,望不吝赐教。

网友评论