HFSS和MATLAB接口的步骤
其实所有语言跟HFSS接口都是一样的,不管是MATLAB、FORTRAN还是C++,基本方法都是通过程序书写一个HFSS可执行的.vbs文件。算法程序就是用来控制参数和书写.vbs文件的。
如果你只是用来优化HFSS模型里面的参数值,那模型就不需要修改;如果模型不同,那就需要包含建立模型的过程。
vb script语言还是很好理解的,比如oEditor.CreateRectangle Array表示建立一个矩形;oEditor.ChangeProperty表示修改属性;oDesign.AnalyzeAll表示仿真。
当然这些语句都不需要自己编写,HFSS提供了一个生成所需vbs文件的命令:tool—>record script,自己需要做的就是把这些语句按照自己的需求进行修改。
给你一个例子,这个是我用C++写的一小段:
fileStream <<"oEditor.CreateRectangle Array("NAME:RectangleParameters", "CoordinateSystemID:=",_"<<endl;
fileStream <<"-1, "IsCovered:=", true, "XStart:=", "-40mm", "YStart:=", "-40mm", "ZStart:=",_"<<endl;
fileStream <<""-7mm", "Width:=", "80mm", "Height:=", "80mm", "WhichAxis:=", "Z"), Array("NAME:Attributes", "Name:=",_"<<endl;
fileStream <<""Rectangle1", "Flags:=", "", "Color:=", "(132 132 193)", "Transparency:=", 0, "PartCoordinateSystem:=",_"<<endl;
fileStream <<""Global", "MaterialName:=", "vacuum", "SolveInside:=", true)"<<endl;
fileStream <<"oEditor.ChangeProperty Array("NAME:AllTabs", Array("NAME:Geometry3DAttributeTab", Array("NAME:PropServers",_"<<endl;
fileStream <<""Rectangle1"), Array("NAME:ChangedProps", Array("NAME:Name", "Value:=", "ground"))))"<<endl;
fileStream <<"Set oModule = oDesign.GetModule("BoundarySetup")"<<endl;
fileStream <<"oModule.AssignPerfectE Array("NAME:PerfE1", "Objects:=", Array("ground"), "InfGroundPlane:=", false)"<<endl;
就是建立一个矩形地板,并设边界条件为PerfectE。
用MATLAB编写原理是一样的
同求、、、
同求,呵呵
这个东西看起来好复杂啊,请问二楼是怎么开始学习这个东东的呢?
??
二楼做得太深了,其实这个脚本的本质不是让我们写函数,而是调用函数而已。写m文件(调用脚本函数)---自动生成VBs文件,双击即可自动打开hfss,自动建模。当然也可以在hfss软件里,使用run scripts,选定vbs即可
同求,楼主学会了吗?可否分享一下
申明:网友回复良莠不齐,仅供参考。如需专业解答,请学习本站推出的微波射频专业培训课程。