OpenFOAM中的场松弛和方程松弛

场松弛和方程松弛

之前在调整PIMPLE算法中,里面对松弛因子的调整有:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
relaxationFactors
{
fields
{
p 0.9;
pFinal 0.9;
}
equations
{
p 0.9;
U 0.9;
UFinal 0.9;
}

}

  查询资料发现:在进行松弛的过程中,实际上是有两种类型的松弛化的。一种是对动量方程的松弛,目的是增加对角占优的特性,使得方程更加稳定,不容易发散。另一种是直接对场如压力场、湍动能场和温度场进行松弛。

方程的松弛化

  动量方程可以写成以下的形式:

  其中是对角元,是其他非对角元。那么在两端在两端加上一个松弛因子,即有:

  那么当收敛的时候,两端附加项就消失了。
  整理公式有,可以得到:

  那么当,对角元将会变得更大,方程也就变得更加稳定(不容易发散)。

场的离散

  传统方式里面,我们使用松弛化,是应用在解向量/矩阵里面。
  比如对于压力场的解,可以松弛化为:
  同理,我们也可以将其应用在其他的标量输运方程里面,比如说湍动能和温度项:

  是松弛因子,如果,那么当前迭代步的值将就是当前迭代步的值,没有任何旧迭代步的影响。如果,当前迭代步等于前一个迭代步的值。

参考连接

  [1] [CFD] The PISO Algorithm
  [2] Difference between “fields” and “equations” relaxation sub-directories in fvSolution
  [3] OpenFOAM User Guide:Under relaxation

Buy me a coffee
OYYO WeChat Pay WeChat Pay