对于两相流模拟,模型主要分为两大类:高相分数模型和界面捕捉类模型。当我们关注水中的含气量(气泡界面及气泡形状可忽略),则采用高相分数模型,此模型适用于气泡特别多的流动问题。对于有明确边界的流体-流体问题,基本需要考虑如何捕捉边界面。常用的界面捕捉模型包括LS(Level Set)方法和VOF(Volume of Fluid)方法。
多相流模拟软件,首先就是针对此类有边界面的问题。目前主流的商业CFD软件大多采用VOF方法,而定位于多相流仿真的国产通用流体仿真软件Virtualflow采用Level Set方法进行界面流仿真。
Level Set方法是基于空间曲面的隐函数表达。
在LS方法中,每一个时间步都要重新初始化LS方程,在时刻tn 求得的LS函数与控制方程一起求解得到下一时刻的LS函数,这些初始化的过程中总伴随着界面位置的移动,会造成质量损失,导致质量不守恒。而改善初始化步骤来矫正质量守恒又会增加计算时间,提升计算成本。同时,因为LS方法采用的是光滑的距离函数来捕捉相界面,各个物理量可以在界面上光滑连续地过渡,且相界面的捕捉效果好。
在VOF方法中,用来划分两相界面的函数是体积分数α,表示的是单个网格内的液体体积与这个网格总体积的比值。
若求出整个网格相分数,如图1(a)来构造界面,会发现体积分数α在空间上是一个阶梯函数,在空间上是不连续的,从而重构出来的相界面,如图1(b)是间断的,两个相邻网格的界面是不连续的,且物理量在通过界面时也是不连续的,这个现象称为寄生流动,目前VOF方法的主要工作就是缓解数值方法造成的寄生流动现象。
图1 相分数空间分布(a)及其界面重构(b)
与LS方法类似,根据相分数可以得到界面上的单位法向量和曲率以及计算域中的密度和粘度。
为了解决物理量在界面两端不连续的问题,引入连续表面力模型,通过以下公式将界面内的压力表示为压力的连续函数。
式中c是界面处的位置函数(图2),其表示为:
图2 CSF模型下c位置函数(左)及连续压力函数(右)
由以上公式可以推出曲面微元上的表面张力。
此外,在OpenFOAM中,为了求解动量守恒方程中的压力项和体积力项,定义prgh,如下:
式中为网格位置矢量,对该公式求其梯度得到:
该公式可以直接带入动量守恒方程中进行计算。
在OpenFOAM中,使用VOF方法后在控制方程中添加了一个求解α的相方程:
为了界面的尖锐,OpenFOAM采用Waller提出的方法,在相方程中添加人工对流项,从而保证界面的清晰。
其中:
c为压缩因子,值为0时表示不存在人工压缩,给c赋值后有利于提高界面清晰度,但同时也会提高计算成本和产生收敛问题。
本文主要讨论通用流体仿真软件Virtualflow中用到的LS方法和开源软件OpenFOAM中用到的VOF方法。为了验证LS方法和VOF方法对界面捕捉的效果,下面展示Albadawi文献中采用这两种方法计算模拟的气泡变化过程,并与实验进行了对比分析。在计算域底部中心一个小孔以恒定体积流率喷射气泡,由于压力、浮力和表面张力的共同作用,气泡会经历产生,变形和分离的过程。计算域及其物性参数如下:
图3 计算域及其边界条件
表2 两相流物性参数
取tDet 为气泡分离时间,t/tDet =0 为初始时间,此时气泡已经是轴对称的球形,实验中各个时刻气泡形状如图4所示。
图4 不同时刻气泡形状
图5 LS方法(TransAT软件)模拟结果与实验数据对比
图6 VOF方法(OpenFOAM)模拟结果与实验数据对比
由图5与图6可以看出:与实验结果对比,LS方法对界面捕捉的效果更好,VOF方法只能模拟出气泡变形的大致趋势,各个时刻气泡的高度都要比实验值低。
此外,还可以根据气泡的重心位置和纵横比来比较LS方法和VOF方法的模拟效果。
图7 气泡重心位置随时间的变化
图8 气泡纵横比随时间的变化
由图7可以看出,在气泡产生到发生一段变形时,LS方法和VOF方法都可以很好地预测气泡的重心位置,但随着气泡的继续演化,VOF模拟得到的气泡重心会不断的偏离实验值,而LS方法模拟得到的重心轨迹与实验吻合较好。
气泡的纵横比是指气泡的最大高度与最大宽度的比值,由图7可以看出,在VOF方法中模拟得到的纵横比会沿着实验值震荡,表现为模拟得到的气泡会在轴向上产生周期性的膨胀和收缩,而这一现象是实验观察中不存在的,而LS方法可以很有效地捕捉气泡演化时的形状以及气泡分离的时间。
更多VirtualFlow仿真案例
以下为更多VirtualFlow软件Level Set 界面追踪方法模拟案例:
图9 液体碰撞壁面反弹过程(LS方法)
图10 壁面膜态沸腾LS数值模拟
图11 膜态沸腾(3D)