系列文章目录
前言
提示:这里可以添加本文要记录的大概内容:
参照利用python和HFSS来设计实现波导缝隙天线(一)已经计算完成缝隙偏移量和每个缝隙的谐振长度,接下来在HFSS中完成仿真,缝隙数量21,旁瓣抑制符合泰勒分布,旁瓣抑制25dBc,谐振频率10
一、模型搭建
求解模式modal,输入模型和激励端口,文章末尾会提供整个python运行脚本。结构图如下:
二、仿真结果
直接利用公式输入的缝隙偏移量和缝隙谐振长度,结果非常不错。3D增益图如下:
2D增益图如下:
S参数如下,结果也很不错。
三、python脚本
代码如下(示例):
# ----------------------------------------------
# Script Recorded by Ansys Electronics Desktop Version 2023.1.0
# ----------------------------------------------
import ScriptEnv
ScriptEnv.Initialize("Ansoft.ElectronicsDesktop")
oDesktop.RestoreWindow()
oProject = oDesktop.SetActiveProject("Project1")
oProject.SaveAs("D:\\waveguide_antenna\\waveguide_slot_array_python\\one_array_21_elements\\one_array_21_elements.aedt", True)
oProject.InsertDesign("HFSS", "HFSSDesign1", "HFSS Terminal Network", "")
oDesign = oProject.SetActiveDesign("HFSSDesign1")
oEditor = oDesign.SetActiveEditor("3D Modeler")
oEditor.SetModelUnits(
[
"NAME:Units Parameter",
"Units:=" , "mm",
"Rescale:=" , False,
"Max Model Extent:=" , 10000
])
oDesign.SetSolutionType("HFSS Modal Network",
[
"NAME:Options",
"EnableAutoOpen:=" , False
])
oEditor.CreateBox(
[
"NAME:BoxParameters",
"XPosition:=" , "0mm",
"YPosition:=" , "0mm",
"ZPosition:=" , "0mm",
"XSize:=" , "2mm",
"YSize:=" , "0.4mm",
"ZSize:=" , "0.4mm"
],
[
"NAME:Attributes",
"Name:=" , "Box1",
"Flags:=" , "",
"Color:=" , "(143 175 143)",
"Transparency:=" , 0,
"PartCoordinateSystem:=", "Global",
"UDMId:=" , "",
"MaterialValue:=" , "\"vacuum\"",
"SurfaceMaterialValue:=", "\"\"",
"SolveInside:=" , True,
"ShellElement:=" , False,
"ShellElementThickness:=", "0mm",
"ReferenceTemperature:=", "20cel",
"IsMaterialEditable:=" , True,
"UseMaterialAppearance:=", False,
"IsLightweight:=" , False
])
oEditor.ChangeProperty(
[
"NAME:AllTabs",
[
"NAME:Geometry3DAttributeTab",
[
"NAME:PropServers",
"Box1"
],
[
"NAME:ChangedProps",
[
"NAME:Name",
"Value:=" , "inner_box"
]
]
]
])
oDesign.ChangeProperty(
[
"NAME:AllTabs",
[
"NAME:LocalVariableTab",
[
"NAME:PropServers",
"LocalVariables"
],
[
"NAME:NewProps",
[
"NAME:a",
"PropType:=" , "VariableProp",
"UserDef:=" , True,
"Value:=" , "22.86mm"
]
]
]
])
oDesign.ChangeProperty(
[
"NAME:AllTabs",
[
"NAME:LocalVariableTab",
[
"NAME:PropServers",
"LocalVariables"
],
[
"NAME:NewProps",
[
"NAME:b",
"PropType:=" , "VariableProp",
"UserDef:=" , True,
"Value:=" , "10.16mm"
]
]
]
])
oDesign.ChangeProperty(
[
"NAME:AllTabs",
[
"NAME:LocalVariableTab",
[
"NAME:PropServers",
"LocalVariables"
],
[
"NAME:NewProps",
[
"NAME:lamda_g",
"PropType:=" , "VariableProp",
"UserDef:=" , True,
"Value:=" , "39.71mm"
]
]
]
])
oDesign.ChangeProperty(
[
"NAME:AllTabs",
[
"NAME:LocalVariableTab",
[
"NAME:PropServers",
"LocalVariables"
],
[
"NAME:NewProps",
[
"NAME:N",
"PropType:=" , "VariableProp",
"UserDef:=" , True,
"Value:=" , "21mm"
]
]
]
])
oEditor.ChangeProperty(
[
"NAME:AllTabs",
[
"NAME:Geometry3DCmdTab",
[
"NAME:PropServers",
"inner_box:CreateBox:1"
],
[
"NAME:ChangedProps",
[
"NAME:Position",
"X:=" , "0mm",
"Y:=" , "-a/2",
"Z:=" , "-b/2"
],
[
"NAME:YSize",
"Value:=" , "a"
],
[
"NAME:ZSize",
"Value:=" , "b"
],
[
"NAME:XSize",
"Value:=" , "lamda_g/2*N+lamda_g/4"
]
]
]
])
oEditor.ChangeProperty(
[
"NAME:AllTabs",
[
"NAME:Geometry3DCmdTab",
[
"NAME:PropServers",
"inner_box:CreateBox:1"
],
[
"NAME:ChangedProps",
[
"NAME:XSize",
"Value:=" , "lamda_g/2+lamda_g/4"
]
]
]
])
oDesign.ChangeProperty(
[
"NAME:AllTabs",
[
"NAME:LocalVariableTab",
[
"NAME:PropServers",
"LocalVariables"
],
[
"NAME:DeletedProps",
"N"
]
]
])
oDesign.ChangeProperty(
[
"NAME:AllTabs",
[
"NAME:LocalVariableTab",
[
"NAME:PropServers",
"LocalVariables"
],
[
"NAME:NewProps",
[
"NAME:N",
"PropType:=" , "VariableProp",
"UserDef:=" , True,
"Value:=" , "21"
]
]
]
])
oEditor.ChangeProperty(
[
"NAME:AllTabs",
[
"NAME:Geometry3DCmdTab",
[
"NAME:PropServers",
"inner_box:CreateBox:1"
],
[
"NAME:ChangedProps",
[
"NAME:XSize",
"Value:=" , "lamda_g/2*N+lamda_g/4"
]
]
]
])
oEditor.Copy(
[
"NAME:Selections",
"Selections:=" , "inner_box"
])
oEditor.Paste()
oEditor.ChangeProperty(
[
"NAME:AllTabs",
[
"NAME:Geometry3DAttributeTab",
[
"NAME:PropServers",
"inner_box1"
],
[
"NAME:ChangedProps",
[
"NAME:Name",
"Value:=" , "outer_box1"
],
[
"NAME:Material",
"Value:=" , "\"pec\""
]
]
]
])
oDesign.ChangeProperty(
[
"NAME:AllTabs",
[
"NAME:LocalVariableTab",
[
"NAME:PropServers",
"LocalVariables"
],
[
"NAME:NewProps",
[
"NAME:thick",
"PropType:=" , "VariableProp",
"UserDef:=" , True,
"Value:=" , "1mm"
]
]
]
])
oEditor.ChangeProperty(
[
"NAME:AllTabs",
[
"NAME:Geometry3DCmdTab",
[
"NAME:PropServers",
"outer_box1:CreateBox:1"
],
[
"NAME:ChangedProps",
[
"NAME:Position",
"X:=" , "0mm",
"Y:=" , "-a/2-thick",
"Z:=" , "-b/2-thick"
],
[
"NAME:XSize",
"Value:=" , "lamda_g/2*N+lamda_g/4+thick"
],
[
"NAME:YSize",
"Value:=" , "a+2*thick"
],
[
"NAME:ZSize",
"Value:=" , "b+2*thick"
]
]
]
])
oEditor.Subtract(
[
"NAME:Selections",
"Blank Parts:=" , "outer_box1",
"Tool Parts:=" , "inner_box"
],
[
"NAME:SubtractParameters",
"KeepOriginals:=" , False,
"TurnOnNBodyBoolean:=" , True
])
oEditor.CreateBox(
[
"NAME:BoxParameters",
"XPosition:=" , "20mm",
"YPosition:=" , "0mm",
"ZPosition:=" , "0mm",
"XSize:=" , "60mm",
"YSize:=" , "-20mm",
"ZSize:=" , "0mm"
],
[
"NAME:Attributes",
"Name:=" , "Box1",
"Flags:=" , "",
"Color:=" , "(143 175 143)",
"Transparency:=" , 0,
"PartCoordinateSystem:=", "Global",
"UDMId:=" , "",
"MaterialValue:=" , "\"vacuum\"",
"SurfaceMaterialValue:=", "\"\"",
"SolveInside:=" , True,
"ShellElement:=" , False,
"ShellElementThickness:=", "0mm",
"ReferenceTemperature:=", "20cel",
"IsMaterialEditable:=" , True,
"UseMaterialAppearance:=", False,
"IsLightweight:=" , False
])
oEditor.Delete(
[
"NAME:Selections",
"Selections:=" , "Box1"
])
oEditor.CreateBox(
[
"NAME:BoxParameters",
"XPosition:=" , "-20mm",
"YPosition:=" , "0mm",
"ZPosition:=" , "0mm",
"XSize:=" , "50mm",
"YSize:=" , "10mm",
"ZSize:=" , "0mm"
],
[
"NAME:Attributes",
"Name:=" , "Box1",
"Flags:=" , "",
"Color:=" , "(143 175 143)",
"Transparency:=" , 0,
"PartCoordinateSystem:=", "Global",
"UDMId:=" , "",
"MaterialValue:=" , "\"vacuum\"",
"SurfaceMaterialValue:=", "\"\"",
"SolveInside:=" , True,
"ShellElement:=" , False,
"ShellElementThickness:=", "0mm",
"ReferenceTemperature:=", "20cel",
"IsMaterialEditable:=" , True,
"UseMaterialAppearance:=", False,
"IsLightweight:=" , False
])
oEditor.ChangeProperty(
[
"NAME:AllTabs",
[
"NAME:Geometry3DCmdTab",
[
"NAME:PropServers",
"Box1:CreateBox:1"
],
[
"NAME:ChangedProps",
[
"NAME:ZSize",
"Value:=" , "10mm"
]
]
]
])
oDesign.ChangeProperty(
[
"NAME:AllTabs",
[
"NAME:LocalVariableTab",
[
"NAME:PropServers",
"LocalVariables"
],
[
"NAME:NewProps",
[
"NAME:l1",
"PropType:=" , "VariableProp",
"UserDef:=" , True,
"Value:=" , "14.2mm"
]
]
]
])
oDesign.ChangeProperty(
[
"NAME:AllTabs",
[
"NAME:LocalVariableTab",
[
"NAME:PropServers",
"LocalVariables"
],
[
"NAME:NewProps",
[
"NAME:d1",
"PropType:=" , "VariableProp",
"UserDef:=" , True,
"Value:=" , "1.02mm"
]
]
]
])
oDesign.ChangeProperty(
[
"NAME:AllTabs",
[
"NAME:LocalVariableTab",
[
"NAME:PropServers",
"LocalVariables"
],
[
"NAME:NewProps",
[
"NAME:W",
"PropType:=" , "VariableProp",
"UserDef:=" , True,
"Value:=" , "1.59mm"
]
]
]
])
oEditor.ChangeProperty(
[
"NAME:AllTabs",
[
"NAME:Geometry3DCmdTab",
[
"NAME:PropServers",
"Box1:CreateBox:1"
],
[
"NAME:ChangedProps",
[
"NAME:Position",
"X:=" , "lamda_g/2-l1",
"Y:=" , "d1-W/2",
"Z:=" , "b/2"
],
[
"NAME:ZSize",
"Value:=" , "thick"
],
[
"NAME:YSize",
"Value:=" , "W"
],
[
"NAME:XSize",
"Value:=&#