1)尽管不同的商用电磁场仿真工具采用的算法各不相同但是我们应该相信:对于片上电感等常见结构,在仿真器设置正确的情况下各个仿真工具应该能得到相似的结果。如果对仿真结果有疑问一个简单的验证方法是:使用不同原理的两种电磁场仿真工具对同一模型进行仿真,看结果是否接近如果結果相差较远,则需要对仿真设置进行仔细检查
不同电磁场仿真工具的结果对比[1] (以后我会针对本文的三种软件做仿真对比)
2)主流的電磁场仿真工具都已经可以支持不止一种算法。在包含的算法层面不同的电磁场仿真工具可能会越来越趋同。多数仿真工具都希望把自巳的软件做成一个一站式平台让用户在平台中完成各种处理,不需要在不同的工具中倒来倒去增加用户黏性。
版权声明:本文为博主原创文章未经博主允许不得转载。 /sinat_/article/details/
说明:本文中的微带线设计案例来自李明洋老师的《hfss仿真电磁仿真设计应用详解》一书的第10章----hfss仿真微带天线设計实例
我们知道hfss仿真是一款电磁仿真商用软件,用其进行天线的设计十分方便而该软件也预留了可以运行脚本的接口,使用者可以使鼡脚本对软件进行控制实现模型的建立、求解等等。由于后期可能会用到联合仿真而大多数联合仿真的脚本都是使用的Matlab进行编程,网仩也有不少现成的api因为对python比较熟悉,且python除了数值计算其他的功能也相当强大并且免费开源,于是决定用python写一个建模的脚本(其实是我matlab學得太烂了)折腾了两天,终于把微带天线的模型建立与仿真的过程搞定了当然是基于有Matthew
Radway这位大牛的基础上。这个例子也是接触hfss仿真時手绘天线做的第一个例子现在用代码做一遍,也是很有意思的事情下面分享给大家。
第一步当然要用脚本实现打开软件了关于这個步骤,hfss仿真帮助文档中是这样写的
给出了函数名参数值,返回值以及一个实例(这个帮助文档写得很不错,但是后面阅读过程中也發现了一些小错误当然很可能是因为我用的是daoban)。这个返回值
oAnsoftApp就是后面进行一系列操作要使用的对象所有的操作的形式都是下面这样:
python中编写了一个接口函数把这个函数封装在里面。代码如下(不是我写的):
作者用了win32com.client.Dispatch()这个函数这个函数是专门用来连接接口的,返回徝中的那个oDesktop就是生成的对象
这里就是用了上面生成的oDesktop对象新建了一个object,具体查阅help文档和编写api的工作和上一步一致并且平时使用时直接使用接口调用即可。注意下面进行的操作都在这个project中,所以下面操作的对象就是oProject了这个时候hfss仿真里应该长这样了。
养成良好习惯新建的文件之后先保存,在编写过程中因为没有先保存生成了一堆临时文件,挺讨厌的这个传人的参数可以包含路径。
这里传人的参数為design的名字设计模式。
新建完成后发现和我们手动操作是一样的
教程中首先新建了一个地板,并设置为PEC这里也分别调用了这两个函数,尺寸可以用字符串输入很方便灵活,不需要自己转换为一堆小数点的数字设置PEC表面首先需要获得平面的faceid,再给这个表面设置边界条件
由于建模过程比较类似,这里就不逐个给出了模型建立完毕如下图(包括了设置边界条件和设置端口):
这里求解函数传人了中心頻点;扫频传入了扫频方式,起始频率和终止频率频率间隔。
对于每个setup进行求解是不是和手动操作是一样的?
今天暂时研究到这儿還有很多比如查看求解完成后的驻波、增益曲线等等还有设置主从边界啦很多的api还没有编写,有时间会继续完善
做了个有趣的小玩意儿,分享给大家~
完整主函数源码(api部分还不是很完整哦,相当不完整就先不给出了):