Cmrflow 软件包含用于求解飞行器气动力的sglflow 模块和用于模拟多体分离的Cmrflow 模块, 且提供了各功能模块在不同环境下的运行版本, 主要包括Windows 系列操作系统和Linux 操作系统的RedHat 系列。 Cmrflow 软件的运行环境及相应模块如表3 -1 所示。
表3-1 Cmrflow 软件的运行环境及相应模块
下面主要介绍各子模块控制文件和输出文件的详细说明。 sglflow 模块以m6 机翼为例, Cmrflow 模块以missile 文件名为例。
3.2.2.1 sglflow 模块介绍
sglflow 模块主要用于求解飞行器气动力, 其计算流程如图3 -1 所示。
1.控制文件
输入的控制文件, 对于软件来说是不可缺少的。 控制文件主要用于输出文件命名、 计算格式选择、 限制器选择等; 不同的计算外形和条件需要不同的输入控制文件; 一份合适的输入文件对更加精确地模拟流场起着重要作用。
(1) 前处理控制文件: sglflow_pre.par。 控制文件sglflow_pre.par 将ICEM CFD 生成的网格转化为sglflow 软件解算器需要的数据格式。
图3-1 sglflow 模块计算流程
(2) 求解控制文件: sglflow_slv.par 和geometry.par。 控制文件sglflow_slv.par主要用于输入计算条件、 选择计算使用的格式等。 控制文件geometry.par 主要用于输入网格的几何信息。
(3) 后处理控制文件: sglflow_post.par。 控制文件sglflow_post.par 主要指定需要输入的后处理显示文件名称及其所在目录, 并生成field_view 格式的流场显示文件名称及所在目录。
2.程序运行
用记事本方式打开控制文件∗.par, 根据需要修改有关参数设置并保存。前、 后处理直接运行sglflow_pre_sel.exe 和sglflow_post_sel.exe 即可。
软件提供的解算器有串行方式和并行方式两种。 在串行方式下, 直接运行sglflow_slv_sel.exe 即可。 并行方式必须在本机安装有并行计算编译环境的前提下才能运行, 其启动方式是在命令行模式下输入“mpiexec-n 8 sglflow_slv_mpi.exe”, 其中, 8 是计算所指定的CPU 个数, 可以根据需要来自己确定。
3.输出文件
1) sglflow_sel 的输出文件列表及输出文件的详细描述
sglflow_sel 的输出文件列表如表3 -2 所示。
表3-2 sglflow_sel 的输出文件列表
(1) m6.mesh。 该文件是转化后的流场解算器网格输入文件, 为二进制文件。
(2) solsurf_num_m6.dat。 该文件用于记录物面各部分的编号, 便于对各物面气动力积分, 其标记方式如图3 -2 所示。
图3-2 solsurf_num_m6.dat 文件的标记方式
说明: m6 机翼上表面的编号为201, 下表面的编号为202。
(3) uforce.dat。 该文件用于记录轴向力系数cfx、 侧向力系数cfy、 法向力系数cfz、 滚转力矩系数cmgx、 俯仰力矩系数cmgy、 偏航力矩系数cmgz 的变化过程, 每5 步记录一次, 用于判断流场是否达到定常, 结果是否收敛,其数据格式如图3 -3 所示。
图3-3 uforce.dat 文件数据格式
其中, 第1 列为计算步数, 后面的列数相应为轴向力系数cfx、 侧向力系数cfy、 法向力系数cfz、 滚转力矩系数cmgx、 俯仰力矩系数cmgy、 偏航力矩系数cmgz, 最后一列为压心系数(压心位置坐标)。
(4) uresidual.dat。 该文件用于记录残差下降过程, 以及每5 步的密度最大变化值dro、 能量最大变化值de, 其数据格式如图3 -4 所示。
图3-4 uresidual.dat 文件数据格式
其中, 第1 列为计算步数, 第2 列为残差下降过程, 第3 列为dro 变化过程, 第4 列为de 变化过程。 对残差的定义: 先对每步5 个守恒量的变化值求平方和, 再对所有单元求平均值。
(5) tem.flw。 该文件为后处理的输入文件, 它包含每个单元体心的守恒量值和每个节点的原始变量值。
(6) tem.grdfv。 该文件为后处理的输出文件, 可作为网格文件, 输入“FIELD_VIEW” 即可显示网格。
(7) tem.flwfv。 该文件为后处理的输出文件, 与对应的网格文件输入“FIELD_VIEW” 即可显示流场。
2) sglflow_mpi 的输出文件列表及输出文件的详细描述
并行的执行程序sglflow_slv10_mpi 产生的与串行不同的输出文件如表3 -3所示。
表3-3 sglflow_slv10_mpi 输出文件列表
(1) split_info.dat。 该文件为并行后处理的输入文件。
(2) flow_domain_01.flw ~flow_domain_cpus.flw。 该系列文件为流场文件,用于后处理和断点续算。
(3) domain_01.mesh ~domain_cpus.mesh。 该系列文件为网格文件, 为每一并行的CPU 所计算的网格。
3.2.2.2 Cmrflow 模块介绍
Cmrflow 模块主要用于模拟多体分离, 其计算流程如图3 -5 所示。
图3-5 Cmrflow 模块计算流程
1.控制文件
Cmrflow 软件输入的控制文件与sglflow 的输入控制文件基本相同, 就是多了解算器控制文件6DOF.par 和后处理控制文件geometry.par。(www.xing528.com)
(1) 前处理控制文件: cmrflow_pre.par。 其功能与sglflow 中前处理的功能相同, 只是生成NGRD 个网格文件。
(2) 求解控制文件: cmrflow_slv.par、 geometry.par 和6DOF.par。 控制文件cmrflow_slv.par 的功能与sglflow 中sglflow_slv.par 的功能相同, 因为不同的物体具有不同的几何信息, 在geometry.par 控制文件中的geom 个数需与NGRD 对应。 控制文件6DOF.par 是计算多个物体分离的控制文件, 该控制文件中INITL 的个数与NGRD 对应。
(3) 后处理控制文件: cmrflow_post.par。 其功能与sglflow 中后处理的功能相同。 后处理控制文件geometry.par 与解算器的该文件相同。
2.程序运行
程序的运行方法与sglflow 相同。
3.输出文件
1) cmrflow_sel 的输出文件列表及输出文件的详细描述
cmrflow_sel 的输出文件列表如表3 -4 所示。
表3-4 cmrflow_sel 的输出文件列表
续表
说明:
在上面得到的文件中, 如missile_01.mesh、 missile_02.mesh, 01、 02 代表重叠网格的网格序号; 在uresidual_01_step_0001.dat、 uresidual_02_step_0001.dat等文件中, 0001 代表的是第一个计算时间步, 总的计算时间步为nstep_out。计算弹道时, 没有6Dof_recd_forc01.dat、 6Dof_recd_forc02.dat、 missile_01_dist.dat、missile_step_0001.dat、 missile_step_0001.mrk 文件。 由于计算弹道时采用的是同一套网格, 所以生成的文件都只有01 文件, 而没有02 文件。
(1) missile_01.mesh, missile_02.mesh。 这两个文件为转化后的流场解算器网格输入网格文件。
(2) solsurf_num_missile.dat。 该文件用于记录物面各部分的编号, 便于对各物面气动力积分。 典型的例子如图3 -6 所示。
图3-6 olsurf_num_missile.dat 文件的标记方式
说明:
missile 弹体1 编号为201, 弹翼1 编号为202, 弹体2 编号为203, 弹翼2编号为204。
(3) uforce_01_step_0001.dat, uforce_02_step_0001.dat。 这两个文件用于记录网格01、 02 在第一个时间步内的力和力矩的变化过程, 即记录轴向力系数cfx、 侧向力系数cfy、 法向力系数cfz、 滚转力矩系数cmgx、 俯仰力矩系数cmgy、 偏航力矩系数cmgz 的变化过程, 每5 步记录一次, 用于判断在一个计算时间步内流场是否达到定常。 典型的例子如图3 -7 所示。
图3-7 uforce_01_step.dat 文件数据格式
其中, 第1 列为计算步数, 后面的列数相应为轴向力系数cfx、 侧向力系数cfy、 法向力系数cfz、 滚转力矩系数cmgx、 俯仰力矩系数cmgy、 偏航力矩系数cmgz。
(4) uforce_dmsn_01_step_0001.dat, uforce_dmsn_02_step_0001.dat。 其作用与uforce_01_step_0001.dat、 uforce_02_step_0001.dat 相同, 但值是有量纲的。
(5) uresidual_01_step_0001.dat, uresidual_02_step_0001.dat。 这两个文件用于记录网格01、 网格02 在第一个时间计算步内的残差下降过程, 以及每5 步的密度最大变化值dro、 能量最大变化值de。 典型的例子如图3 -8 所示。
图3-8 uresidual_01_step.dat 数据格式
其中, 第1 列为计算步数, 第2 列为残差下降过程, 第3 列为dro 变化过程, 第4 列为de 变化过程。
(6) 6Dof_recd_01.dat, 6Dof_recd_02.dat。 这两个文件用于记录计算的两个物体各计算时间步的状态参数, 典型的例子如图3 -9 所示。
图3-9 6Dof_recd.dat 文件数据格式
其中, 第1 列为计算的时间步, 第2 ~4 列为计算坐标系下分离物体的质心速度, 第5 ~7 列为机体坐标系下分离物体的角速度, 第8 ~10 列为分离物体的姿态角——偏航角、 俯仰角、 滚转角, 第11 ~13 列为计算坐标系下分离物体的质心位移量。
(7) 6Dof_recd_forc01.dat, 6Dof_recd_forc02.dat。 这两个文件用于记录计算的分离物体各计算时间步的受力情况, 典型的例子如图3 -10 所示。
图3-10 6Dof_recd_forc.dat 文件数据格式
其中, 第1 列为计算的时间步, 第2 ~4 列为计算坐标系下分离物体所受的气动力, 第5 ~7 列为机体坐标系下分离物体所受的气动力矩, 第8 ~10 列为计算坐标系下分离物体所受的外力, 第11 ~13 列为机体坐标系下分离物体所受的外力矩。
(8) missile_01_dist.dat, missile_02_dist.dat。 这两个文件为网格距离文件, 在第1 步计算, 计算时间较长, 以二进制数保存。
(9) missile_step_0001.dat, missile_step_0001.fac, missile_step_0001.mesh, missile_step_0001.mrk。 这4 个文件用于记录网格信息。
(10) flow_step_0001.flw。 该文件用于保存第1 个计算时间步内的流场信息, 用于断点续算和后处理第1 个时间步的计算结果。
(11) outfv_0001.grdfv, outfv_0001.flwfv。 此为后处理的结果, 其中第1个文件为网格信息, 第2 个文件为流场信息, 都为FIELD_VIEW 流场显示软件的输入文件。
2) cmrflow_mpi 的输出文件列表及输出文件的详细描述
并行的执行程序cmrflow_slv10_mpi 产生的与串行不同的输出文件如表3 -5所示。
表3-5 cmrflow_slv10_mpi 产生的输出文件
说明: 在上面描述的文件中, flow_step_0001_domain_cpus.flw 中的cpus表示并行一共采用多少个CPU。
(1) split_info.dat。 该文件为并行的网格分区信息。
(2) domain_01.mesh ~domain_cpus.mesh, domain_01.mrk ~domain_cpus.mrk。 该系列文件为并行分区的每一块网格的信息。
(3) flow_step_0001_domain_01.flw ~flow_step_0001_domain_cpus.flw。 该系列文件为并行分区的每一块网格的流场信息, 用于断点续算和后处理。
(4) missile_step_0001_domain_01.fac ~missile_step_0001_domain_cpus.fac。 该系列文件为并行分区的每一块网格的信息。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。