算例比较upwind与linearUpwind对结果的影响



  • 模拟建筑物风场,使用了fluent和OpenFOAM,主要对比了对流格式的影响,发现OpenFOAM的upwind算的摩擦速度竟然比linearUpwind更接近论文结果。难以理解,希望大家给与看法。
    需要说明的是参考论文采用了fluent计算,fluent,OpenFOAM湍流模型均为realizable k-$\epsilon$。

    fluent计算

    • 首先是使用fluent进行计算,由于fluent默认的动量方程的格式就是二阶迎风,只有湍流k和$\epsilon$采用了一阶迎风,因此对湍流k和$\epsilon$的格式进行变量控制
    k $\epsilon$ 梯度 动量
    fluentCase1 一阶迎风 一阶迎风 最小二乘法 二阶迎风
    fluentCase2 二阶迎风 二阶迎风 最小二乘法 二阶迎风

    计算结果与论文比较见图1

    89e74b69-13f4-4bbf-8edb-f94e3bae8e43-image.png
    图1 fluent与论文摩擦速度计算结果

    可以看出,湍流k和$\epsilon$使用二阶迎风格式后,与论文更加接近,可以认为使用二阶迎风格式后,计算更加准确。

    OpenFOAM计算

    • 由于通过fluent计算发现,湍流k和$\epsilon$采用二阶迎风格式后,计算能更加准确,因此OpenFOAM计算中,对流的k和$\epsilon$项均采用二阶迎风,变量控制为网格和速度的对流项格式:
    div(phi,U) k和$\epsilon$ grad laplace solver
    OFCase1(最小网格尺寸与fluent一样) Gauss upwind Gauss linearUpwind default Gauss linear Gauss linear corrected SIMPLE+非正交修正1次
    OFCase2(网格与OFCase1相同) Gauss linearUpwind grad(U) Gauss linearUpwind default Gauss linear Gauss linear corrected SIMPLE+非正交修正1次
    OFFinerCase1(最小网格尺寸比OFCase1精细) Gauss upwind Gauss linearUpwind default Gauss linear Gauss linear corrected SIMPLE+非正交修正2次
    OFFinerCase2(网格与OFFinerCase1相同) Gauss linearUpwind grad(U) Gauss linearUpwind default Gauss linear Gauss linear corrected SIMPLE+非正交修正2次

    计算结果与论文比较见图2

    e4e50d4d-9a9d-4df4-a355-52320d363d06-image.png
    图2 OpenFOAM与论文摩擦速度计算结果

    由图2可以看出:
    1.网格加密和非正交修正对结果影响已经不大,影响结果的是div(phi,U)的格式
    2. Gauss upwind 比 Gauss linearUpwind grad(U)的摩擦速度计算结果更接近论文

    最优结果综合

    2689398f-1885-4b5b-9f51-046585b5b0f3-image.png
    图3 最优结果综合

    结论

    1. fluent中尽量采用二阶格式,由于动量已经采用了二阶迎风,湍流默认的一阶迎风,应改为二阶迎风使用
    2. OpenFOAM中div(phi,U)项使用Gauss upwind结果比Gauss linearUpwind grad(U)更接近论文,不知原因,希望大家指教
    3. fluent和OpenFOAM计算结果有差异,但差距不大。由于论文本身采用的是fluent计算,因此使用fluent验证的结果与论文更接近。


  • 最小网格尺寸与fluent一样

    OpenFOAM与FLuent为什么不采用同样的网格?



  • @东岳 是一样的网格,只是fluent是2D的网格,OpenFOAM网格是3D,但是使用二维计算的。OF网格完全是由fluent网格沿着z轴拉伸得到的。因此可以说fluent网格与OF网格其实是一样的。。



  • @Samuel-Tu https://www.cfd-china.com/topic/3259 这个帖子里面2D与3D有完全不同的结果



  • @东岳 论文也是用的fluent 2D算的,因此我在OF中也是用的二维计算。入口的边界设置的速度,k和$\epsilon$的剖面也是一致的。



  • @Samuel-Tu OpenFOAM中div(phi,U)项采用 linear的精度要比linearUpwind高,你用linear格式算一个看看结果



  • @波流力 好的。



  • @东岳 能再编辑这个帖子吗。我还想补充一下壁面条件的设置。。我都是加了低雷诺修正的。。



  • 二阶迎风反而比一阶迎风差的特别远,不知道为什么会这样。。。



  • 补充OF div(phi,U)项采用 linear计算结果,OFFinerCase3
    ab95399a-6169-48b2-b4f0-28bc16d0de44-image.png
    差距还是挺大的,感觉还是upwind最接近论文



  • 你库朗数多少?



  • @Samuel-Tu 保持小于0.5试试



  • @波流力 simpleFoam不用库朗数,这是稳态计算



  • 我现在不知道是不是我k和$\epsilon$的初始场设置的原因。内部初始场我是用的相应剖面的平均值。



  • @Samuel-Tu算例比较upwind与linearUpwind对结果的影响 中说:

    OpenFOAM网格是3D,

    因此我在OF中也是用的二维计算。

    是如何用3D网格进行的二维计算?



  • @东岳 y方向是不计算的方向,因此y方向只画了一层网格(fluent二维网格必须是x-y方向的,因此在hyperMesh中把fluent网格先绕x轴旋转90度,变为x-z方向,再沿着y方向推出一层网格,就变为三维网格了),然后再把平行于x-z平面的两个面设置为empty。


Log in to reply
 

CFD中文网 2016 - 2020 | 京ICP备15017992号-2