如何提高 CFD 模型的收敛性
发布网友
发布时间:2022-04-22 03:23
我来回答
共1个回答
热心网友
时间:2023-07-15 00:46
如何提高 CFD 模型的收敛性
你是否正在 CFD 分析中求解湍流问题?如果是的话,那么应该知道,得到数值解相当困难,要花费大量的计算时间。湍流模型方程中产生的非线性是引起这一问题的主要原因。黏度递变方法,先求解黏度较高的问题,将其解作为求解黏度较低的问题的初始条件,可以缩短计算时间。我们将向你展示如何利用 COMSOL Multiphysics 实现这种技术。
为什么增加黏度能提高 CFD 的收敛性?
在开始模拟任何流体的流动之前,通常会检查雷诺数,其公式为:
其中 是密度, 是流体的动力黏度。 是特征速度, 是模拟系统的特征长度。
雷诺数指流动时惯性力与黏性力之间的比值。计算出雷诺数有助于确定用 COMSOL Multiphysics 进行的是层流还是湍流分析。例如,在微流体通道中,特征速度和特征长度都相对较小,得出的雷诺数较低,所以这种流动是层流。相比之下,车辆周身气流速度较快,雷诺数较高,所以这种流动是湍流。你可以查阅之前的博客文章,了解关于流动的更多特性。
在使用 CFD 求解流体流动的问题时,找出湍流问题的数值解往往比求解层流问题更具挑战性。为了解其中的原因,我们来看一下求解的方程。对于湍流,COMSOL Multiphysics 会求解 Navier-Stokes 方程形式的雷诺平均 Navier-Stokes(Reynolds-averaged Navier-Stokes, 简称 RANS)公式。RANS 公式引入了一个新变量,即湍流黏度,用来描述流动时的湍流等级。计算湍流黏度时,会使用本软件仿真中应用的湍流模型所定义的其他方程。
例如,k-ε 湍流模型利用湍流动能(k)和湍流耗散率(ε)计算湍流黏度。湍流模型方程与 Navier-Stokes 方程形式相似,都含有线性项和非线性项。湍流方程中出现的非线性问题是高雷诺数仿真更难以实现收敛的原因。要了解选择哪种湍流模型的更多信息,请查阅这篇博客文章。
所以,对于高雷诺数的仿真,我们必须使用湍流模型,并利用 COMSOL Multiphysics 求解高度非线性的方程。一开始就设置一个良好的初始条件有助于使非线性问题收敛,如此处所述。流体黏度决定了方程的非线性程度。我们先求解黏度较高的模型,即求解更可能收敛的弱非线性问题。然后,为了提高收敛性,将求解得到的高黏度结果作为真正要求解的低黏度问题的良好初始条件。这一方法称作黏度递变。
借助黏度递变方法,先求解黏度较高的流体模型,然后逐渐降低黏度进行求解,直到期望值,因此需要求解一系列模型。黏度较高问题的解用作求解下一个黏度较低问题的初始条件。先求解黏度较高的模型,也就是雷诺数更低的模型。由此我们先从更易收敛的弱非线性模型开始。逐步降低黏度(从而提高雷诺数),使其回到原始值,我们将弱非线性问题的求解转变成对强非线性问题的求解,通过这一过程最终获得初始模型的答案。接下来看一看如何在 COMSOL Multiphysics 中进行操作。
利用 COMSOL Multiphysics 实现黏度递变
假定 COMSOL Multiphysics 中已建立了一个 CFD 模型,并且希望提高其收敛性。黏度梯度技术包括三个步骤:
创建递变参数
将黏度与递变参数相乘
在研究中定义递变参数的辅助扫描
首先,定义要与黏度相乘的新参数。我们在参数中设置的“visc_ramp”值并不重要,因为随后定义的辅助扫描会覆盖这个当前值。