OpenFOAM计算二维轴对称会不会对Z方向(第三维)进行求解?

大家好,下面是我模拟二维轴对称问题(楔形网格)时的残差输出数据:

# Residuals         
# Time       Ux                  	Uy                  	Uz                  
1                 5.309251929100e-09	1.000000000000e+00	4.436625998480e-26
2                 4.414663995710e-01	2.951341476950e-01	3.919150148100e-01
3          2.663688575780e-01	3.034687781910e-01	2.766193325110e-01
……

为何在Z方向会有残差的输出?Z方向只有一个网格厚度,按道理说,在第三维方向不会进行求解呀。现在我很疑惑,怀疑我做的是不是二维轴对称,请各位帮忙解答一下,谢谢

实际上这个是伪二维的情况,cyclic 边界的一种轴对称情况,z 向是求解的。

\frac{\partial}{\partial\theta}=0

前辈,我用的不是cyclic边界,而是wedge边界。你的意思是说,wedge边界实际上是cyclic边界的轴对称吗?其他软件,如Fluent计算二维轴对称也是这样的伪二维吗?我发现在这个不需要求解的第三维的速度场Uz很难收敛,而Ux和Uy收敛得比较好。这样一来,让我对OpenFOAM的二维轴对称模拟的准确度有点担心

第三维(周向)的速度并不一定是没有的。因此,对其进行解算是有必要的。在 OpenFOAM 的计算中,对于 wedge 边界的处理也是很复杂的,不过可以先看一部分:

template<>
tmp<scalarField> wedgeFvPatchField<scalar>::snGrad() const
{
    return tmp<scalarField >(new scalarField(size(), 0.0));
}

实际上是作出了一定的限制。

对于这样的二维模拟的准确度,我看的文献大概在 5% 左右吧。理论本身是 OK 的。

另外,你可以参考一下 Fluent 里面的情况 https://www.cnblogs.com/LSCAX/p/6427156.html