第六节 批处理脚本

1、FLUENT多工况的批处理

1.批处理简要介绍

批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文件的扩展名为bat 。批处理程序虽然是在命令行环境中运行,但不仅仅能使用命令行软件,任何当前系统下可运行的程序都可以放在批处理文件中运行。

以利用命令行和批处理脚本打开“计算器”为例,简要介绍操作方法。

  • 获取计算器exe路径:%windir%\system32\win32calc.exe(右键计算器、计算器快捷方式等通过属性获取)
  • 编写txt文件,完成后改后缀名为bat。此处将其命名为OpenCalc.bat。
cd %windir%\system32\
win32calc.exe
pause

上述代码第一行切换到计算器exe所在的文件位置;第二行打开exe;第三行执行暂停命令,用于暂停批处理的执行器并给出提示信息,然后由用户决定是继续执行还是终端执行。

  • 打开OpenCalc.bat。即可看到如下界面:

BATCH Introduction


2.FLUENT多工况CASE文件的准备

在有大量相似算例时,采用批处理的方法读取CASE文件、设置求解器、输出结果将大大节省时间。例如:采用FLUENT计算断面在不同攻角下的三分力/三分力系数。

本节以《第五节 MATLAB处理气动力数据》中的案例,介绍利用批处理计算断面在不同攻角下的三分力系数。

本文中采取的案例如下:

B(桥面宽) H(高) b(风嘴伸出长度) α\alpha (风嘴角度) β\beta(斜腹板角度) i(桥面横坡) 缩尺比 U风速 Re雷诺数
46.68 5.83 1.66 63 18 0.02 1:60 3.5 2E5

注:表中长度单位为m,角度单位为°,速度单位为m/s

Section

  • 生成多攻角CASE文件

假设需要计算[-5°,-3°,0°,3°,5°]五个攻角下该断面的三分力系数。先利用Profile文件+ChangeAoA.jou,生成相应攻角下的CASE文件。

以下的代码生成正攻角CASE文件的。如需生成负攻角CASE文件,应更改Profile文件。

(
(ro_1deg 2 point)
(time 0 1)
(omega_z -0.017453292 -0.017453292)
)
;;假设Profile文件保存为Profile_1.prof
;;读入CASE文件
file/read-case/CASE1-2.cas
;;写出0°攻角文件
file/write-case/CASE1-2_0deg.cas
;;导入profile文件
file/read-profile/profile_1
;;修改至稳态
define/models/steady
;;打开动网格并设置区域
define/dynamic-mesh/dynamic-mesh? yes no no 
define/dynamic-mesh/controls/smoothing? no
define/dynamic-mesh/zones/create mid_in rigid-body ro_1deg no 0 0 0
;;稳态转瞬态,选择时已自动决定transistant formulation 
define/models/unsteady-2nd-order yes
;;转一下1°
solve/mesh-motion 1 1 yes 1 no no yes
file/write-case/CASE1_2_1deg.cas
;;执行完转换攻角文件后,会得到计算完成后的CASE1-2_1deg文件。
;;转一下2°
solve/mesh-motion 1 1 yes 1 no no yes
file/write-case/CASE1_2_2deg.cas
;;执行完转换攻角文件后,会得到计算完成后的CASE1-2_2deg文件。
;;转一下3°
solve/mesh-motion 1 1 yes 1 no no yes
file/write-case/CASE1_2_3deg.cas
;;执行完转换攻角文件后,会得到计算完成后的CASE1-2_3deg文件。
;;转一下4°
solve/mesh-motion 1 1 yes 1 no no yes
file/write-case/CASE1_2_4deg.cas
;;执行完转换攻角文件后,会得到计算完成后的CASE1-2_4deg文件。
;;转一下5°
solve/mesh-motion 1 1 yes 1 no no yes
file/write-case/CASE1_2_5deg.cas
;;执行完转换攻角文件后,会得到计算完成后的CASE1-2_5deg文件。

最后得到五个攻角工况下的CASE文件:

 CASE1-2_5deg.cas
 CASE1-2_3deg.cas
 CASE1-2_0deg.cas
 CASE1-2_m3deg.cas
 CASE1-2_m5deg.cas
  • 编写五个攻角工况的Journal文件

五个攻角工况的JJournal文件的求解器设置一致,只是读取CASE文件和输出三分力系数等文件的文件名需要更改。

注:读取CASE文件时和输出三分力系数文件、写出CASE文件时采用绝对路径。

