在非结构化网格求解器的许多情况下,需要计算任意变量的梯度,例如面中心处的温度或速度(其中一种情况是对网格非正交性的校正),可以近似为:
其中和的两个相邻单元格,和是插值权重因子。
现在,和可以近似为整个细胞的平均梯度,使用高斯格林定理为:
其中是面的面法线向量,是细胞体积。
内面的值很容易知道。
- 如果面是边界面并且绝缘怎么办?在这种情况下如何获得?
- 如果人脸有一个固定的边界条件(即人脸只有一个相邻单元格,所以不能使用第一个插值方程),这种情况下如何计算人脸处的梯度?
在非结构化网格求解器的许多情况下,需要计算任意变量的梯度,例如面中心处的温度或速度(其中一种情况是对网格非正交性的校正),可以近似为:
其中和的两个相邻单元格,和是插值权重因子。
现在,和可以近似为整个细胞的平均梯度,使用高斯格林定理为:
其中是面的面法线向量,是细胞体积。
内面的值很容易知道。
免责声明:我不是 100% 确定,但我认为我应该为可能有相同问题的任何未来访问者提供上述问题的工作解决方案。答案是稳定的温度扩散问题。
如果面是边界面并且绝缘怎么办?在这种情况下如何获得?
由于边界面仅与一个单元接触,我们不能使用插值,但由于绝缘边界在其所有面上的梯度为零并且通过假设单元质心和面质心之间的线性变化,因此对于具有面边界的任意单元格,可以写为:
如果面有一个固定的边界条件(意味着面只有一个相邻单元,所以不能使用第一个插值方程),这种情况下如何计算面处的梯度?
同样,由于假设线性轮廓:
其中
我在一个非结构化的非正交网格上尝试了这个,解决方案最终收敛,与 laplacianFoam 有很好的一致性(我仍然没有对偏度进行校正,这证明了与 OpenFOAM 的偏差(并且没有足够的迭代),并使用了简单的高斯-Seidel 求解器),这是中心线温度分布