再谈COMSOL中的气液相变
作者:极度喜欢上课
本人在之前发布的《浅谈COMSOL模拟相变的方法》文章中向同学们分析了相变的难点以及列举了几种在COMSOL中常用的处理相变的方法,具体的文章内容同学们可以进行一下考古。那么本文继续将“相变”进一步讲细,专门对COMSOL中气液相变的模拟方法进行展开介绍。(后期也会专门对固液相变进行展开介绍。)因为在COMSOL传热模块(包括:固体传热、流体传热、固体和流体传热、多孔介质传热等接口。)中的“流体”域边界条件下自带了“相变材料”的功能,如图1所示,所以从软件层面上来说大大降低了同学们处理气液相变问题的操作难度,起码同学们对着软件的输入窗口一步一步输入参数就总能找到一些感觉。(这个时候就要感慨COMSOL支持中文是真的好,方便初学者自己慢慢琢磨。)
图1 “流体”域边界条件下的“相变材料”
如图2所示,就是“相变材料”的设置窗口。其中最重要的就是对“相变”栏、“相1”栏和“相2”栏的有关参数进行设置,下面逐一进行说明。(图2中现有的参数是添加“相变材料”时的默认参数,对应的是冰融化成水的参数。)
图2 “相变材料”设置窗口
“相1与相2之间的相变温度”:这个很好理解,就是相1变成相2的温度,在固液相变的问题中这个相变温度称为“熔点”,在气液相变的问题中这个相变温度称为“饱和温度”。“相1与相2之间的转变间隔”:这个可能稍微有点抽象了。大家可以从两个角度思考,1.现实的角度。举个例子,虽然冰的熔点是0摄氏度,但是大家可以想一想“那是不是一旦到达0摄氏度的时候冰一瞬间就融化成水呢?”,很显然实际的情况不是这样子的,虽然到达0摄氏度但是冰肯定是需要一个时间段来完成融化这个步骤的。那换句话来说,虽然0摄氏度是冰的熔点,但是冰可能在-0.001摄氏度的时候就已经在开始进入融化这个阶段了,这个-0.001摄氏度和0摄氏度之间就存在一个范围,理想情况下这个范围应该就是“相1与相2之间的转变间隔”的一半。(因为同样的,水可能在0.001摄氏度的时候就开始进入凝固这个阶段了,一般认为融化和凝固的温度区间是相等的。)2.仿真的角度。“计算域内需要计算流体的密度”这一点大家应该都知道吧,我们就拿密度举例子。如果没有这个转变间隔的话,水和冰交界面的密度是突变的,(除了密度,所有的物性参数都是突变的。)这种突变对于COMSOL的求解是极其困难的。那么当有了这个转变间隔之后,相当于给水和冰交界面的密度一个缓冲区间,密度可以从水的密度慢慢过渡成是冰的密度,(其他的物性参数也同样因为这个转变间隔而多了一个过渡带。)有了这个缓冲区间或者说是过渡带就可以进一步增加模型的收敛性能。“从相1到相2的潜热”:这个也很好理解了,就是相变材料在发生相变时吸收或放出的一个热量。“相1”栏和“相2”栏的设置就很简单了,可以选择“用户定义”对应输入“导热系数”、“密度”、“恒压热容”和“比热率”等各类参数就可以了,或者先定义好具体的材料直接调用相应的材料也可以。默认的“相1”指的是低于“相1与相2之间的相变温度”的相,相2指的是高于“相1与相2之间的相变温度”的相。如图3所示就是利用COMSOL自带的“相变材料”所做出来的液态钠汽化的热虹吸管案例,COMSOL官网也有对热虹吸管的功能进行详细的介绍,大家可以进行参考[2]。此案例采用二维轴对称几何绘制,材料采用的是COMSOL的内置材料Sodium[liquid]和Sodium [gas,Na],下半部分进行加热,上半部分进行强制冷却。从图中可以看到底部的液态钠(深紫色)部分和气态钠(浅黄色)部分的界面发生着剧烈的波动和质量交换。
图3 热虹吸管
(底部的液态钠受热汽化,顶部的气态钠受冷液化,达到了动态平衡)
介绍到这里大家有没有发现COMSOL“流体”域边界条件自带的“相变材料”的缺点?(这里大家可以先思考一下,可以回顾一下“相变材料”设置窗口的参数设置。)看看大家的答案是否和我一致?最大的缺点就是不能考虑气液的表面张力和接触角。大家应该都知道气体和液体的交界面是存在表面张力的,一般来说宏观的流体可以不用考虑表面张力的作用,但是对于微观的流体,表面张力在整个系统中是占据一定分量的,所以表面张力在气液相变中能否被忽略是一个值得思考的问题。对于接触角也就是常说的润湿角,是指气液两相界面与壁面的接触点处壁面和液相表面切线的夹角,同样的对于宏观的流体来说可以忽略它的影响,但是在微观的流体中接触角是会影响气液两相界面的形态进而会影响气液两相的流动,所以接触角在气液相变中能否被忽略也是值得考究的。(当然如果有一种方法能将表面张力和接触角都考虑上是最好的。)刚好就有一种可以在气液相变中考虑表面张力和接触角的方法,不过这种方法COMSOL没有自带,需要用户自定义。如图4所示,为采用上述自定义的可以在气液相变中考虑表面张力和接触角的方法做出来的热虹吸管的案例,其中蓝色部分为液相红色部分为气相。(这里需要指出的是图4的热虹吸管和图3的热虹吸管所用到的材料和边界条件并不完全一致,图4的热虹吸管模拟的是水的沸腾,不过同样的是热虹吸管都是下半部分加热上半部分强制冷却。这里之所以没有采用一样的参数是因为采用不同方法处理同一个模型需要不断的调试,工作量太大了,所以就用了以前自己熟悉的模型和参数。)从图中可以看到两相之间发生剧烈的震荡和质量交换,这点和采取自带的“相变材料”功能做出来的效果是一致。如图5所示,如果仔细看的话,可以看到由于计算了表面张力和接触角,因此在热虹吸管计算初期的时候还依稀能看到几颗 “漂浮”起来的液滴,这个是“相变材料”功能所不能实现的。
图4 考虑表面张力和接触角的热虹吸管
(蓝色部分为液相红色部分为气相)
图5 热虹吸管加热初期中产生的“漂浮”液滴
这里再谈谈本人在做气液相变模型中的一些小体会吧。首先就是不管用上述哪种方法进行建模,模型都巨难收敛(因为收敛性太难了,所以上述举例子的两个热虹吸管我都用的是层流,湍流实在是太难处理了。),这个巨难收敛一方面体现在模型的非线性太强,如图6所示为某一本人已经调试好的相变模型的收敛曲线,可以看到收敛曲线一直震荡(一直震荡就代表模型的非线性太强。),但是收敛曲线整体上还是可以保持水平的;另一方面体现在模型的计算量太大,每一次调试都要试算好久。综上所述调试一个气液相变的模型工作量实在是非常大,研究这个方向的同学确实任重而道远,祝顺利。