1、HFSS的近场仿真教学内容HFSS的近场仿真1、 软件安装和破解1)Hfss13只能安装在C盘。2)破解时先在控制面板里关闭Windows defender并且退出360杀毒软件。否则Ansoft2008fix.exe会被当病毒杀掉。3)将Ansoft2008fix.exe和hfss12fix.exe和license.lic拷贝到HFSS13.0目录下。4)以管理员身份运行Ansoft2008fix.exe。5)以管理员身份运行hfss12fix.exe,连续patch六个dll。6)打开hfss,弹出框框,无视继续。依次点击TOOls-options-general options-webu
2、pdate 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 oAnsoftAppDim oDesktopDim oProjectDim oDesignDim oEditorDim oModuleSet oAnsoftApp = CreateObject(A
3、nsoftHfss.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,posDim Units, indexDim y()Dim x()Units = mmpos
4、=6000-3米x面-Units = InputBox(Select the units:&Chr(13)& _ (cm,mm,um,in,mil), Nearfield,mm,pos,pos) zpos = InputBox(Input the Z plane position:,Nearfield, 3200,pos,pos) xspan = InputBox(Input X sampling span:,Nearfield, 4000,pos,pos) yspan = InputBox(Input Y sampling span:,Nearfield, 2100,pos,pos) Xnu
5、m = InputBox(Input sampling number in X direction:,Nearfield, 100,pos,pos) Ynum = InputBox(Input sampling number in Y direction:,Nearfield, 15,pos,pos)Redim y(Ynum)dx=xspan/(Xnum-1)dy=yspan/(Ynum-1)y(0)=Position of yFor n=1 To Ynum y(n)=-yspan/2 + (n-1)*dy将X向点坐标存入数组 ZValue=cstr(zpos) & Units YValue=
6、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:=, _ Z
7、Value), 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:=
8、, _ 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)
9、 namepara=NAME: & index Set oModule = oDesign.GetModule(RadField)oModule.InsertNearFieldLineSetup Array(namepara, UseCustomRadiationSurface:=, _ false, Line:=, index, NumPts:=, cstr(Xnum) Next-3米y面-Units = InputBox(Select the units:&Chr(13)& _ (cm,mm,um,in,mil), Nearfield,mm,pos,pos) zpos = InputBox
10、(Input the Z plane position:,Nearfield, 3200,pos,pos) xspan = InputBox(Input X sampling span:,Nearfield, 2100,pos,pos) yspan = InputBox(Input Y sampling span:,Nearfield, 4000,pos,pos) Xnum = InputBox(Input sampling number in X direction:,Nearfield, 15,pos,pos) Ynum = InputBox(Input sampling number i
11、n Y direction:,Nearfield, 100,pos,pos)Redim x(Xnum)dx=xspan/(Xnum-1)dy=yspan/(Ynum-1)x(0)=Position of xFor n=1 To Xnum x(n)=-xspan/2 + (n-1)*dx将X向点坐标存入数组 ZValue=cstr(zpos) & Units XValue=cstr(x(n) & Units YValuemin=cstr(-yspan/2) & Units YValuemmax=cstr(yspan/2) & Units index=lin3my & cstr(n)oEditor
12、.CreatePolyline Array(NAME:PolylineParameters, IsPolylineCovered:=, true, IsPolylineClosed:=, _ false, Array(NAME:PolylinePoints, Array(NAME:PLPoint, Y:=, YValuemin, X:=, XValue, Z:=, _ ZValue), Array(NAME:PLPoint, Y:=, YValuemmax, X:=, XValue, Z:=, ZValue), _ Array(NAME:PolylineSegments, Array(NAME
13、:PLSegment, SegmentType:=, _ Line, StartIndex:=, 0, NoOfPoints:=, 2), Array(NAME:PolylineYSection, YSectionType:=, _ None, YSectionOrient:=, Auto, YSectionWidth:=, 0mm, YSectionTopWidth:=, _ 0mm, YSectionHeight:=, 0mm, YSectionNumSegments:=, 0, YSectionBendType:=, _ Corner), Array(NAME:Attributes, N
14、ame:=, 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,
15、 UseCustomRadiationSurface:=, _ false, Line:=, index, NumPts:=, cstr(Ynum) Next5、 用脚本导出近场数据Dim oAnsoftAppDim oDesktopDim oProjectDim oDesignDim oEditorDim oModuleSet oAnsoftApp = CreateObject(AnsoftHfss.HfssScriptInterface)Set oDesktop = oAnsoftApp.GetAppDesktop()oDesktop.RestoreWindowSet oProject =
16、 oDesktop.SetActiveProject(Project6)Set oDesign = oProject.SetActiveDesign(HFSSDesign1)Set oModule = oDesign.GetModule(ReportSetup)-3mx-0.8G-oModule.CreateReport XY Plot 27, Near Fields, Rectangular Plot, _ Setup1 : Sweep, Array(Context:=, lin3mx1), Array(NormalizedDistance:=, Array( _ All), Array(N
17、AME:VariableValues, Freq:=, 0.8GHz), Array(X Component:=, _ NormalizedDistance, Y Component:=, Array(NearETotal), Array()oModule.AddTraces XY Plot 27, Setup1 : Sweep, Array(Context:=, lin3mx2), Array(NormalizedDistance:=, Array( _ All), Array(NAME:VariableValues, Freq:=, 0.8GHz), Array(X Component:=
18、, _ NormalizedDistance, Y Component:=, Array(NearETotal), Array()oModule.AddTraces XY Plot 27, Setup1 : Sweep, Array(Context:=, lin3mx3), Array(NormalizedDistance:=, Array( _ All), Array(NAME:VariableValues, Freq:=, 0.8GHz), Array(X Component:=, _ NormalizedDistance, Y Component:=, Array(NearETotal)
19、, Array()oModule.AddTraces XY Plot 27, Setup1 : Sweep, Array(Context:=, lin3mx4), Array(NormalizedDistance:=, Array( _ All), Array(NAME:VariableValues, Freq:=, 0.8GHz), Array(X Component:=, _ NormalizedDistance, Y Component:=, Array(NearETotal), Array()oModule.AddTraces XY Plot 27, Setup1 : Sweep, A
20、rray(Context:=, lin3mx5), Array(NormalizedDistance:=, Array( _ All), Array(NAME:VariableValues, Freq:=, 0.8GHz), Array(X Component:=, _ NormalizedDistance, Y Component:=, Array(NearETotal), Array()oModule.AddTraces XY Plot 27, Setup1 : Sweep, Array(Context:=, lin3mx6), Array(NormalizedDistance:=, Ar
21、ray( _ All), Array(NAME:VariableValues, Freq:=, 0.8GHz), Array(X Component:=, _ NormalizedDistance, Y Component:=, Array(NearETotal), Array()oModule.AddTraces XY Plot 27, Setup1 : Sweep, Array(Context:=, lin3mx7), Array(NormalizedDistance:=, Array( _ All), Array(NAME:VariableValues, Freq:=, 0.8GHz),
22、 Array(X Component:=, _ NormalizedDistance, Y Component:=, Array(NearETotal), Array()oModule.AddTraces XY Plot 27, Setup1 : Sweep, Array(Context:=, lin3mx8), Array(NormalizedDistance:=, Array( _ All), Array(NAME:VariableValues, Freq:=, 0.8GHz), Array(X Component:=, _ NormalizedDistance, Y Component:
23、=, Array(NearETotal), Array()oModule.AddTraces XY Plot 27, Setup1 : Sweep, Array(Context:=, lin3mx9), Array(NormalizedDistance:=, Array( _ All), Array(NAME:VariableValues, Freq:=, 0.8GHz), Array(X Component:=, _ NormalizedDistance, Y Component:=, Array(NearETotal), Array()oModule.AddTraces XY Plot 2
24、7, Setup1 : Sweep, Array(Context:=, lin3mx10), Array(NormalizedDistance:=, Array( _ All), Array(NAME:VariableValues, Freq:=, 0.8GHz), Array(X Component:=, _ NormalizedDistance, Y Component:=, Array(NearETotal), Array()oModule.AddTraces XY Plot 27, Setup1 : Sweep, Array(Context:=, lin3mx11), Array(No
25、rmalizedDistance:=, Array( _ All), Array(NAME:VariableValues, Freq:=, 0.8GHz), Array(X Component:=, _ NormalizedDistance, Y Component:=, Array(NearETotal), Array()oModule.AddTraces XY Plot 27, Setup1 : Sweep, Array(Context:=, lin3mx12), Array(NormalizedDistance:=, Array( _ All), Array(NAME:VariableV
26、alues, Freq:=, 0.8GHz), Array(X Component:=, _ NormalizedDistance, Y Component:=, Array(NearETotal), Array()oModule.AddTraces XY Plot 27, Setup1 : Sweep, Array(Context:=, lin3mx13), Array(NormalizedDistance:=, Array( _ All), Array(NAME:VariableValues, Freq:=, 0.8GHz), Array(X Component:=, _ Normaliz
27、edDistance, Y Component:=, Array(NearETotal), Array()oModule.AddTraces XY Plot 27, Setup1 : Sweep, Array(Context:=, lin3mx14), Array(NormalizedDistance:=, Array( _ All), Array(NAME:VariableValues, Freq:=, 0.8GHz), Array(X Component:=, _ NormalizedDistance, Y Component:=, Array(NearETotal), Array()oM
28、odule.AddTraces XY Plot 27, Setup1 : Sweep, Array(Context:=, lin3mx15), Array(NormalizedDistance:=, Array( _ All), Array(NAME:VariableValues, Freq:=, 0.8GHz), Array(X Component:=, _ NormalizedDistance, Y Component:=, Array(NearETotal), Array()oModule.ExportToFile XY Plot 27, C:/Users/xiaoen/Documents/3mx-0.8G.csvoModule.DeleteReports Array(XY Plot 27)-3my-0.8G-
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1