CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    关于数值模拟离心泵过程中发散的一些问题

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

      在用MRFSimpleFoam求解离心泵过程中当divSchemes采用一阶的upwind时计算可以收敛,没问题,但是采用如下的高阶格式时计算基本不能进行下去,只能算一两步,这个问题出在哪里? 请帮忙解决,谢谢

      divSchemes
      {
          default         none;
          div(phi,U)      Gauss limitedLinearV 1;
          div(phi,k)      Gauss limitedLinear 1;
          div(phi,epsilon) Gauss limitedLinear 1;
          div((nuEff*dev(T(grad(U))))) Gauss linear;
      }
      fvSolution 文件如下
      solvers
      {
          p
          {
              solver           GAMG;
              tolerance        1e-6;
              relTol           0.05;
             smoother         GaussSeidel;
             cacheAgglomeration true;
              nCellsInCoarsestLevel 800;
              agglomerator     faceAreaPair;
              mergeLevels      1;
          }
      
          U
          {
              solver           smoothSolver;
              smoother         GaussSeidel;
              nSweeps          2;
              tolerance        1e-5;
              relTol           0.1;
          }
      
          k
          {
              solver           smoothSolver;
              smoother         GaussSeidel;
              nSweeps          2;
              tolerance        1e-5;
              relTol           0.1;
          }
      
          epsilon
          {
              solver           smoothSolver;
              smoother         GaussSeidel;
              nSweeps          2;
              tolerance        1e-5;
              relTol           0.1;
          }
      }
      
      SIMPLE
      {
          nNonOrthogonalCorrectors 1;
          pRefCell 0;
          pRefValue 0;
      }
      relaxationFactors
      {
          p               0.3;
          U               0.5;
          k               0.5;
          epsilon         0.5;
      }
      1 条回复 最后回复 回复 引用
      • 李东岳
        李东岳 管理员 最后由 编辑

        很难判断,和网格,边界关系很大,simpleFoam是一个很简单的求解器,发散只能是设置的问题肯定不是求解器的问题。有的时候离心泵计算要使用并不是太稳定的边界条件组合。只能说检查下边界条件和网格质量。或许可以贴log文件看看。

        CFD高性能服务器 http://dyfluid.com/servers.html
        2023年,线下CFD课,预热一下 http://dyfluid.com/class.html

        1 条回复 最后回复 回复 引用
        • C
          cfd-cxb 最后由 编辑

          谢谢前辈,下面是网格质量检查的log文件,用的是非结构网格

          Create time
          
          Create polyMesh for time = 0
          
          Time = 0
          
          Mesh stats
              all points:           249875
              live points:          249875
              all faces:            2796614
              live faces:           2796614
              internal faces:       2718602
              cells:                1378804
              boundary patches:     10
              point zones:          0
              face zones:           3
              cell zones:           3
          
          Overall number of cells of each type:
              hexahedra:     0
              prisms:        0
              wedges:        0
              pyramids:      0
              tet wedges:    0
              tetrahedra:    1378804
              polyhedra:     0
          
          Checking topology...
              Boundary definition OK.
              Point usage OK.
              Upper triangular ordering OK.
              Face vertices OK.
             *Number of regions: 3
              The mesh has multiple regions which are not connected by any face.
            <<Writing region information to "0/cellToRegion"
          Nuumber of cells per region: 
          	0	192712
          	1	282795
          	2	903297
          
          
          Checking patch topology for multiply connected surfaces ...
              Patch               Faces    Points   Area [m^2]  Surface topology                  
              GUIDE-INLET         1454     777      0.00621397  ok (non-closed singly connected)  
              GUIDE-OUTLET        1444     771      0.00621367  ok (non-closed singly connected)  
              GUIDE-BIMIAN        5252     2723     0.0167709   ok (non-closed singly connected)  
              IMPELLER-INLET      1866     985      0.00621398  ok (non-closed singly connected)  
              IMPELLER-OUTLET     3747     2037     0.0122964   ok (non-closed singly connected)  
              IMPELLER-BIMIAN     9398     5365     0.0300004   ok (non-closed singly connected)  
              IMPELLER-BLADE      11873    6399     0.0358377   ok (non-closed singly connected)  
              VOLUTE-OUTLET       1238     665      0.00502107  ok (non-closed singly connected)  
              VOLUTE-INLET        3708     2041     0.0122965   ok (non-closed singly connected)  
              VOLUTE-BIMIAN       38032    19247    0.110309    ok (non-closed singly connected)  
          
          Checking geometry...
              This is a 3-D mesh
              Overall domain bounding box (-0.0994947 -0.12194 -0.105381) (0.0399865 0.18 0.134736)
              Mesh (non-empty, non-wedge) directions (1 1 1)
              Mesh (non-empty) directions (1 1 1)
              Mesh (non-empty, non-wedge) dimensions 3
              Boundary openness (1.39036e-16 7.89536e-17 1.26213e-17) Threshold = 1e-06 OK.
              Max cell openness = 3.12848e-16 OK.
              Max aspect ratio = 4.28896 OK.
              Minumum face area = 7.24618e-07. Maximum face area = 7.48018e-06.  Face area magnitudes OK.
              Min volume = 3.60661e-10. Max volume = 5.62725e-09.  Total volume = 0.00266114.  Cell volumes OK.
              Mesh non-orthogonality Max: 50.7974 average: 7.4258 Threshold = 70
              Non-orthogonality check OK.
              Face pyramids OK.
              Max skewness = 0.52081 OK.
          
          Mesh OK.
          
          End
          1 条回复 最后回复 回复 引用
          • C
            cfd-cxb 最后由 编辑

            边界条件:
            进口:速度进口,压力零梯度
            出口:速度零梯度,压力固定值0
            壁面:速度固定值(0 0 0),压力零梯度

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

              运算的log文件贴一下?simpleFoam的log

              CFD高性能服务器 http://dyfluid.com/servers.html
              2023年,线下CFD课,预热一下 http://dyfluid.com/class.html

              1 条回复 最后回复 回复 引用
              • C
                cfd-cxb 最后由 编辑

                您好,算例运行不起来,只能跑一步

                Create time
                
                Create mesh for time = 0
                
                Initializing the GGI interpolator between master/shadow patches: GUIDE-OUTLET/IMPELLER-INLET
                Initializing the GGI interpolator between master/shadow patches: IMPELLER-OUTLET/VOLUTE-INLET
                
                SIMPLE: no convergence criteria found. Calculations will run for 1400 steps.
                
                Reading field p
                
                Reading field U
                
                Reading/calculating face flux field phi
                
                Selecting incompressible transport model Newtonian
                Selecting RAS turbulence model RNGkEpsilon
                RNGkEpsilonCoeffs
                {
                    Cmu             0.0845;
                    C1              1.42;
                    C2              1.68;
                    alphak          1.39;
                    alphaEps        1.39;
                    eta0            4.38;
                    beta            0.012;
                    sigmak          0.71942;
                    sigmaEps        0.71942;
                }
                
                Creating MRF for cell zone IMPELLER. rpm = 2900
                Excluded patches: 2(3 4)
                
                Starting time loop
                
                Time = 1
                
                smoothSolver:  Solving for Ux, Initial residual = 1, Final residual = 0.0108375, No Iterations 2
                smoothSolver:  Solving for Uy, Initial residual = 1, Final residual = 0.0104409, No Iterations 2
                smoothSolver:  Solving for Uz, Initial residual = 1, Final residual = 0.0104084, No Iterations 2
                GAMG:  Solving for p, Initial residual = 1, Final residual = 0.027634, No Iterations 6
                GAMG:  Solving for p, Initial residual = 0.0357851, Final residual = 0.000575861, No Iterations 2
                time step continuity errors : sum local = 7.76946, global = 0.352411, cumulative = 0.352411
                smoothSolver:  Solving for epsilon, Initial residual = 0.13384, Final residual = 0.00135303, No Iterations 2
                bounding epsilon, min: -2.55034 max: 52.4243 average: 2.34921
                smoothSolver:  Solving for k, Initial residual = 1, Final residual = 0.0250789, No Iterations 2
                ExecutionTime = 12.85 s  ClockTime = 13 s
                
                Time = 2
                
                smoothSolver:  Solving for Ux, Initial residual = 0.20708, Final residual = 0.00402441, No Iterations 2
                smoothSolver:  Solving for Uy, Initial residual = 0.249236, Final residual = 0.0056065, No Iterations 2
                smoothSolver:  Solving for Uz, Initial residual = 0.222885, Final residual = 0.00479877, No Iterations 2
                1 条回复 最后回复 回复 引用
                • C
                  cfd-cxb 最后由 编辑

                  我换用linearUpwind后到200多步还是发散了,谢谢您!

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

                    调节一下你的k和epsilon初始的值,从log来看你的epsilon不可实现。

                    CFD高性能服务器 http://dyfluid.com/servers.html
                    2023年,线下CFD课,预热一下 http://dyfluid.com/class.html

                    1 条回复 最后回复 回复 引用
                    • C
                      cfd-cxb 最后由 编辑

                      首先,非常感谢您的回复
                      我调整了k以及epsilon,但是还是不可以,当我将div(phi,U)调为upwind或者linearUpwind Gauss时,div(phi,k)与div(phi,epsilon)不管是那种格式都能算,但是若是我将div(phi,U)设为limitedlinearV 1格式,div(phi,k)与div(phi,epsilon)不管那种格式都不行,算例都只算一步。

                      1 条回复 最后回复 回复 引用
                      • 赵
                        赵一铭 最后由 编辑

                        我发现个问题,你那个同时调用GGI和MRF?

                        1 条回复 最后回复 回复 引用
                        • C
                          cfd-cxb 最后由 编辑

                          恩恩,是的,交界面处理使用的是GGI

                          1 条回复 最后回复 回复 引用
                          • 赵
                            赵一铭 最后由 编辑

                            我记得ggi和MRF不能同时用的。。

                            1 条回复 最后回复 回复 引用
                            • C
                              cfd-cxb 最后由 编辑

                              谢谢您的回复,我用的是foam-extend版本,里面有同时调用的例子的

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

                                我调整了k以及epsilon,但是还是不可以,当我将div(phi,U)调为upwind或者linearUpwind Gauss时,div(phi,k)与div(phi,epsilon)不管是那种格式都能算,但是若是我将div(phi,U)设为limitedlinearV 1格式,div(phi,k)与div(phi,epsilon)不管那种格式都不行,算例都只算一步。

                                如果是用稳态算例,可以先迎风算出来流场之后,再加阶数,SIMPLEFoam很稳健,一般不会出现问题。我觉得还是设置的问题。

                                CFD高性能服务器 http://dyfluid.com/servers.html
                                2023年,线下CFD课,预热一下 http://dyfluid.com/class.html

                                1 条回复 最后回复 回复 引用
                                • C
                                  cfd-cxb 最后由 编辑

                                  明白了,谢谢前辈

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