CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    求助:rhoSimpleFoam求解残差很高的问题

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

      这是一个关于pressureDirectedInletVelocity 这个入口边界条件的一个问题,具体如下:
      如图所示,计算所用的我现在用一个长方形的几何,单纯测试进口,里面没有任何几何。现在准备用规定速度方向的边界条件产生一个亚声速的入口条件,求解器用rhoSimpleFoam。
      b99f13aa-c8b7-4dd8-bd79-ce03b5263b13-图片.png
      从模拟的结果数据而言,计算产生的流场是非常均匀,压力项随时间基本不变,都是1e5这个值,其余参数和预期符合也是比较好的,但是残差却非常高。我尝试着修改求解器的压力项和出口条件,但是结果并没有发生明显的变化。
      这里给出我的求解残差图
      31d5357d-9cfc-40b4-a0c5-77ee32add263-图片.png
      现在怀疑是差分和求解控制那一块有问题,但是我试了很多次都没有找到问题的所在,所以请求路过的大神帮忙看一下,提些建议。这里给出fvSchemes和fvSolution。整个计算设置的原文件也会在后面给出。

      FoamFile
      {
          version     2.0;
          format      ascii;
          class       dictionary;
          object      fvSchemes;
      }
      // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
      
      ddtSchemes
      {
          default         steadyState;
      }
      
      gradSchemes
      {
          default         Gauss linear;
      
          limited         cellLimited Gauss linear 1;
          grad(U)         $limited;
          grad(k)         $limited;
          grad(omega)     $limited;
      }
      
      divSchemes
      {
          default         none;
      
         // div(phi,U)      bounded Gauss linearUpwind limited;
          /*div(U)              Gauss linear;
          div(tauMC)          Gauss linear;
          div(phi,epsilon)    bounded Gauss upwind;
          div(phi,k)          bounded Gauss upwind;
          div(phi,omega)      bounded Gauss upwind;*/
          //div(U)              Gauss linear;
         /* div(phi,U)      bounded Gauss linearUpwind limited; 
          turbulence      bounded Gauss upwind;
          energy          bounded Gauss linearUpwind limited;
      
          div(phi,k)      $turbulence;
          div(phi,omega)  $turbulence;
      
          div(phi,e)      $energy;
          div(phi,K)      $energy;
          div(phi,Ekp)    $energy;
      
          div(phid,p)     Gauss linearUpwind limited;
          div((phi|interpolate(rho)),p)  bounded Gauss upwind;
      
          div(((rho*nuEff)*dev2(T(grad(U)))))    Gauss linear;*/
      	/*efault         none;
          div(phi,U)      bounded Gauss limitedLinearV 1;
          div(phi,k)      bounded Gauss limitedLinear 1;
          div(phi,epsilon) bounded Gauss limitedLinear 1;
          div(phi,R)      bounded Gauss limitedLinear 1;
          div(R)          Gauss linear;
          div(phi,nuTilda) bounded Gauss limitedLinear 1;
          div((nuEff*dev2(T(grad(U))))) Gauss linear;*/
          default         none;
      
          div(phi,U)     bounded Gauss linearUpwindV Gauss linear;
          div(phid,p)     bounded Gauss linearUpwind Gauss linear;
          div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
          div(phi,e)      bounded Gauss linearUpwind Gauss linear;
          div(phi,omega) bounded Gauss linearUpwind Gauss linear;
          div(phi,k)     bounded Gauss linearUpwind Gauss linear;
          div(phi,Ekp)   bounded Gauss linearUpwind Gauss linear;
          div(phiv,p)     bounded Gauss linearUpwind Gauss linear;
          div(phi,K) bounded Gauss linearUpwind Gauss linear;
      }
      
      laplacianSchemes
      {
          default         Gauss linear corrected;
      }
      
      interpolationSchemes
      {
          default         linear;
      }
      
      snGradSchemes
      {
          default         corrected;
      }
      
      wallDist
      {
          method meshWave;
      }
      
      // ************************************************************************* //
      
      FoamFile
      {
          version     2.0;
          format      ascii;
          class       dictionary;
          object      fvSolution;
      }
      // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
      
      solvers
      {
          p
          {
              solver          GAMG;
              smoother        GaussSeidel;
              tolerance       1e-6;
              relTol          0.01;
          }
      
          "(U|k|omega|e)"
          {
              solver          PBiCGStab;
              preconditioner  DILU;
              tolerance       1e-6;
              relTol          0.1;
          }
      }
      
      SIMPLE
      {
          residualControl
          {
              p               1e-6;
              U               1e-6;
              "(k|omega|e)"   1e-6;
          }
      
          nNonOrthogonalCorrectors 0;
          pMinFactor      0.1;
          pMaxFactor      2;
      }
      /*
      potentialFlow
      {
          nCorrectors 10;
      }*/
      
      relaxationFactors
      {
          fields
          {
              p               0.7;
              rho             0.01;
          }
          equations
          {
              U               0.3;
              e               0.7;
              "(k|omega)"     0.7;
          }
      }
      
      // ************************************************************************* //
      

      原文件如下:toCFDCHINA.zip

      1 条回复 最后回复 回复 引用
      • 宝
        宝丁 最后由 编辑

        勘误:计算所用的我现在用是一个长方形的几何
        计算散的我精神已经恍惚了,明明是一个很简单的问题:xinlei:

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