原标题:利用Python与HFSS联合仿真设计一个微带天线(附详细代码)

我们知道HFSS是一款电磁仿真商用软件,用其进行天线的设计十分方便。而该软件也预留了可以运行脚本的接口,使用者可以使用脚本对软件进行控制,实现模型的建立、求解等等。由于后期可能会用到联合仿真,而大多数联合仿真的脚本都是使用的Matlab进行编程,网上也有不少现成的api,因为对python比较熟悉,且python除了数值计算其他的功能也相当强大,并且免费开源,于是决定用python写一个建模的脚本(其实是我matlab学得太烂了),折腾了两天,终于把微带天线的模型建立与仿真的过程搞定了,当然是基于有Matthew Radway这位大牛的基础上。这个例子也是接触HFSS时手绘天线做的第一个例子,现在用代码做一遍,也是很有意思的事情。下面分享给大家。

1、连接软件

第一步当然要用脚本实现打开软件了。关于这个步骤,HFSS帮助文档中是这样写的

GetAppDesktop

Use:GetAppDesktopis a function of oAnsoftApp. This function does not take an input and it returns an object. The object is assigned to the variable oDesktop.

Syntax:GetAppDesktop()

Return Value:Object.

Parameters:None

Example:

Set oDesktop = oAnsoftApp.GetAppDesktop()

给出了函数名,参数值,返回值,以及一个实例(这个帮助文档写得很不错,但是后面阅读过程中也发现了一些小错误,当然很可能是因为我用的是daoban)。这个返回值oAnsoftApp就是后面进行一系列操作要使用的对象,所有的操作的形式都是下面这样:

oAnsoftApp.

python中编写了一个接口函数把这个函数封装在里面。代码如下(不是我写的):

作者用了win32com.client.Dispatch()这个函数,这个函数是专门用来连接接口的,返回值中的那个oDesktop就是生成的对象。

实际调用代码:

[oAnsoftApp, oDesktop] = hfss.setup_interface()

2、新建一个project

oProject = hfss.new_project(oDesktop)

这里就是用了上面生成的oDesktop对象新建了一个object,具体查阅help文档和编写api的工作和上一步一致,并且平时使用时直接使用接口调用即可。注意,下面进行的操作都在这个project中,所以下面操作的对象就是oProject了。这个时候HFSS里应该长这样了。

3、保存project

养成良好习惯,新建的文件之后先保存,在编写过程中因为没有先保存,生成了一堆临时文件,挺讨厌的。这个传人的参数可以包含路径。

hfss.save_as_project(oDesktop,"E:/dj/test/microstrip_antenna.hfss")

4、新建一个design

这里传人的参数为design的名字,设计模式。

oDesign = hfss.insert_design(oProject, "HFSSDesign1", "DrivenModal")

新建完成后发现和我们手动操作是一样的。

5、建立模型

教程中首先新建了一个地板,并设置为PEC。这里也分别调用了这两个函数,尺寸可以用字符串输入,很方便灵活,不需要自己转换为一堆小数点的数字。设置PEC表面首先需要获得平面的faceid,再给这个表面设置边界条件。

由于建模过程比较类似,这里就不逐个给出了,模型建立完毕如下图(包括了设置边界条件和设置端口):

6、设置求解和扫频

这里求解函数传人了中心频点;扫频传入了扫频方式,起始频率和终止频率,频率间隔。

7、求解

对于每个setup进行求解。是不是和手动操作是一样的?

hfss.solve(oDesign,setuplist)

8、退出HFSS

hfss.quit_application(oDesktop)

结束语:今天暂时研究到这儿,还有很多比如查看求解完成后的驻波、增益曲线等等还有设置主从边界啦很多的api还没有编写,有时间会继续完善。

做了个有趣的小玩意儿,分享给大家~

完整主函数源码(api部分还不是很完整,哦,相当不完整,就先不给出了):

说明:本文中的微带线设计案例来自李明洋老师的《HFSS电磁仿真设计应用详解》一书的第10章----HFSS微带天线设计实例。

部分api设计参考使用了Matthew Radway在github中分享的Interact with ANSYS HFSS via the HFSS Windows COM API。地址:http://mradway.github.io/hycohanz/

作者:努力小菜籽

微波射频行业人士 | 相聚在这里

【10大细分领域的微信技术交流群】

微波射频网已建立射频、天线、雷达、毫米波、手机射频、RFIC、功放、SDR等细分领域的技术交流群,提供一个互相交流的平台,促进技术进步。

加群主为好友,说明:单位+技术方向,邀请您加入相应技术群返回搜狐,查看更多

责任编辑:

