首页 理论教育Feko仿真原理与工程应用,版本的EDIT脚本控制实现

Feko仿真原理与工程应用,版本的EDIT脚本控制实现

【摘要】:天线单元的复制和激励的添加均在EDITFEKO中完成,下面介绍具体步骤。启动CADFEKO,新建一个工程“dipole_array.cfx”。由于阵列的单元尺寸是相同的,因此可以在EDITFEKO中通过循环来快速生成阵列,并完成对端口激励信号的快速定义。对话框,如图5-260所示,单击“Yes”按钮即可进入EDITFEKO界面。图5-260 选择是否锁定CADFEKO的求解设置每一个工程文件都会对应一个脚本文件,

下面先进行模型描述,示意图如图5-251所示。

工作频率:freq=1GHz。

天线:采用51源偶极子组成的偶极子阵列(垂直极化放置)。

天线振子长度:0.45×lam,沿X方向平行排列。

978-7-111-56144-6-Chapter05-256.jpg

图5-251 阵列的模型示意图

天线阵列单元排布规律参见文本格式文件“../chapter05/app5/5.9/started/arrayLayout.inc”,如图5-252所示。

978-7-111-56144-6-Chapter05-257.jpg

图5-252 天线阵列各单元的位置(X坐标、Y坐标、Z坐标),第1行是注释

天线阵列单元的激励幅度和相位参见文本格式文件“../chapter05/app5/5.9/started/Mag_phase.inc”,如图5-253所示。

978-7-111-56144-6-Chapter05-258.jpg

图5-253 天线阵列各单元的幅度和相位(幅度、相位组合1、相位组合2…), 第1行描述的是主瓣指向角度,它与第2行均为注释行

上述两个文件中单元的幅度和相位排布要和坐标位置排列对应,如单元位置文件的第2行描述的是端口1,在单元激励幅度与相位文件的第2行对应的就是端口1对应的激励和相位。

该例子中,天线阵列单元排布规律文件的坐标值是以m为单位给定的,所以在CADFEKO中建模时,也以m为单位。

天线单元的复制和激励的添加均在EDITFEKO中完成,下面介绍具体步骤。

启动CADFEKO,新建一个工程“dipole_array.cfx”。

(1)定义变量

在左侧的树形浏览器中,双击“Variables”结点,依次定义如下变量。

工作频率:freq=1e9。

工作波长:lam=c0/freq。

(2)建立天线模型

在“Construct”菜单中,单击“Line”按钮,弹出“Create line”对话框,如图5-254所示。定义线段的起始点坐标:Start Point(U:0.0,V:0,N:-lam*0.225);End point(U:0.0,V:0.0,N:lam*0.225);Label:dipole;单击“Create”按钮。

(3)天线端口设置

978-7-111-56144-6-Chapter05-259.jpg

图5-254 天线单元模型的建立

在左侧的树形浏览器中,展开“Model”→“Geometry”结点,选中新建的模型“dipole”,在左下角的“Details”中展开“Wires”结点,选择“Wire1”(在EDITFEKO中进行模型的复制平移-TG的时候要应用该名称,保证CadFEKO与EditFEKO的一致性),单击鼠标右键,选择“Create port”→“Wire port”选项,在弹出的“Create wire port(geometry)”对话框中,将“Location on wire”设置为“Middle”,在“Label”文本框中输入“Port1”(该端口的编号也与EDITFEKO中应用端口复制平移TG命令用到的编号对应),单击“Create”按钮,如图5-255所示。

978-7-111-56144-6-Chapter05-260.jpg

图5-255 端口的定义

(4)电参数与求解设置

在左侧的树形浏览器中,由“Construct”切换到“Configuration”,进行如下设置。

工作频率设置,展开“Global”结点,双击“Frequency”,弹出“Solution frequency”对话框,进行如下设置。

选中:Single frequency。

Frequency(Hz):freq。

单击“OK”按钮。

(5)激励设置

