导读:介绍CFD计算中变量梯度的求解,分析Green-Gauss Cell Based和Green-Gauss Node Based两种方法。
背景
在CFD计算中,变量均会被储存在网格中心,无论是在Openfoam、Fluent、Star CCM上面的计算,都遵循这个规则。
(这与Ansys CFX有区别,变量在CFX中是存储在节点上。)
CFD代码会在网格中心计算这些变量。
但如果想得到这些变量的梯度呢?需要注意的是,在笛卡尔坐标系中,变量的梯度具有三个分量,以温度为例:
如果已经网格中心的变量值,则其梯度也就容易获得。
为什么在CFD计算需要这些梯度?
1)如果对流项采用线性迎风差分方案时,这时候需要用到变量的梯度:
2)对于一些质量差的网格进行非正交修正,需要用到梯度;
3)计算某些源项时,会用到变量的梯度。
在CFD计算中,都需要先设定好梯度的计算方案,比方说在OpenFoam的计算中,这里选择的是高斯离散:
比方说在FLuent计算中,需要设置好空间的离散方案,这里选择的是最小二乘单元格:
1D梯度计算
当网格沿着 方向时,通过一个网格面的梯度就可以表示为:
其中 表示相邻网格的距离。当然变量在三个方向都有梯度,在Y方向,Z方向。对于网格的左表面也是用同样的方法来计算梯度。
对于网格 的梯度,对于一维而言,可以取左右平面的梯度的平均值来获得。但在三维中这种方式并不准确。
3D梯度计算
在三维中,网格具有多个指向不同方向的网格面,网格面也会有三角形,四边形,多边形等。
目前有三种方法可以计算网格中心变量的梯度。
1)Green-Gauss Cell Based(线性方案)
2)Green-Gauss Nodeed(节点线性方案)
3)Least-Squares(最小二乘法)
本文着重介绍前面两种方案。
基于网格与基于节点方案
根据网格面 中心变量计算方法的不同Green-Gauss方法可以分为两种:
1)线性差值(Green-Gauss Cell Based);
2)节点平均(Green-Gauss Node Based)。
基于线性插值方法获得网格中心面的值。
其中 为相邻网格之间的距离系数。方案。
基于节点方案就是取围绕网格面的节点的平均值,来获得网格面中心值:
两种方案的区别
1)偏斜度误差(Skewness Error):基于网格方案(reen-Gauss Cell Based)计算的面中心值与实际有一定的偏差,如下图所示:相反,基于节点方案(Green-Gauss Node Based)则不会出现这种问题,换句话而言,基于节点方案计算更加精确。、
2)计算量:基于节点方案计算量更大,计算过程中必须将节点上的温度作为单独的变量来计算,这里不做展开。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删