hfss和python_利用Python与HFSS联合仿真设计一个微带天线(附详细代码)相关推荐

  1. hfss和python_利用Python与HFSS联合仿真设计一个微带天线!

    原标题:利用Python与HFSS联合仿真设计一个微带天线! 我们知道HFSS是一款电磁仿真商用软件,用其进行天线的设计十分方便.而该软件也预留了可以运行脚本的接口,使用者可以使用脚本对软件进行控制, ...

  2. 利用Python与HFSS联合仿真设计一个微带天线

    说明:本文中的微带线设计案例来自李明洋老师的<HFSS电磁仿真设计应用详解>一书的第10章----HFSS微带天线设计实例. 部分api设计参考使用了Matthew Radway在gith ...

  3. Python实现逻辑回归实战(完整版)--内附详细代码

    Hello大家!上一篇小A已经详细的为大家讲解了逻辑回归的原理和数学推导,但是对于学习人工智能来说仅仅学会原理是远远不够的,还必须要动手实践,必须要学会使用编程语言将算法实现.所以,今天我就来为大家展 ...

  4. 用python画动态樱花_利用python画一棵漂亮的樱花树,turtle画图代码大全,此处感谢知乎大佬小白...

    利用python画一棵漂亮的樱花树,turtle画图代码大全,此处感谢知乎大佬小白 此处感谢知乎大佬 小白练手 练习一下比较流行的turtle(海龟库) 画一棵漂亮的樱花树,效果如下: ps: 是动态 ...

  5. HFSS仿真设计·5G微带天线(Ka波段)及优化方案调研

    HFSS仿真设计·5G微带天线(Ka波段)及优化方案调研 Ka波段矩形微带仿真 参数计算 模型设计 仿真模型设计 初始仿真数据观测 优化设计 另一个模型的结果 优化方案调研 阅读文献 Ka波段矩形微带 ...

  6. python实现按键精灵的功能_利用Python实现Windows下的鼠标键盘模拟的实例代码

    本文介绍了利用Python实现Windows下的鼠标键盘模拟的实例代码,分享给大家 本来用按键精灵是可以实现我的需求,而且更简单,但既然学python ,就看一下呗. 依赖: pip install ...

  7. 利用python加上ffmpeg,ffmpy,做一个音视频格式转换器

    利用python加上ffmpeg,可以做一个简单的音乐或者视频格式转换器. 可以利用PyQt5做界面,本例中比较简单: 流程非常简单,点击"选择源文件",选取要转换的音频或者视频文 ...

  8. 如何利用python对股票的走势进行一个判断?

    如何利用python对股票的走势进行一个判断? 一.问题 当我们拿到沪深股票的所有股票的数据的时候,如何对所有股票的走势,做一个模糊的判断? 当然可以通过画出一个股票的走势图来进行判断.但是问题是,我 ...

  9. Py之pygame:有趣好玩—利用pygame库实现鱼儿自动实时目标跟踪(附完整代码)

    Py之pygame:有趣好玩-利用pygame库实现鱼儿自动实时目标跟踪(附完整代码) 目录 输出结果 实现代码 输出结果 实现代码 #Py之pygame:利用pygame库实现鱼儿自动实时目标跟踪i ...

最新文章

  1. yolov5损失函数笔记
  2. 【浅谈】如何做好一名初级技术面试官
  3. 用 C 语言实现面向对象编程
  4. STL中的lower_bound和upper_bound的理解
  5. 前端学习(2691):重读vue电商网站12之获取选中节点的keys:
  6. java system类_Java System类mapLibraryName()方法及示例
  7. python 公开课_python公开课视频(11~20)
  8. python编程可以自学么-python编程还能自学?怎么能学好? - 【大连东软睿道】
  9. 廖雪峰git教程中的git命令汇总
  10. 截图工具-picpick绿色破解版免安装
  11. 【AndroidStudio】手机QQ登录界面2022版
  12. 求两个数的最小公倍数
  13. spring boot 配置文件
  14. word添加引用及自动更新的方法
  15. 从零开始的openGL--cs游戏(15) Volume阴影。
  16. 西安工业大学计算机学院研究生招生简章,西安工业大学计算机技术在职研究生招生简章...
  17. 医疗器械——与研发有关的法律法规和标准——共勉
  18. 仿真用计算机配置,需要进行仿真,选什么配置的电脑比较好
  19. Java 枚举(enum) 7种常见的用法
  20. js 监听扫描枪输入事件

热门文章

  1. 将Yolo格式标注文件转换为VOC格式
  2. Python数据可视化神奇利器,Pyecharts的使用(1.柱状图使用之分析LPL春季赛职业选手数据可视化)
  3. 无线电通信天线增益的计算
  4. 富斯i6设置APM失控保护
  5. SpringBoot Redis工具类封装
  6. 图扑软件入局工业元宇宙,加速部署数字孪生新生态
  7. linux下SVN忽略文件/文件夹的方法
  8. vs中c语言图形显示出来,VS2010+Opencv+MFC读取图像和视频显示在Picture控件
  9. 详解SimpleDateFormat
  10. USB驱动始终不能成功下载安装