overPimpleDyMFoam计算中出现报错



  • 在使用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;
            }
        }
    }
    

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


 

Forest
Mountains