- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
HFSS-Matlab-API实践体会与HFSS Scripting快速入门
录入:edatop.com 点击:
(1) What is HFSS-Matlab-API? Why HFSS-Matlab-API?
HFSS-Matlab-API是用Matlab生成可供HFSS调用的脚本语言的应用程序接口*.m文件源代码包。HFSS-Matlab-API是一个开源代码API,要求在原有代码基础上进行修改时,不要改动文件里的版权信息,或者由原作者添加你的贡献信息。
坦率说,这个API包不能算是完美的,甚至存在错误,也还没有找到可以持续更新的信息。但是,不能不对发起人Vijay Ramasami,贡献者James L. McDonald、YueLiang等人的贡献表示感谢和敬意!因为他们的名字低调地隐藏在*.m文件注释中,找到他们的名字都不容易,如有遗漏,还望海涵!与人玫瑰手有余香,稍后我用发几个文件的方式,表达对他们的感谢和敬意,同时感谢微网和微友提供了这个API的下载渠道。
至于为什么要用HFSS-Matlab-API?简单说,为了实现功能更强的数据后处理,为了更方便地进行任务批处理,为了借助HFSS完成优化设计。也许还有其他好处……总之,这是一件正确的事情,因为有人贡献了它,还有人关注、利用了它。
(2) 怎样快速入门HFSS Scripting?
从本人作为HFSS Scripting初学者的体会来看,如下三步很重要:
第一步,在HFSS界面中反复尝试运行“Tools”菜单下的第三到第五项,尝试HFSS的各种操作,也就是生成(记录、停止记录)、运行、停止、暂停脚本。这一步更多地像是游戏,完成后可以了解HFSS VBScript脚本的特点、熟悉HFSS相关操作。也许正是HFSS的这一功能使得人们失去了继续开发HFSS-Matlab-API的兴趣和动力,因为很多Scripting的过程变得就像是“搬运”。
第二步,设定一些简单任务,进行一些脚本的修改和在HFSS下运行这些脚本,利用帮助深入了解脚本函数里参数的意义与设置。不要成为一个实用主义者,了解参数的意义并不是一件乏味的事情。
第三步,运行HFSS-Matlab-API中的例子,也就是初步实践了。
对于那些经验丰富的开发人员,假如在这之前对VBScript一无所知,但是如果他们已经熟悉了HFSS,实践过三维建模、仿真条件设置、计算、后处理及结果输出等过程,熟悉了Matlab程序编制和调试,那么按照上述三步进行实践,两天甚至更短的时间以内就会掌握利用Matlab进行HFSS脚本编写的技巧。
(3) 本人的编程实践
按照下面的顺序,本人在API包的examples路径下进行了3个*.m文件(附后)的创建、编制、运行和调试:
dipole_test.m——它用于生成对称振子模型,通过迭代调整对称振子长度,使对称振子谐振于工作频率。仅对HFSS-Matlab-API中的dipole_example进行了少量修改,改变了一些路径、更正了原程序中数据结果不能更新的问题。完成这一步后,我在hfssapi文件夹下建立了hfssPrjForTest子文件夹,把前面生成的tmpDipole.hfss拷贝进来并做了修改,主要有两处:一是将振子长度设置为参数L;二是Insert Far Field Setup。
tmpDipole_Open_Run.m——完成tmpDipole.hfss工程的打开、计算和关闭。
tmpDipole_Open_Run_CreatReport_Iterate.m——完成tmpDipole.hfss工程的打开、计算、报告生成、数据输出、关闭程序,以及通过迭代调整对称振子长度,使对称振子谐振于工作频率。
编程时,没有在容错方面做过多努力,因此至少要建立临时目录e:tmpHFSS才能成功运行下面的文件,调试时再处理吧!
hfssapi.zip
HFSS-Matlab-API是用Matlab生成可供HFSS调用的脚本语言的应用程序接口*.m文件源代码包。HFSS-Matlab-API是一个开源代码API,要求在原有代码基础上进行修改时,不要改动文件里的版权信息,或者由原作者添加你的贡献信息。
坦率说,这个API包不能算是完美的,甚至存在错误,也还没有找到可以持续更新的信息。但是,不能不对发起人Vijay Ramasami,贡献者James L. McDonald、YueLiang等人的贡献表示感谢和敬意!因为他们的名字低调地隐藏在*.m文件注释中,找到他们的名字都不容易,如有遗漏,还望海涵!与人玫瑰手有余香,稍后我用发几个文件的方式,表达对他们的感谢和敬意,同时感谢微网和微友提供了这个API的下载渠道。
至于为什么要用HFSS-Matlab-API?简单说,为了实现功能更强的数据后处理,为了更方便地进行任务批处理,为了借助HFSS完成优化设计。也许还有其他好处……总之,这是一件正确的事情,因为有人贡献了它,还有人关注、利用了它。
(2) 怎样快速入门HFSS Scripting?
从本人作为HFSS Scripting初学者的体会来看,如下三步很重要:
第一步,在HFSS界面中反复尝试运行“Tools”菜单下的第三到第五项,尝试HFSS的各种操作,也就是生成(记录、停止记录)、运行、停止、暂停脚本。这一步更多地像是游戏,完成后可以了解HFSS VBScript脚本的特点、熟悉HFSS相关操作。也许正是HFSS的这一功能使得人们失去了继续开发HFSS-Matlab-API的兴趣和动力,因为很多Scripting的过程变得就像是“搬运”。
第二步,设定一些简单任务,进行一些脚本的修改和在HFSS下运行这些脚本,利用帮助深入了解脚本函数里参数的意义与设置。不要成为一个实用主义者,了解参数的意义并不是一件乏味的事情。
第三步,运行HFSS-Matlab-API中的例子,也就是初步实践了。
对于那些经验丰富的开发人员,假如在这之前对VBScript一无所知,但是如果他们已经熟悉了HFSS,实践过三维建模、仿真条件设置、计算、后处理及结果输出等过程,熟悉了Matlab程序编制和调试,那么按照上述三步进行实践,两天甚至更短的时间以内就会掌握利用Matlab进行HFSS脚本编写的技巧。
(3) 本人的编程实践
按照下面的顺序,本人在API包的examples路径下进行了3个*.m文件(附后)的创建、编制、运行和调试:
dipole_test.m——它用于生成对称振子模型,通过迭代调整对称振子长度,使对称振子谐振于工作频率。仅对HFSS-Matlab-API中的dipole_example进行了少量修改,改变了一些路径、更正了原程序中数据结果不能更新的问题。完成这一步后,我在hfssapi文件夹下建立了hfssPrjForTest子文件夹,把前面生成的tmpDipole.hfss拷贝进来并做了修改,主要有两处:一是将振子长度设置为参数L;二是Insert Far Field Setup。
tmpDipole_Open_Run.m——完成tmpDipole.hfss工程的打开、计算和关闭。
tmpDipole_Open_Run_CreatReport_Iterate.m——完成tmpDipole.hfss工程的打开、计算、报告生成、数据输出、关闭程序,以及通过迭代调整对称振子长度,使对称振子谐振于工作频率。
编程时,没有在容错方面做过多努力,因此至少要建立临时目录e:tmpHFSS才能成功运行下面的文件,调试时再处理吧!
hfssapi.zip
共同学习,共同进步
谢谢
谢谢分享
谢谢
不知道楼主有没有详细的用过,网上上传的那个API很多函数都没有,不能完全实现用MATLAB控制。不知道楼主知道不,有没有计划编出其他没有的函数呀。
看看是什么东东哈。
研究了好久,后来觉得效率太低了,就没再用
看看有没有新鲜的东西
对我这个初学者要求太高了。
我现在体会,这个API不必要在三维建模、设置方面有任何的函数,应该把重点放在后处理、优化、参数扫描、调整等方面。它的存在主要是为学术研究的方便,同时也可以为一些工程设计提供工具。随着HFSS不停地完善,此API存在的价值会逐渐下降。但是只要HFSS继续支持VB脚本,它总有作为学术研究工具的价值。
我会编制一些程序,但是现阶段只针对研究的实用需要。如果精力有富余,我会完善、补充一些函数。
看看,也好好的学习学习哦!
其实这个软件最大的作用的我觉还是写阵列 和模型固定的东西 速度都很快的。至于后处理,这个还没研究很多。
申明:网友回复良莠不齐,仅供参考。如需专业解答,请学习易迪拓培训专家讲授的HFSS视频培训教程。
上一篇:HFSS vs ie3d
下一篇:我画一个天线的时候s11是对的,但是组合成阵列之后s11就偏移了,请问这是为什么