;;读入cas 
file/read-case/D:\CASE1-2_5deg.cas
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                      稳态计算                    ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;求解器修改至稳态,目的是在瞬态计算前通过稳态计算将流场初始化
define/models/steady yes
;;选择湍流模型,SST k-ω
define/models/viscous/kw-sst yes
;;定义速度入口条件
;;其中的3.5表示入口速度U,应根据具体情况修改,其他参数可以不修改
define/boundary-conditions/velocity-inlet/inlet yes yes no 3.5 no 0 no 1 no 0 no no yes 1 10
;;定义壁面条件,无滑移壁面
define/boundary-conditions/wall wall no no no no 0 no 0.5
;;关闭动网格
define/dynamic-mesh/dynamic-mesh? no
;;定义残差收敛条件,此时不写出三分力系数文件
solve/monitors/residual/convergence-criteria 1e-4 1e-4 1e-4 1e-4 1e-4
solve/monitors/force/set-drag-monitor cd-1 y wall () y n y 2 n 1 0
solve/monitors/force/set-lift-monitor cl-1 y wall () y n y 3 n 1 0
solve/monitors/force/set-moment-monitor cm-1 y wall () y n y 4 n 0 0 0 0 1
;;设置三分力系数参考变量
;;速度取值参考入口设置
report/reference-values/compute/velocity-inlet inlet 
;;投影面积和特征长度设置
report/reference-values area 0.833
report/reference-values/ length 0.833
;;利用速度入口初始化流场
solve/initialize/compute-defaults/velocity-inlet inlet q/initialize-flow
;;建立流场的流动,迭代100步,优化初始化结果
solve/iterate 100

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                      瞬态计算                    ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;定义瞬态求解器
define/models/unsteady-2nd-order yes
solve/set/p-v-coupling 21
;;监视器设置
;;输出阻力、升力、升力矩
solve/monitors/force/monitor-unsteady-iters? no
solve/monitors/force/set-drag-monitor cd-1 y wall () y y D:\cd_mean_5deg y 2 n 1 0
solve/monitors/force/set-lift-monitor cl-1 y wall () y y D:\cl_mean_5deg y 3 n 0 1
;;代码中的-0.04634为形心处位置。注意大攻角时形心位置的变化
solve/monitors/force/set-moment-monitor cm-1 y wall () y y D:\cm_mean_5deg y 4 n 0 -0.04634 0 0 1
;;修改时间求解步长和时间步
solve/set/time-step 1E-4
solve/set/number-of-time-steps 50000
;;求解,每一步内迭代80次
solve/dual-time-iterate 50000 80
;;存储计算完成后CASE和DATA文件
file/write-case-data/D:\CASE1-3_5deg.cas
;;关闭FLUENT
exit

最后得到五个攻角工况下的Journal文件:

 CASE1-2_5deg.jou
 CASE1-2_3deg.jou
 CASE1-2_0deg.jou
 CASE1-2_m3deg.jou
 CASE1-2_m5deg.jou

3.编写批处理脚本

批处理脚本CASE1.bat的代码如下,应根据个人实际情况删除、更改或添加。

注:只有Journal文件中有关闭FLUENT的命令exit,-wait才能正常运行,后续的命令才会正常执行。

cd C:\Program Files\ANSYS Inc\v211\fluent\ntbin\win64\

call fluent 2ddp -t16 -g -wait -i D:\CASE1-2_5deg.jou

call fluent 2ddp -t16 -g -wait -i D:\CASE1-2_3deg.jou

call fluent 2ddp -t16 -g -wait -i D:\CASE1-2_0deg.jou

call fluent 2ddp -t16 -g -wait -i D:\CASE1-2_m3deg.jou

call fluent 2ddp -t16 -g -wait -i D:\CASE1-2_m5deg.jou

以上代码的解释为:

  • 切换到fluent.exe所在的路径
  • 以2D,Double Precision即二维双精度设置启动求解器
  • -t16表示并行数为16
  • -g表示程序会以任务栏最小化的方式运行
  • -wait表示batch后续的命令需要等待FLUENT完成计算后再执行。Journal文件中要有关闭FLUENT的命令exit。
  • -i表示读取Journal文件

在CMD窗口运行case1.bat脚本,可以监控计算情况,并在后台等待其运行完成。

BATCH IntroductionBATCH Introduction-2

忙完自己的事情后,回来就能看到输出的三分力系数文件啦。

至此,FLUENT批处理的操作介绍完毕。



results matching ""

    No results matching ""