首页 理论教育FEKO仿真原理及应用

FEKO仿真原理及应用

【摘要】:定义参量在CADFEKO中左侧的树形浏览器中展开“Definitions”→“Variables”结点,双击“Variables”结点,在弹出的“Create variable”对话框中定义变量angle,初始值设为0。对话框中的“Yes”按钮,在EDITFEKO编辑器中进行如下操作。把如下脚本复制到IN函数的下边。修改后的EDITFEKO脚本如图6-67所示。图6-67 EDITFEKO脚本在EDITFEKO中,保存做过的修改,退出EDITFEKO。显示结果在CADFEKO的“Solve/Run”菜单中,单击“POSTFEKO”按钮,启动后处理模块POSTFEKO。

参考6.2节中的天线罩示例,在CADFEKO中把“antarray_with_Radome.cfx”另存为“antarray_with_Radome_BSE.cfx”,我们将采用OptFEKO中的GridSearch来进行扫参,自变量为天线罩的旋转角度。

(1)定义参量

在CADFEKO中左侧的树形浏览器中展开“Definitions”→“Variables”结点,双击“Variables”结点,在弹出的“Create variable”对话框中定义变量angle,初始值设为0。

(2)释放网格,锁定几何模型

在CADFEKO中左侧的树形浏览器中展开“Model”→“Geometry”结点,选中“radome”模型,单击鼠标右键,选择“Unlink mesh”选项,即从几何模型中释放网格,名称为“radome_1”。

选中“radome”模型,单击鼠标右键,选择“Include/Exclude”选项,即锁住该模型,将不再参与计算,如图6-61所示。

注意,从几何模型中释放出网格的目的是在进行天线罩旋转计算时,只做模型的旋转,而无须进行网格的重新生成,这样会节约天线罩网格划分的时间,尤其是对于复杂的天线罩模型。

978-7-111-56144-6-Chapter06-67.jpg

图6-61 仿真网格释放与几何模型的锁定

(3)网格模型的旋转设置

选中释放后的“radome_1”仿真模型,单击鼠标右键,选择“Transform”→“Rotate”选项,弹出“Rotate”对话框,进行如下设置。

Axis direction:(U:0.0,V:1.0,N:0.0)。

Rotation Angle[degree]:angle。

单击“OK”按钮,如图6-62所示。

978-7-111-56144-6-Chapter06-68.jpg

图6-62 设置模型的旋转(绕y轴旋转angle)

(4)激活求解设置并修改

进入“Solve/Run”菜单,单击“Enable Solution”按钮激活CADFEKO中的求解设置。

在左侧的树形浏览器中,选择“Configuration”选项卡,展开“configuration Specific”中的“Requests”→“Far fields”,选中“ff3D”删除,双击“ffXOZ”弹出“Modify far fields”对话框,进行如下设置。

Start:(θ:-1,ϕ:0.0);End:(θ:1,ϕ:0.0)。

Increment:(θ:0.001,ϕ:0.0)。

Label:ffXOZ。

单击“OK”按钮,如图6-63所示。这里的Theta取值区间和步长,完全是考虑瞄准误差的值比较小,以保证BSE计算的扫描角精度但又不需要太多的数据遍历,后续脚本的处理是假设天线主瓣指向为z轴、天线罩绕y轴旋转,所以这里是在XOZ极化面上采样数据。

(5)设置扫参和目标函数

进入“Request”菜单,单击“Add search”按钮,弹出“Add optimisation search”对话框,进行如下设置。

978-7-111-56144-6-Chapter06-69.jpg

图6-63 修改远场求解设置

Method type:Grid search。

单击“Create”按钮,如图6-64所示。

978-7-111-56144-6-Chapter06-70.jpg

图6-64 设置优化方法

在左侧的树形浏览器的“Construct”选项卡中,展开“optimisation”→“Search1[Grid search]”,双击“Parameters”结点,弹出“Optimisation parameters”对话框,进行如下设置。

Variable:angle。

Min value:-30。

Max value:30。

Start value:-30。

Grid point:61,如图6-65所示。

978-7-111-56144-6-Chapter06-71.jpg

图6-65 设置扫描参数

在左侧的树形浏览器的“Construct”选项卡中,展开“optimisation”→“Search1[Grid search]”,选中“Goals”结点,单击鼠标右键,选择“Far field goal”选项,弹出“Modify far field goal”对话框,进行如下设置。

Focus source label:ffXOZ。

Focus type:Gain。

Operation:Absolute value。

Operation type:Less than。

Value:0。

单击“OK”按钮,如图6-66所示。

978-7-111-56144-6-Chapter06-72.jpg(www.chuimin.cn)

图6-66 设置优化目标

(6)重新编辑.pre脚本

在CADFEKO的“Solve/Run”菜单中,单击“EDITFEKO”按钮,单击“Disable CADFEKO solution configuration?”对话框中的“Yes”按钮,在EDITFEKO编辑器中进行如下操作。

