HFSS的近场仿真要点
HFSS 的近场仿真 1、 软件安装和破解 1)Hfss13 只能安装在 C 盘。 2)破解时先在控制面板里关闭 Windows defender 并且退出 360 杀毒软件。否则 Ansoft2008fix. 会被当病毒杀掉。 3)将 Ansoft2008fix. 和 hfss12fix. 和 license.lic 拷贝到 HFSS13.0 目录下。 4)以管理员身份运行 Ansoft2008fix.。 5)以管理员身份运行 hfss12fix.,连续 patch 六个 dll。 6)打开 hfss,弹出框框,无视继续。依次点击 TOOls-options-general options-webupdate options-never 2、 模型的建立 2.1 设计变量 2.2 画模型 2.3 边界条件 、 2.4 激励源 因为 hfss 算出的场强为正弦波波峰,所以输入功率有一个 1/2 的因子。 2.5 加运算器 2.6 画近场线 近场线要一一对应。 3、 数据的导出 用 Add Trace 添加曲线到同一页面, 用 Apply Trace 改变频点。 导出为 csv 格式。 将横坐标反归一化。 画出三维曲面图。 4、 用脚本画近场线 Dim oAnsoftApp Dim oDesktop Dim oProject Dim oDesign Dim oEditor Dim oModule Set oAnsoftApp = CreateObject(“AnsoftHfss.HfssScriptInterface“) Set oDesktop = oAnsoftApp.GetAppDesktop() Set oProject = oDesktop.GetActiveProject() Set oDesign = oProject.GetActiveDesign() Set oEditor = oDesign.SetActiveEditor(“3D Modeler“) 声明变量与常数. Dim zpos, Xnum, Ynum, xspan, yspan, dx, dy,pos Dim Units, index Dim y() Dim x() Units = “mm“ pos=6000 -----------------------------3 米 x 面---------------------------------------- Units = Box(“Select the units:“&Chr(13)& _ “(cm,mm,um,in,mil)“, “Nearfield“,“mm“,pos,pos) zpos = Box(“ the Z plane position:“,“Nearfield“, 3200,pos,pos) xspan = Box(“ X sampling span:“,“Nearfield“, 4000,pos,pos) yspan = Box(“ Y sampling span:“,“Nearfield“, 2100,pos,pos) Xnum = Box(“ sampling number in X direction:“,“Nearfield“, 100,pos,pos) Ynum = Box(“ sampling number in Y direction:“,“Nearfield“, 15,pos,pos) Redim y(Ynum) dx=xspan/(Xnum-1) dy=yspan/(Ynum-1) y(0)=“Position of y“ For n=1 To Ynum y(n)=-yspan/2 + (n-1)*dy 将 X 向点坐标存入数组 ZValue=cstr(zpos) & Units YValue=cstr(y(n)) & Units XValuemin=cstr(-xspan/2) & Units XValuemmax=cstr(xspan/2) & Units index=“lin3mx“ & cstr(n) oEditor.CreatePolyline Array(“NAME:PolylineParameters“, “IsPolylineCovered:=“, true, “IsPolylineClosed:=“, _ false, Array(“NAME:PolylinePoints“, Array(“NAME:PLPoint“, “X:=“, XValuemin, “Y:=“, YValue, “Z:=“, _ ZValue), Array(“NAME:PLPoint“, “X:=“, XValuemmax, “Y:=“, YValue, “Z:=“, ZValue)), _ Array(“NAME:PolylineSegments“, Array(“NAME:PLSegment“, “SegmentType:=“, _ “Line“, “StartIndex:=“, 0, “NoOfPoints:=“, 2)), Array(“NAME:PolylineXSection“, “XSectionType:=“, _ “None“, “XSectionOrient:=“, “Auto“, “XSectionWidth:=“, “0mm“, “XSectionTopWidth:=“, _ “0mm“, “XSectionHeight:=“, “0mm“, “XSectionNumSegments:=“, “0“, “XSectionBendType:=“, _ “Corner“)), Array(“NAME:Attributes“, “Name:=“, index, “Flags:=“, ““, “Color:=“, _ “(132 132 193)“, “Transparency:=“, 0, “PartCoordinateSystem:=“, “Global“, “UDMId:=“, _ ““, “MaterialValue:=“, ““ & Chr(34) & “vacuum“ & Chr(34) & ““, “SolveInside:=“, _ true) namepara=“NAME:“ & index Set oModule = oDesign.GetModule(“RadField“) oModule.InsertNearFieldLineSetup Array(namepara, “UseCustomRadiationSurface:=“, _ false, “Line:=“, index, “NumPts:=“, cstr(Xnum)) Next ------------------------------3 米 y 面--------------------------------------- Units = Box(“Selec