openfoam中压力梯度计算不均



  • 最近发现在openfoam计算压力梯度时,用blockMesh生成的均匀网格,给定压力场为均匀初始场,当压力初始场为零时,全场压力梯度为零,但是当压力初始场为101325时,梯度在x,y(2D)方向上绝对值大小为1e-6(由于网格质量引起的数值误差?),虽然这个值量级比较小,但是目前计算的系统网格长度量级为1e-5,会对最终的结果产生误差,我分别在openfoam2.2.x以及openfoam6.0上测试都存在该问题,压力梯度计算方法为Gauss linear,不知道有没有人碰到类似的情况,或者有没有推荐的绘制网格质量较高的软件,我试试在不同网格下计算看看
    下图为压力初始值为101325的压力梯度分布
    (另附测试算例链接https://pan.baidu.com/s/1uFbx_xqbO-5QAbcmTSr-fA)
    p101325.png



  • 你可以试试对grad限制一下,cellLimited Gauss linear



  • 非常感谢李老师,cellLimited Gauss linear 1格式比Gauss linear好很多,运行程序之前运行renumberMesh -overwrite改善网格质量也有作用


 

Forest
Mountains