把如下脚本(或从附带的脚本文件arrayGeneration.txt中复制)复制到IN函数的下边(注意,TG命令行的dipole.wire1要和CADFEKO中的一致)。

978-7-111-56144-6-Chapter06-73.jpg

把光标定位在“Sources”的下边,把A1一行注释掉,即在A1前边添加“**”。把如下脚本复制到A1一行的下边(或从附带的脚本文件arraySource.txt中复制)。

978-7-111-56144-6-Chapter06-74.jpg

修改后的EDITFEKO脚本如图6-67所示。

978-7-111-56144-6-Chapter06-75.jpg

图6-67 EDITFEKO脚本

在EDITFEKO中,保存做过的修改,退出EDITFEKO。把“…/chapter06/app3/Include/”中的“arrayLayOut.inc”复制到当前工程文件所在的路径下。

(7)提交OptFEKO计算

在CADFEKO的“Solve/Run”菜单中,单击“OptFEKO”按钮(或按〈Alt+6〉快捷键),提交优化计算,如图6-68所示。

978-7-111-56144-6-Chapter06-76.jpg

图6-68 启动优化计算

计算完成后,在工作目录下可以看到有61个中间工程文件,如antarray_with_Radome_BSE_opt_1,antarray_with_Radome_BSE_opt_2,……,antarray_with_Radome_BSE_opt_61。

(8)显示结果

在CADFEKO的“Solve/Run”菜单中,单击“POSTFEKO”按钮(或按〈Alt+3〉快捷键),启动后处理模块POSTFEKO。

这里要用到LUA脚本(链接资源位于“…/chapter06/app3/Include/”中的“Radome_BSE_Start_From_Log_File_alt.lua”)来分别读取各个旋转角度下的远场数据,并处理得到最大增益对应的角度,从而得到瞄准误差曲线。

部分Radome_BSE_Start_From_Log_File_alt.lua脚本如图6-69所示。

978-7-111-56144-6-Chapter06-77.jpg

图6-69 资源脚本1

上述LUA脚本的主要功能是创建一个Form窗体,选择要处理的工程文件的优化日志文件,如该例中的“antarray_with_Radome_BSE.log”。执行完这一部分代码后,会返回文件的路径和文件的名称,接下来要执行如图6-70所示的Lua脚本。

978-7-111-56144-6-Chapter06-78.jpg

图6-70 资源脚本2

上述LUA脚本的主要功能是遍历文件“antarray_with_Radome_BSE.log”,返回扫描角度angle参数取值的名称、最小值、最大值、步长以及扫描角取值个数,并存储在ta数组表中,脚本如图6-71所示。

978-7-111-56144-6-Chapter06-79.jpg

图6-71 资源脚本3

上述LUA脚本要实现的功能是从ta数组中提取扫描参数angle的信息并赋给相应的变量,同时生成一个新的POSTFEKO应用,定义一个数据集“custom”,其自变量为扫描参数,包含最小取值、最大取值以及个数等,并为其定义一个物理量“Radome_BSE”,单位为“deg”,脚本如图6-72所示。

978-7-111-56144-6-Chapter06-80.jpg

图6-72 资源脚本4

上述LUA脚本要实现的功能是遍历所有扫描角对应计算结果文件“*_opt_?.bof”的远场数值,通过循环,得到最大增益所对应的Theta值,并返回该值。

(9)调用并运行脚本

在POSTFEKO的“Home”菜单中,单击“Script editor”按钮,弹出“Script editor”界面,单击左上角“New”下拉菜单右侧的“Open Script”按钮“978-7-111-56144-6-Chapter06-81.jpg”,如图6-73所示,选择读入“Radome_BSE_Start_From_Log_File_alt.lua”。

978-7-111-56144-6-Chapter06-82.jpg

图6-73 启动Script editor

在“Radome_BSE_Start_From_Log_File_alt.lua”中的脚本如图6-74所示。

978-7-111-56144-6-Chapter06-83.jpg

图6-74 脚本编辑器界面

在“Script editor”中,单击“脚本调试工具”中的“Run script”按钮“978-7-111-56144-6-Chapter06-84.jpg”,运行该脚本,得到其瞄准误差数据列表如图6-75左所示。

978-7-111-56144-6-Chapter06-85.jpg

图6-75 天线罩的瞄准误差列表(左)与曲线(右)

在POSTFEKO中,单击“Home”菜单中的“Cartesian”按钮,生成一个直角坐标“Cartesian Graph”,单击“Imports+Scripts”按钮“978-7-111-56144-6-Chapter06-86.jpg”,选择“antarray_with_Radome_BSE”,如图6-76所示,得到的瞄准误差曲线如图6-75右所示。

978-7-111-56144-6-Chapter06-87.jpg

图6-76 读入瞄准误差曲线