CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    OpenFOAM边界条件问题

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

      我用OpenFOAM计算外流问题,当来流速度设置为0时可以正常计算,但当来流速度大于零时最多计算一步流道就堵塞了,我怀疑是边界条件有问题。我的边界条件设置如下,请教大家这样搭配可以吗?如果不行应该是怎样呢?
      U

      FoamFile
      {
          version     2.0;
          format      ascii;
          class       volVectorField;
          location    "0";
          object      U;
      }
      // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
      
      dimensions      [0 1 -1 0 0 0 0];
      
      internalField   uniform (0 0 0);
      
      boundaryField
      {
          //- Set patchGroups for constraint patches
          #includeEtc "caseDicts/setConstraintTypes"
      
          inlet
          {
              type            fixedValue;
              value           uniform (0 0 50);
          }
      
          outlet
          {
              type            zeroGradient;
          }
      
          symm
          {
              type            slip;
      
          }
      
      
          propellerW-f
          {
             type            movingWallVelocity;
             value           uniform (0 0 0);
          }
      
          propellerW-s
          {
             type            movingWallVelocity;
             value           uniform (0 0 0);
          }
      
          propellerW-h
          {
             type            fixedValue;
             value           uniform (0 0 0);
          }
      
          propellerW-t
          {
             type            fixedValue;
             value           uniform (0 0 0);
          }
      }
      

      p

      dimensions      [1 -1 -2 0 0 0 0];
      
      internalField   uniform 101325;
      
      boundaryField
      {
          //- Set patchGroups for constraint patches
          #includeEtc "caseDicts/setConstraintTypes"
      
          inlet
          {
              type            zeroGradient;
          }
      
          outlet
          {
              type            fixedValue;
              value           uniform 101325;
          }
      
          symm
          {
              type            slip;
      
          }
      
          wall
          {
              type            zeroGradient;
          }
      }
      
      

      T

      dimensions      [0 0 0 1 0 0 0];
      
      internalField   uniform 293;
      
      boundaryField
      {
          inlet
          {
              type            fixedValue;
              value           uniform 293;
          }
      
          outlet     
          { 
              type            inletOutlet;
              inletValue      uniform 293;
              value           uniform 293;
          }
      
          symm
          {
              type            slip;
      
          }
          "inter.*"
          {
              type            fixedValue;
              value           $internalField;
          }
          wall
          { 
              type            zeroGradient;
          }
        
      
          #includeEtc "caseDicts/setConstraintTypes"
      }
      
      

      nuTilda

      dimensions      [0 2 -1 0 0 0 0];
      
      internalField   uniform 1e-5;
      boundaryField
      {
          //- Set patchGroups for constraint patches
          #includeEtc "caseDicts/setConstraintTypes"
      
          inlet
          {
              type            fixedValue;
              value           uniform 1e-5;
          }
      
          outlet
          {
              type            inletOutlet;
              inletValue      uniform 1e-5;
              value           uniform 1e-5;
          }
      
          symm
          {
              type            slip;
      
          }
      
          wall
          {
              type            fixedValue;
              value           uniform 0;
          }
      }
      

      nut

      dimensions      [0 2 -1 0 0 0 0];
      
      internalField   uniform 8.58e-6;
      
      boundaryField
      {
          //- Set patchGroups for constraint patches
          #includeEtc "caseDicts/setConstraintTypes"
      
          inlet
          {
              type            fixedValue;
              value           uniform 8.58e-6;
          }
      
          outlet
          {
              type            inletOutlet;
              inletValue           uniform 8.58e-06;
              value           uniform 8.58e-06;
          }
      
          symm
          {
              type            slip;
      
          }
      
          wall
          {
              type            nutUSpaldingWallFunction;
              value           uniform 0;
          }
      }
      
      

      alphat

      dimensions      [1 -1 -1 0 0 0 0];
      
      internalField   uniform 0;
      
      boundaryField
      {
          inlet     
          {
              type    calculated;
              value   uniform 0;
          }
          outlet    
          { 
              type    calculated;
              value   uniform 0;
          }
      
          symm
          {
              type            slip;
      
          }
          "inter.*"
          {
              type            fixedValue;
              value           $internalField;
          }
          wall
          {
              type            compressible::alphatWallFunction;
              Prt             0.85;
              value           uniform 0;
          }
      
          #includeEtc "caseDicts/setConstraintTypes"
      }
      
      

      其中inlet,outlet,分别是进口和出口,几何边界条件为patch;symm为四周的自由边界,为柱状,几何边界条件为patch,propeller是计算的螺旋桨,几何边界条件为Wall;计算所用湍流模型为SA模型,所用求解器为rhoSimpleFoam,设置了两块MRF区域,MRF设置如下:

      FoamFile
      {
          version     2.0;
          format      ascii;
          class       dictionary;
          location    "constant";
          object      MRFProperties;
      }
      // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
      
      MRF1
      {
          cellZone    sector_part1;
          active      yes;
      
          Fixed patches (propellerW-f);
          nonRotatingPatches ();
      
          origin    (0 0 0);
          axis      (0 0 1);
          omega     112.5737; // rad/s
      }
      
      MRF2
      {
          cellZone    sector_part2;
          active      yes;
      
          Fixed patches (propellerW-s);
          nonRotatingPatches ();
      
          origin    (0 0 0);
          axis      (0 0 1);
          omega     -112.5737; // rad/s
      }
      
      
      1 条回复 最后回复 回复 引用
      • First post
        Last post