在很多时候,需要对同一个模型进行多次仿真,或者进行许多重复性的设置。这时,直观并且易交互的图形界面的操作方式就显得有些麻烦了。因此Fluent 提供了控制台,也称为文本用户界面(Text User Interface,TUI ),可以以命令的方式对Fluent进行设置。对于大量命令操作,可以将一系列命令以代码的方式写到脚本(joural文件 )中,Fluent读入之后会根据命令自动操作。以下对一些常用的命令进行举例介绍:
| 功能 | 命令 |
| 读取文件 | file/read-case |
| 设置重力 | define/operating-conditions/gravity |
| 设置材料性质 | define/materials/change-create |
| 设置边界条件 | define/boundary-conditions/set |
| 设置湍流模型 | define/models/viscous |
| 设置二阶时间项离散 | define/models/unsteady-2nd-order yes |
| 初始化 | surface/plane-surface |
| 创建点 | surface/point-surface |
| 创建面 | solve/report-definitions/add |
| 添加报告定义 | solve/initialize/hyb-initialization |
| 添加报告文件 | solve/report-files/add report-vpoint |
| 创建云图 | display/objects/create contour |
| 创建动画 | solve/animate/objects/create |
以上命令大多只是一个功能入口,需要在后面再添加一些参数设置才能生效。有了TUI命令,就可以实现仿真的自动化操作,只需要在打开Fluent的时候读取脚本就能完成所需的设置。
对于并不会自己编写命令的用户,Fluent还提供了把操作录制成脚本的方式,在需要时读入脚本,Fluent就会执行同样的操作。对于Fluent的自动化操作,不仅可以通过写TUI命令脚本实现,也可以通过编写较为小众的Scheme代码 来实现,可以实现更加复杂的逻辑操作。
我看有人看了这个东西,还是不知道怎么写,我来放一个自己使用过的案例吧:
//“//” 及后面的字为含义,书写时需要去掉:
// 读入网格文件
file/read-case "Geom1200.msh.h5"
// 定义空气材料性质,密度和粘度
define/materials/change-create air air yes constant 0.0158 no no yes constant 1.505e-5 no no no
// 设置速度入口边界的风速为6m/s
define/boundary-conditions/set/velocity-inlet/inlet () vmag no 6 q
// 设置湍流模型为SAS
define/models/viscous sas yes
// 设置模型为二阶非稳态
define/models/unsteady-2nd-order yes
// 开始定义面
surface
// 定义一个yz平面,名称为plane1,位置为x=0的位置
plane-surface plane1 yz-plane 0
// 定义一个xy平面,名称为plane30,位置为z=-34的位置
plane-surface plane30 xy-plane -34
// 定义一个点,名称为point001,位置坐标为(0,0,-4)
point-surface point001 0 0 -4
// 定义一个点,名称为p30m001,位置坐标为(-25,0,-34)
point-surface p30m001 -25 0 -34
// 退出面定义
q
// 求解设置中的报告定义
solve/report-definitions
// 添加一个报告,名叫vpoint001,查看point001点位置的速度,然后退出
add vpoint001 surface-vertexavg field velocity-magnitude surface-names point001 () q
// 同样,添加一个报告,记录p30m001点位置的速度
add vp30m001 surface-vertexavg field velocity-magnitude surface-names p30m001 () q
// 退出报告定义
q
// 求解初始化,方式为混合初始化
solve/initialize/hyb-initialization
// 定义报告文件
solve/report-files
// 添加一个报告,名叫report-vpoint,输出文件名是report-vpoint.out,记录频率是每次迭代
add report-vpoint file-name report-vpoint.out frequency 1
// 记录内容为报告序号、迭代步时间、vpoint001的报告、vpoint002的报告,然后退出
report-defs flow-time vpoint001 vpoint002 () q q
// 下面含义与上面类似
solve/report-files
add report-vp30m file-name report-vp30m.out frequency 1
report-defs flow-time vp30m001 vp30m002 () q q
// 报告显示,创建云图,名叫V-section,plane1的面速度,颜色图的显示格式为两位小数,退出
display/objects/create contour V-section field velocity-magnitude surfaces plane1 () color-map/format %0.2f q q
// 创建动画,名叫animation-1,记录内容为V-section,视角为右边,存储格式为jpeg,10迭代步记录一下,存储路径为E:/qiqiu_last/qiqiu10km/contour
solve/animate/objects/create animation-1 animate-on V-section view right storage-type jpeg frequency 10 frequency-of time-step storage-dir E:/qiqiu_last/qiqiu10km/contour q
整体的过程就是自己使用图形化操作的步骤,只不过是使用命令代替了,方便重复使用。编写过后,保存为xx.jou,然后导入就自动运行了。
当初应该录个视频的,亏大了,当时感觉挺简单的,就简单记录了下。