在“Global”结点中,选中“Sources”并单击鼠标右键,选择“Voltage Source”选项,弹出“Add voltage source”对话框,采用默认设置,单击“Create”按钮,如图5-256所示。

978-7-111-56144-6-Chapter05-261.jpg

图5-256 设置电压源激励

(6)辐射远场设置

在“Configuration specific”结点中,选中“Requests”并单击鼠标右键,选择“Far fields”选项,弹出“Request far fields”对话框,进行如下设置。

单击“3D pattern”按钮,修正步长“Increment”中Theta的值为1、Phi的值为1,在“Label”文本框中输入“ff3D”,单击“Add”按钮,如图5-257所示,继续设置。

单击“Horizontal cut(UV plane)”按钮,设置如下。

Start:(θ:90;ϕ:0)。

End:(θ:90;ϕ:180)。

修正步长“Increment”:Theta的值为0、Phi的值为0.5。

Label:ffXOY。

单击“Create”按钮,如图5-258所示。

978-7-111-56144-6-Chapter05-262.jpg

图5-257 设置3D远场

978-7-111-56144-6-Chapter05-263.jpg

图5-258 设置XOY面的远场

(7)求解方法设置

采用默认的矩量法,不需要进行设置。

(8)网格划分

单击“Mesh”菜单中的“Create Mesh”按钮,弹出“Create mesh”对话框,设置如下。

网格剖分方法“Mesh size”:Custom。

线段剖分单元长度“Wire segment length”:lam/15。

线段剖分单元半径:“Wire segment radius”:lam/80。(www.chuimin.cn)

单击“Mesh”按钮生成网格,如图5-259所示。

978-7-111-56144-6-Chapter05-264.jpg

图5-259 网格划分设置

(9)阵列的生成

由于阵列的单元(51个)比较多,因此在CADFEKO中为每个单元设定端口和激励效率相对比较低。由于阵列的单元尺寸是相同的,因此可以在EDITFEKO中通过循环来快速生成阵列,并完成对端口激励信号的快速定义。为了保持CADFEKO与EDITFEKO设置的一致性(只满足CADFEKO→EDITFEKO的单向性,EDITFEKO的设置无法返回到CADFEKO),在进入EDITFEKO界面时,可以锁定CADFEKO中的求解设置,操作如下:

在CADFEKO中,先保存工程文件,单击“Solve/Run”菜单中的“EDITFEKO”按钮,启动EDITFEKO,弹出“Disable CADFEKO solution configuration?”对话框,如图5-260所示,单击“Yes”按钮即可进入EDITFEKO界面。

978-7-111-56144-6-Chapter05-265.jpg

图5-260 选择是否锁定CADFEKO的求解设置

每一个工程文件都会对应一个脚本文件(扩展名为.pre),该工程自动生成的脚本如图5-261所示,可以发现在该脚本中包含了计算方法、材料设置、求解设置、激励、计算远场等全面信息。接下来需要在IN函数下边写循环生成天线阵列,采用的TG函数可用来复制、平移或旋转天线单元,在Sources部分写循环来对端口进行信号加载(如幅度和相位)。

978-7-111-56144-6-Chapter05-266.jpg

图5-261 EDITFEKO自动生成的命令行

EDITFEKO修改1:把如下脚本(或从附带的脚本文件…/chapter05/app5/5.9/started/array Generation.txt中复制)复制到IN函数的下边。

**Generate the array

!!for#i=1 to 50

#x=fileread("arrayLayOut.inc",#i+1,1)

#y=fileread("arrayLayOut.inc",#i+1,2)

#z=fileread("arrayLayOut.inc",#i+1,3)

TG:1:dipole.wire1:dipole.wire1:#i:2::::#x:#y:#z

TG:1:dipole.wire1.port1:dipole.wire1.port1:#i:2::::#x:#y:#z

!!next

复制后,EDITFEKO中的脚本如图5-262所示。

978-7-111-56144-6-Chapter05-267.jpg

图5-262 添加完天线阵列复制代码之后的EDITFEKO显示

