在使用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;
}
}
}
就可以正常计算了。请问这是哪里出现错误了,跪求各位大神解答。