我用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
}