本案例利用Fluent中的VOF模型计算容器在加速度作用下内部油液的晃动问题。
在公众号之前的关于油箱晃动计算的推文中,利用UDF宏DEFINE_ZONE_MOTION以定义区域速度的形式来体现加速度。本案例演示另外一种方式:利用UDF宏DEFINE_SOURCE定义动量源的形式体现加速度。
1 问题描述
为演示方便,选取较为简单的几何模型。如下图所示,几何模型尺寸为20*40*10 cm,容器中包含一个2*8*10 cm的挡板。初始状态下容器水位为其高度的一半(10 cm)。

先给容器施加Z方向1m/s2的加速度,持续时间1 s,之后加速度为0,容器以1 m/s速度运动。
定义UDF函数为:

注:动量源=加速度×密度
在SCDM中划分全六面体计算网格,如下图所示。

2 Fluent设置
-
以3D、Double Precision启动Fluent
2.1 General设置
-
双击模型树节点General,点击右侧额面板按钮Scale…弹出网格缩放对话框,如下图所示,设置三方向的Scaling Factors为10,点击按钮Scale缩放网格

-
双击模型树节点General,右侧面板如下图所示,激活选项Transient,设置重力加速度为Y 方向-9.81 m/s2

2.2 Models设置
-
鼠标右键选择模型树节点Models > Viscous,点击弹出菜单项Model → Realizable k-epsilon激活湍流模型

-
鼠标双击模型树节点Model > Multiphase弹出多相流模型设置对话框,如下图所示,激活Volume of Fluid多相流模型

2.3 Materials设置
从Fluent材料库中添加材料gasoil-liquid,采用默认材料参数,如下图所示。

2.4 Phases设置
-
鼠标右键选择模型树节点Models > Multiphase > Phase > phase-1-Primary Phase,点击弹出菜单项Edit…编辑主相

-
在弹出的对话框中,设置Name为air,指定Phase Material为air

-
鼠标右键选择模型树节点Models > Multiphase > Phase > phase-2-Secondary-Phase,点击弹出菜单项Edit…编辑第二相

-
在弹出的对话框中,设置Name为oil,指定Phase Material为gasoil-liquid

2.5 解释并加载UDF
-
右键选择模型树节点User Defined Functions > Interpreted…弹出设置对话框

-
如下图所示加载UDF源文件mom.c

2.6 Cell Zone Conditions
-
双击模型树节点Cell Zone Conditions > solid,弹出如下图所示对话框,激活选项Source Terms,点击下方Z Momentum右侧的Edit…按钮编辑源项

-
如下图所示设置源项为udf mom_source

2.7 Methods设置
-
鼠标右键双击模型树节点Methods,右侧面板如下图所示设置

2.8 Initialization设置
-
鼠标双击模型树节点Initialization,右侧面板激活选项Standard Initialization,采用默认参数设置,点击按钮Initialize进行初始化

-
右键选择模型树节点Cell Registers,点击弹出菜单项New → Region…定义区域

-
如下图所示参数定义区域,该区域被指定为油所占据的空间

-
点击Initialization面板中的Patch…按钮弹出设置对话框,如下图所示,定义区域的油相体积分数为1

Patch完毕后各相分布如下图所示。

2.9 设置计算
-
鼠标双击模型树节点Run Calculation,右侧面板设置选项Time Steps = 0.01 s,设置Number of Time Steps = 200
-
点击按钮Calculate开始计算
3 计算结果
本案例仅为演示方法,后处理过程略去。
-
取中面查看油相体积分布,如下图所示

-
液面变化如下图所示

本篇文章来源于微信公众号: CFD之道








赞