说明:函数fileread()实现从某文件中(如“arrayLayOut.inc”)读取某行、某列的数值,“#x=fileread("arrayLayOut.inc",#i+1,1)”是从文件“arrayLayout.inc”中读取第i+1行、1列的数据赋给x变量。

最后,在EDITFEKO中保存修改即可。

EDITFEKO修改2:把光标定在“Sources”下边,把A1一行注释掉,即在A1前边添加“**”(或把光标定在A1这一行,按〈Alt+C〉快捷键来完成注释,〈Alt+T〉快捷键是取消注释)。把光标定在FR命令行的下边,同时选中NC命令行和DA命令行,按〈Alt+C〉快捷键,把这两行也注释掉,如图5-263所示。

978-7-111-56144-6-Chapter05-268.jpg

图5-263 注释部分代码之后的EDITFEKO显示

把如下脚本复制到FR命令行的下边(或从附带的脚本文件…/chapter05/app5/5.9/started/ arraySource.txt中复制)。

978-7-111-56144-6-Chapter05-269.jpg

修改后的EDITFEKO脚本如图5-264所示。

978-7-111-56144-6-Chapter05-270.jpg

图5-264 添加循环实现信号的加载

EDITFEKO修改3:把光标定在EDITFEKO的最后一行EN命令的上边(包括注释行“**End of file”),添加一行命令“!!next”,该命令是为了和图5-264中的第1组“!!for”循环对应,修改后的EDITFEKO如图5-265所示。

978-7-111-56144-6-Chapter05-271.jpg

图5-265 添加“for”循环终止行的代码“Next”

最后,在EDITFEKO中保存修改即可。

(10)预处理并提交计算

单击“Solve/Run”菜单中的“PREFEKO”按钮,检查有无错误,无误之后,可以单击“Solve/Run”菜单中的“FEKO Solver”按钮来提交计算(也可以关闭EDITFEKO,在CADFEKO中提交计算,效果是一样的),在这里采用在EDITFEKO中提交计算。

(11)后处理显示结果

计算完成后,单击“Solve/Run”菜单中的“POSTFEKO”按钮,启动后处理模块POSTFEKO显示结果。如图5-266所示,在POSTFEKO中列出了6种“Configuration”,每个Configuration对应一种相位组合。

978-7-111-56144-6-Chapter05-272.jpg

图5-266 6种不同的相位组合

(12)显示3D结果

在POSTFEKO中,启动之后默认显示是3D视图方式,单击“Far Field”按钮选择“ff3D”显示3D辐射方向图,在右侧面板中,勾选“dB”复选框

进入“Result”菜单,单击“Grid”按钮,在3D结果中不显示网格,如图5-267所示。

978-7-111-56144-6-Chapter05-273.jpg

图5-267 显示3D计算结果(主瓣指向y轴时)

在右侧控制面板最上方的“dipole_array1_source”区域,查看主瓣指向偏离y方向的方向图,如图5-268所示,选择“Configuration5”。

978-7-111-56144-6-Chapter05-274.jpg

图5-268 主瓣偏离y轴一定角度(60°)时的3D方向图

(13)显示2D结果

单击“Home”菜单中的“Cartesian”,进入直角坐标系“Cartesian graphic1”,在左侧的“Model Browser”区域内,依次选择“StandardConfiguration1”“Configuration1”“Configuration2”“Configuration3”“Configuration4”“Configuration5”“Configuration6”中位于“Request”下的“ff_XOY”,用鼠标拖动到中间的直角坐标系中,在右侧面板中进行如下设置。

在右上方的“Traces”区域内,同时,选中所导入的曲线“ffXOY_?”。勾选“dB”复选框。进入“Measure”菜单,选择“Point”中的“Global maximum”。2D增益方向图如图5-269所示。

978-7-111-56144-6-Chapter05-275.jpg

图5-269 2D增益方向图

在“Home”菜单中,单击“Save”按钮保存为“dipole_array.pfs”,退出POSTFEKO。