正文共: 1376字 9图 预计阅读时间: 4分钟
有一个经典的热力学实验,当对一个盛有水的活塞进行抽拉时,里面的液态水可能发生沸腾。这就是著名的闪蒸(flash evaporation)现象,闪蒸指的是液体在压力骤降时,因沸点降低而瞬间部分汽化的过程,其本质是系统从非平衡态向气液两相平衡态的快速转变。闪蒸发生的根本条件是压力骤降,因为压力降低时,饱和温度降低,当液体温度高于饱和温度时,就会发生相变。因此,我们可以知道,当压力降低越大,同时液体初始温度越高时,闪蒸越容易发生。今天,我们用一个简单的案例来演示一下这个闪蒸现象。
创建一个100mm×100mm的二维平面模型,划分四边形结构化网格,单元边长1mm。
这个案例的核心在于动网格技术,我们将顶部壁面设置为刚体运动面,表征活塞的运动,两侧设置为变形面,变形方向为y向,底部为静止壁面。
由于该运动符合铺层网格特点,因此采用铺层动网格(layering),用DEFINE_CG_MOTION宏定义运动速度,UDF代码如下。
DEFINE_CG_MOTION(moving,dt,vel,omega,time,dtime)
{
if(time<=0.2)
vel[1]=0.;
else if(time<=1.0)
vel[1]=(time-0.2)*0.02/0.8;
else vel[1]=0.;
}
介质为液态水和水蒸气,采用VOF和Lee模拟气液相变过程,液态水为主相,水蒸气为次相,该相变模拟的核心是随压力变化的饱和温度以及气体的可压缩性,我们采用的是安托因方程(Antoine equation)描述水的饱和温度和压力的关系,UDF代码如下。我们暂忽略了表面张力等更为细节的两相流设置,因为我们仅仅关心相变过程。我们采用理想气体模型简化模拟水蒸气的可压缩性。
DEFINE_PROPERTY(saturation,c,t)
{
real p_ab;
real p_op=RP_Get_Real("operating-pressure");
real t_sat;
p_ab=p_op+C_P(c,t);
t_sat=1730.63/(8.07131-log10(p_ab/133.322))-233.426+273.15;
C_UDMI(c,t,0)=t_sat;
return t_sat;
}
由于相变的发生很快,因此我们忽略了壁面和外部环境的换热,设置为绝热壁面。
开启重力选项。
采用如下值进行初始化,并采用patch方式设定60%初始液位,如前所述,更高的初始温度更容易闪蒸,因此本案例的初始状态为接近饱和的过冷水。瞬态求解,时间步长0.001s。
我们先看一下抽活塞过程中,内部的压力和饱和温度情况,我们定义了0.2s到1s内活塞都是运动的,速度线性增加,到1s时停止运动,在这个过程中饱和温度随压力的降低而降低,后续活塞停止运动,闪蒸产生的水蒸气将内部压力抬高至一定程度后基本稳定下来。
我们看一下水蒸气的质量曲线,可以看到发生约在0.7时就开始发生了闪蒸,看前文饱和温度曲线,此时的饱和温度降低到了液体温度以下。
我们再看一下抽取活塞所需的力,可以看出这个力还是相当大的,读者朋友可以试着拿一个注射器模拟一下。
发生闪蒸后某个时刻的气液两相体积分数云图如下。