CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    overPimpleDyMFoam计算中出现报错

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

      在使用overPimpleDyMFoam计算旋转机械 时,出现了如下报错:

      Create time
      
      Create mesh for time = 0
      
      Selecting dynamicFvMesh dynamicOversetFvMesh
      Selecting motion solver: rigidBodyMotion
      Selecting rigidBodySolver Newmark
      
      PIMPLE: Operating solver in PISO mode
      
      Reading field p
      
      Reading field U
      
      Reading/calculating face flux field phi
      
      Creating cellMask field to block out hole cells
      
      inverseDistance : detected 2 mesh regions
          zone:0 nCells:29272  voxels:(193 193 1) bb:(-300.001077033 -200.001077033 1.99892296657) (700.001077033 200.001077033 3.00107703343)
          zone:1 nCells:8145  voxels:(193 193 1) bb:(-50.0001414007 -49.9939730307 1.99985859933) (50.0001414007 49.9720506607 3.00014140067)
      --> FOAM Warning : 
          From function bool Foam::oversetPolyPatch::master() const
          in file oversetPolyPatch/oversetPolyPatch.C at line 149
          The master overset patch is not the first patch. Generally the first patch should be an overset patch to guarantee consistent operation.
      Overset analysis : nCells : 37417
          calculated   : 37186
          interpolated : 204 (interpolated from local:204  mixed local/remote:0  remote:0)
          hole         : 27
      
      Creating interpolatedCells field 
      
      Selecting incompressible transport model Newtonian
      Selecting turbulence model type RAS
      Selecting RAS turbulence model kOmegaSST
      Selecting patchDistMethod meshWave
      RAS
      {
          RASModel        kOmegaSST;
          turbulence      on;
          printCoeffs     on;
          alphaK1         0.85;
          alphaK2         1;
          alphaOmega1     0.5;
          alphaOmega2     0.856;
          gamma1          0.555555555556;
          gamma2          0.44;
          beta1           0.075;
          beta2           0.0828;
          betaStar        0.09;
          a1              0.31;
          b1              1;
          c1              10;
          F3              false;
          decayControl    false;
          kInf            0;
          omegaInf        0;
      }
      
      Reading/calculating face velocity Uf
      
      No MRF models present
      
      No finite volume options present
      Courant Number mean: 0.0195783147649 max: 21.9831544632
      
      Starting time loop
      
      Courant Number mean: 0.0195783147649 max: 21.9831544632
      Time = 0.005
      
      forces forces:
          Not including porosity effects
      
      
      
      --> FOAM FATAL ERROR: 
      Could not find rho:rho
      
          From function void Foam::functionObjects::forces::initialise()
          in file forces/forces.C at line 204.
      
      FOAM exiting
      

      使用的动网格文件如下:

      motionSolverLibs    ("librigidBodyMeshMotion.so");
      
      dynamicFvMesh       dynamicOversetFvMesh;
      
      motionSolver        rigidBodyMotion;
      
      // rigidBodyMotionCoeffs  - not needed any more
      //  {
          report          on;
      
          solver
          {
              type Newmark;
              gamma   0.1;    // Velocity integration coefficient
              beta    0.1;    // Position integration coefficient
          }
      
          accelerationRelaxation 1.0;
      
          //- prescribedRotation requires some sub-iterations to converge faster
          //  to desired value.
          nIter   3;
      
          bodies
          {
              rotor
              {
                  type            rigidBody;
                  parent          root;
                  centreOfMass    (-0.265 0 0);
                  mass            1;
                  rho             1;
                  inertia         (0.001 0 0 0.001 0 0.001);
                  transform       (1 0 0 0 1 0 0 0 1) (-0.265 0 0);
                  patches        (BLADE1);
                  innerDistance   1000;
                  outerDistance   2000;
                  joint
                  {
                      type            Rz;
                  }
              }
          }
      
          restraints
          {
              rotorRotation
              {
                  type                    prescribedRotation;
                  body                    rudder;
                  referenceOrientation    (1 0 0 0 1 0 0 0 1);
                  axis                    (0 0 1);    // Axis of rotation
                  omega                   sine;       // Function1 entry
                  omegaCoeffs
                  {
                      frequency   4;
                      amplitude   0.2;
                      scale       (0 1 0);
                      level       (0 1 0);
                  }
              }
             
          }
      

      但是如果把动网格文件改为:

      dynamicFvMesh       dynamicOversetFvMesh;
      
      dynamicOversetFvMeshCoeffs
      {
      //    layerRelax 0.3;
      }
      
      solver          multiSolidBodyMotionSolver;
      
      multiSolidBodyMotionSolverCoeffs
      {
          rotor
          {
              solidBodyMotionFunction rotatingMotion;
              rotatingMotionCoeffs
              {
                  origin      (0 0 0);
                  axis        (0 0 1);
                  omega       1.08;
              }
          }
      }
      

      就可以正常计算了。请问这是哪里出现错误了,跪求各位大神解答。

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