CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

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

    OpenFOAM
    4
    17
    2401
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • S
      Samuel-Tu 最后由 Samuel-Tu 编辑

      模拟建筑物风场,使用了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验证的结果与论文更接近。
      波 1 条回复 最后回复 回复 引用
      • 李东岳
        李东岳 管理员 最后由 编辑

        最小网格尺寸与fluent一样

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

        线上CFD课程开始报名:http://www.dyfluid.com/class.html

        CFD高性能服务器 http://dyfluid.com/servers.html

        S 1 条回复 最后回复 回复 引用
        • S
          Samuel-Tu @李东岳 最后由 编辑

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

          1 条回复 最后回复 回复 引用
          • 李东岳
            李东岳 管理员 最后由 编辑

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

            线上CFD课程开始报名:http://www.dyfluid.com/class.html

            CFD高性能服务器 http://dyfluid.com/servers.html

            S 2 条回复 最后回复 回复 引用
            • S
              Samuel-Tu @李东岳 最后由 编辑

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

              1 条回复 最后回复 回复 引用
              • 波
                波流力 @Samuel-Tu 最后由 编辑

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

                S 1 条回复 最后回复 回复 引用
                • S
                  Samuel-Tu @波流力 最后由 编辑

                  @波流力 好的。

                  1 条回复 最后回复 回复 引用
                  • S
                    Samuel-Tu @李东岳 最后由 编辑

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

                    1 条回复 最后回复 回复 引用
                    • S
                      Samuel-Tu 最后由 编辑

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

                      1 条回复 最后回复 回复 引用
                      • S
                        Samuel-Tu 最后由 编辑

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

                        波 1 条回复 最后回复 回复 引用
                        • 波
                          波流力 最后由 编辑

                          你库朗数多少?

                          S 1 条回复 最后回复 回复 引用
                          • 波
                            波流力 @Samuel-Tu 最后由 编辑

                            @Samuel-Tu 保持小于0.5试试

                            1 条回复 最后回复 回复 引用
                            • S
                              Samuel-Tu @波流力 最后由 编辑

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

                              1 条回复 最后回复 回复 引用
                              • S
                                Samuel-Tu 最后由 编辑

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

                                1 条回复 最后回复 回复 引用
                                • 李东岳
                                  李东岳 管理员 最后由 编辑

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

                                  OpenFOAM网格是3D,

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

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

                                  线上CFD课程开始报名:http://www.dyfluid.com/class.html

                                  CFD高性能服务器 http://dyfluid.com/servers.html

                                  S 1 条回复 最后回复 回复 引用
                                  • S
                                    Samuel-Tu @李东岳 最后由 编辑

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

                                    1 条回复 最后回复 回复 引用
                                    • H
                                      Hope 最后由 Hope 编辑

                                      你是否比较Upwind格式下的残差曲线和linearUpwind 格式的差别呢?这两方法在OpenFOAM中的收敛性是不一样的。或者设置Porbes探针观察下数据采样点最后的波动情况。我觉的是收敛性影响的。有复杂地形或者建筑群的边界层计算时,OpenFOAM高阶阶方案的收敛性并不好,会影响计算精度@李东岳

                                      博士生涯收敛

                                      1 条回复 最后回复 回复 引用
                                      • First post
                                        Last post