适用于: CFD 模块, 微流体模块 版本: 所有版本

问题描述

我的模型包含“两相流,水平集”或“两相流,相场”接口,然而,我在求解过程中遇到了两种问题:要么求解时间过长且不收敛,要么无法收敛到合理的结果。本文将为您提供针对这类模型求解的指导信息。

解决方法

背景

纳维-斯托克斯方程是描述流体流动的控制方程,其中求解建模域内各个位置的流体速度场和压力场。流体属性(黏度和密度)在空间中要么保持恒定,或者以相对平滑的方式随温度、压力和剪切速率等发生变化。然而,在涉及两种不混溶流体时,跨越两种流体界面的属性将发生显著变化,并且表面张力效应和润湿壁面接触角的影响会变得极为关键。

为了解决这些挑战,我们可以在 COMSOL Multiphysics 中使用“水平集”或“相场”方法进行建模。这两种方法都在建模域中引入一个附加的标量场(水平集或相场函数),在建模域的各个位置,这些标量场在 -1 到 +1 的范围内平滑变化,用于定义控制纳维-斯托克斯方程中的流体黏度和密度。这种过渡(对于水平集方法,场从 0 变为 1;对于相场方法,场从 -1 变为 +1)会在空间中发生突变,因此可以为这两个相提供良好的分辨率。“水平集”和“相场”方法的控制方程都基于对流-扩散方程,其中的对流项来自纳维-斯托克斯方程。然而,由于此类方程耦合了重要的对流项、场的突变以及与纳维-斯托克斯方程的强耦合,因此数值求解变得极具挑战性。

水平集函数

水平集函数平滑变化并定义流体之间的界面,这些界面随流体流动(黑色箭头)产生的对流输送发生变化。

两相流建模指导信息

如果您想要模拟不涉及任何拓扑变化(即:没有液滴破碎和自由表面形成等)的两相流,且自由表面的形状变化不显著的情况,可以使用层流两相流,动网格接口(仅在微流体模块中提供)。如果您可以使用此接口,则能有效减少所需的计算资源。

几何

在开始建模时,请优先考虑选择二维或二维轴对称模式。此类模型的求解速度比三维模型明显更快,并且对于尝试适用于三维模型的不同模型设置来说,这是一种很有用的测试手段。

在合理的情况下,请避免在预计流体界面要穿过的任何边界上出现尖锐的边和角。这可以通过在几何中引入圆角,实现边界之间的平滑过渡。

网格

在整个建模过程中,网格大小应该大致相等,并且网格单元应呈各向同性,也就是说,避免在一个方向上拉伸或压缩单元。同时,网格大小必须足够小,才能为流体界面提供良好的分辨率。根据经验,较好的做法是从全局单元大小(其值为预计最小液滴大小的十分之一)开始,基于这一初始大小逐步细化网格。我们建议使用全局定义 > 参数定义一个参数 hmax ,用于在网格 > 大小设置中定义所有域的最大单元大小。当您基于特定的网格得到收敛解之后,可以使用更小的网格大小进行重复分析。如果解没有随网格的细化发生明显的变化,则该网格可以得到收敛解。

如果已知整个建模域的一个子域将仅包含相同的液相,您可以考虑在该子域中使用更粗的网格。

结构化网格与非结构化网格之间没有明显的区别。

物理场接口

所有流体入口都应位于有单个相流入建模域的区域内,并且从这些入口流入的相应该与相邻域中的初始相匹配。为此,您可能需要略微调整几何结构。

多物理场分支中的两相流,水平集/相场特征提供了“水平集”和“相场”方法,请确保从设置的流体 1流体 2 下拉列表中选择合适的材料。

层流物理场接口中,请确保使用不可压缩公式,并且入口处的所有指定速度或压力都从一致的初始条件平稳地增加,如求解瞬态 CFD 仿真中所述。对于涉及重力的问题,请确保启用层流设置下的包含重力选项,而不是使用体积力条件,以便在初始值和其他压力条件下自动包含静水压力。

如果要对含有表面张力的气泡进行建模,请确保定义气泡内的附加初始压力可以平衡表面张力。您可以使用杨-拉普拉斯方程计算合理的初始压力值。

使用水平集相场接口时,需要定义水平集/相场模型特征中的界面厚度控制参数。如果该值太小,可能会导致数值不稳定,而过大的值则可能无法正确捕捉界面运动。较理想的值是取最大单元大小的一半:hmax/2 ,其中 hmax 是之前提到的网格大小控制参数。

当您使用水平集物理场接口时,水平集模型特征还需要定义重新初始化参数。如果重新初始化参数太小,可能会导致数值不稳定,但过大的参数则可能无法正确捕捉界面运动。较好的重新初始化参数估计值是预计的最大速度大小。

在使用相场物理场接口时,相场模型特征还需要定义迁移率调整参数。同样,值太小会导致数值不稳定,值太大则无法正确捕捉界面运动。较好的迁移率调整参数初始估计值为: 2*umax/(3*sqrt(2)*sigma)*(hmax/epsilon)

其中,umax 是预计的最大速度大小,sigma 是表面张力系数,hmax 是控制最大单元大小的参数值,epsilon界面厚度控制参数的值,通常为 hmax/2。在这种情况下,上述表达式可以简化为: (4/3/sqrt(2))*(umax/sigma)

使用“水平集”方法时,可以使用多物理场 > 润湿壁特征;使用“相场”方法时,可以通过相场 > 润湿壁特征来指定接触角。这个接触角应与两相的实际初始角一致,后者由几何和相场/水平集 > 初始界面特征定义。如果初始界面定义的接触角与实际不同,则应采用与提升速度类似的方式来增加指定的接触角(请参见:求解瞬态 CFD 仿真)。

在“层流”、“水平集”和“相场”接口的设置中有一个离散化栏,可用于切换单元阶次。您需要在“模型开发器”的显示菜单中启用离散化才能查看此设置。“层流”的默认离散化方法为 P1+P1,“水平集”和“相场”的默认离散化方法为线性。高阶离散化将显著增加计算强度,通常不建议使用,建议您采用细化网格。

研究设置

研究始终包含两个步骤:首先是相初始化步骤,用于初始化水平集或相场变量,使其在任何位置都平滑变化。接着是瞬态步骤,用于同时求解纳维-斯托克斯方程和“水平集”或“相场”方程。

瞬态研究步骤设置中,有一个容差:文本框,默认设为物理场控制。您可以将此设置改为用户控制,并应研究采用更严格的求解器相对容差,以确定解在此相对容差下收敛。也就是说,在得到求解结果后,以更精细的求解器容差重复计算解。当解不随求解器容差和网格细化的改变发生明显变化时,便可以认为解已达到收敛状态。在解决上述所有问题之前,请不要研究更精细的求解器容差。

高级物理场设置

在进行网格细化研究和求解器容差细化研究时,如果出现质量守恒问题(流入和流出域的总质量不匹配,或者封闭域中的总质量变化等),可以考虑切换为计算量更大的控制方程守恒形式。“水平集”和“相场”的接口设置中有一个高级设置栏,您可以在其中切换对流项的非守恒形式守恒形式。您需要在“模型开发器”的显示菜单中启用高级物理场选项才能查看这些设置。