hfss和python_用python自动化仿真HFSS,超简易

python是一款适用性极强的编程语言。一直期待HFSS(三维全波电磁场仿真的行业标准)能有python接口。后知后觉的本人才发现原来HFSS16(2015版本)已经不止支持VB脚本,还增加了python支持,当然它用的是Ironpython,基于.NET,和Cpython还是有一定区别,Numpy和Scipy这些库的使用上可能还存在问题。正好网上有牛人已经写好了使用指南,我就当下搬运工,希望有更多的人参与来发展hfss的python自动化仿真。

运行环境

python 2.7 / 3.4及以上

Ansys HFSS16(2015.1.0)

win7 64位

引入

当你发现你在HFSS中做一个重复性任务时,你可以通过自动化来节省时间。

当你想要使用HFSS的脚本时,最简便的办法是利用脚本记录功能弄清楚HFSS是怎样编写脚本的。几乎所有你在HFSS用户界面做的事你都可以使用脚本做到。

再次强调,找出如何使用脚本的最快的方式是在图形化用户界面记录一个脚本,看这个脚本是怎么说的。

录制脚本文件:Tools → Record Script to File,然后做些你想被录制的事,如改变工作频率,某些设计变量。

脚本录制操作

结束脚本录制:Tools →Stop Script Recording。

如果你想改变Setup8的工作频率,如800MHz,然后改变一个设计变量N为7,你需要得到类似的一个脚本:

# ----------------------------------------------

# Script Recorded by ANSYS Electronics Desktop Version 2015.0.0

# 10:04:03 May 13, 2015

# ----------------------------------------------

import ScriptEnv

ScriptEnv.Initialize("Ansoft.ElectronicsDesktop")

oDesktop.RestoreWindow()

oProject = oDesktop.SetActiveProject("AntennaTemplate2")

oDesign = oProject.SetActiveDesign("HFSS

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HFSS中平面滤波器自动建模可以使用Python脚本来实现。以下是一个简单的示例脚本,它创建了一个二阶带通微带滤波器。 ```python # 导入必要的模块 import hfss from hfss import * import math # 创建新的HFSS项目 hfss = HFSS() hfss.new_project("Filter Design", "Ansoft") # 创建新的HFSS设计 hfss.new_design("Filter", "Passive", "DrivenModal") # 创建新的HFSS模型 hfss.new_setup("Setup", "EigenMode", "-1") # 创建新的HFSS分析频率 hfss.add_freq("Freq", "2GHz") # 创建新的HFSS微带线 width = 10 height = 20 hfss.add_rect("Microstrip", "Substrate", [0, 0, 0], [width, height, 0]) hfss.assign_perfE("Microstrip", "10mm") # 创建新的HFSS微带阻抗变换器 length = 10 hfss.add_rect("Taper1", "Substrate", [0, height/2, 0], [width, height/2 + length, 0]) hfss.assign_perfE("Taper1", "10mm") # 创建新的HFSS微带滤波器 hfss.add_rect("Filter1", "Substrate", [0, height/2 + length, 0], [width, height/2 + 2*length, 0]) hfss.assign_perfE("Filter1", "10mm") # 创建第二个HFSS微带阻抗变换器 hfss.add_rect("Taper2", "Substrate", [0, height/2 + 2*length, 0], [width, height/2 + 3*length, 0]) hfss.assign_perfE("Taper2", "10mm") # 创建第二个HFSS微带线 hfss.add_rect("Microstrip2", "Substrate", [0, height/2 + 3*length, 0], [width, height + 3*length, 0]) hfss.assign_perfE("Microstrip2", "10mm") # 在HFSS中创建端口 hfss.add_port("Port1", "Microstrip", 1) hfss.add_port("Port2", "Microstrip2", 2) # 激励端口 hfss.add_excitation("Port1", "1") hfss.add_excitation("Port2", "1") # 创建仿真 hfss.analyze_setup("Setup") # 导出S参数 hfss.export_touchstone("S-Parameters", ["Freq"], ["S"]) ``` 这只是一个简单的示例脚本,可以根据需要进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值