CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    RANS 高雷诺数 圆柱绕流

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

      之前一直用LES, 现在尝试RANS,有一些问题希望和大家探讨一下。
      现在再算的算例基本概况:三维圆柱绕流,雷诺数15w,现在采用RNG k-epsilon模型,结构化网格质量较高。
      虽然刚算了一会但是对于RANS的y+取值有一些困惑。

      1. 网上基本上是说k-e模型的y+在30-200之间最好,要大于11。这个数值是针对的最大值,最小值,还是平均值呢?

      查看了最近的时间步的y+,数值如下。可以看到最小值和最大值差的很远,最小值也是落在了粘性底层的范围内。(个人认为可能小范围的偏差不要紧,只要平均值满足即可,于是我查看了y+的分布)

      Patch 2 named cylinderwalls y+ : min: 2.63471 max: 66.0352 average: 37.2911
      

      y+分布如下。来流为x+方向。可以看到分离之后大片区域是在10以下的。
      yplus.jpg

      一开始打算算的是5w的例子,结果发现用该湍流模型min y+很难增大到所谓的30。 于是同时调整了雷诺数和网格厚度,现在的网格首层已经达到0.01D和15w雷诺,觉得已经很粗糙了。可是y+结果还是偏差比较大。

      1. 采用k-e算例是会使得y+难以增大到11以上吗,还是所谓的高雷诺数指的是相当量级的值(譬如50w)?

      附上现在的算例文档,有感兴趣的同学可以一起探讨下。suanli.zip

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

        更新一下
        算了300个无量纲时间步,Cd-0.6,Clrms-0.31.
        b-15.jpg
        在15w雷诺数的时候应该还没有到临界,Cd应该在1-1.2的量级。
        不知道是不是y+在背风面过小的问题(2.5左右)。
        我加大了第一层网格,0.03D重新算。

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

          重新画了mesh,模型改成了sst。Re 5w
          结果更奇怪了,直接算不下去。下图无量纲时间步
          untitled.jpg

          现在mesh的y+平均1.5,max 3,min0.11。应该是没什么问题,质量也很高。
          上下cyclicAMI边界,圆形流域,spanwise piD。
          没想到一个RANS花了这么多天还没算好。。
          有大佬能帮我看看么:qichuang:

          k

          dimensions      [0 2 -2 0 0 0 0];
          
          internalField   uniform 0.0021;
          
          boundaryField
          {
              front
              {
                  type            cyclicAMI;
                  value           uniform 0.0021;
              }
              back
              {
                  type            cyclicAMI;
                  value           uniform 0.0021;
              }
              inlet
              {
                  type            fixedValue;
                  value           uniform 0.0021;
              }
              outlet
              {
                  type            inletOutlet;
                  inletValue      internalField;
                  value           $internalField;
              }
              cylinderwalls
              {
                  type            kqRWallFunction;
                  value           uniform 0.0021;
              }
          }
          

          omega

          dimensions      [ 0 0 -1 0 0 0 0 ];
          
          internalField   uniform 10.9;
          
          boundaryField
          {
              cylinderwalls
              {
                  type            omegaWallFunction;
                  value           $internalField;
              }
              front
              {
                  type            cyclicAMI;
              }
              back
              {
                  type            cyclicAMI;
              }
              inlet
              {
                  type            fixedValue;
                  value           uniform 10.9;
              }
              outlet
              {
                  type            inletOutlet;
                  inletValue      internalField;
                  value           $internalField;
              }
          }
          

          nut

          dimensions      [0 2 -1 0 0 0 0];
          
          internalField   uniform 0;
          
          boundaryField
          {
              inlet
              {
                  type            calculated;
                  value           uniform 0;
              }
              outlet
              {
                  type            calculated;
                  value           uniform 0;
              }
              cylinderwalls
              {
                  type            nutkWallFunction;
                  value           uniform 0;
              }
              front
              {
                  type            cyclicAMI;
              }
              back
              {
                  type            cyclicAMI;
              }
          }
          

          p

          dimensions      [0 2 -2 0 0 0 0];
          
          internalField   uniform 0;
          
          boundaryField
          {
              front
              {
                  type            cyclicAMI;
                  value           uniform 0;
              }
              back
              {
                  type            cyclicAMI;
                  value           uniform 0;
              }
              inlet
              {
                  type            zeroGradient;
              }
              outlet
              {
                  type            fixedValue;
                  value           uniform 0;
              }
              cylinderwalls
              {
                  type            zeroGradient;
              }
          }
          

          U

          dimensions      [0 1 -1 0 0 0 0];
          
          internalField   uniform (7.5 0 0);
          
          boundaryField
          {
              front
              {
                  type            cyclicAMI;
                  value           uniform (7.5 0 0);
              }
              back
              {
                  type            cyclicAMI;
                  value           uniform (7.5 0 0);
              }
              inlet
              {
                  type            fixedValue;
                  value           uniform (7.5 0 0);
              }
              outlet
              {
                  type            zeroGradient;
              }
              cylinderwalls
              {
                  type            fixedValue;
                  value           uniform (0 0 0);
              }
          }
          

          fvscheme

          ddtSchemes
          {
              default         backward;
          }
          
          gradSchemes
          {
              default         Gauss linear;
              grad(p)         Gauss linear;
              grad(U)         Gauss linear;
          }
          
          divSchemes
          {
              default         none;
              div(phi,U)      Gauss limitedLinearV 0.5;
              div(phi,k)      Gauss limitedLinear 1;
              div(phi,omega) Gauss limitedLinear 1;
              div(phi,R)      Gauss limitedLinear 1;
              div(R)          Gauss linear;
              div(phi,B)      Gauss limitedLinear 1;
              div(B)          Gauss linear;
              div(phi,nuTilda) Gauss limitedLinear 1;
              div((nuEff*dev(T(grad(U))))) Gauss linear;
          }
          
          laplacianSchemes
          {
              default         Gauss linear corrected;
          }
          
          interpolationSchemes
          {
              default         linear;
              interpolate(U)  linear;
          }
          
          snGradSchemes
          {
              default         corrected;
          }
          
          fluxRequired
          {
              default         no;
              p;
              Phi;
          }
          

          fvsolution

          solvers
          {
              p
              {
                  solver          GAMG;
                  tolerance       1e-04;
                  relTol          0;
                  smoother        GaussSeidel;
                  cacheAgglomeration true;
                  nCellsInCoarsestLevel 200;
                  agglomerator    faceAreaPair;
                  mergeLevels     1;
              }
          
              pFinal
              {
                  solver          GAMG;
                  tolerance       1e-06;
                  relTol          0;
                  smoother        GaussSeidel;
                  cacheAgglomeration true;
                  nCellsInCoarsestLevel 200;
                  agglomerator    faceAreaPair;
                  mergeLevels     1;
              }
          
              "(U|k|nut|omega)"
              {
                  solver          PBiCG;
                  preconditioner  DILU;
                  tolerance       1e-05;
                  relTol          0;
              }
          
              "(U|k|nut|omega)Final"
              {
                  $U;
                  tolerance       1e-06;
                  relTol          0;
              }
          }
          
          PIMPLE
          {
              nOuterCorrectors 3;
              nCorrectors     2;
              nNonOrthogonalCorrectors 1;
              pRefCell        0;
              pRefValue       0;
          }
          
          1 条回复 最后回复 回复 引用
          • 李东岳
            李东岳 管理员 最后由 编辑

            替代文字

            这个图最后怎么回事 不太正常 算例网格多少万 小的话我可以给你调一下

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

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

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

              http://dyfluid.com/icoFoam.html 另外 这个例子你看过么 最后那个扰流

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

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

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