本案例利用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之道
赞