rhoSimpleFoam算例初始值及边界问题



  • 报错:

    --> FOAM FATAL IO ERROR: 
    Cannot find patchField entry for far
    

    系统信息:win10,VMware Ubantu20.04,openFoam 7
    网格:pointwise 三维C-H网格
    边界:inlet,outlet,far(右侧外边界),wing,sym
    OF刚上手,想计算个机翼。
    我拷贝二维的naca0012算例 $FOAM_TUTORIALS/compressive/aerofoilNACA0012,根据近期学习,我的理解是只要把常规二维算例中frontAndback的empty边界条件(对应我算例的far和sym)改为相应的patch和symmetry即可。
    其中我发现的一个问题是,tutorial算例/0的初始值文件(贴出U,其他类似)设置方式为:

    FoamFile
    {
        version     2.0;
        format      ascii;
        class       volVectorField;
        object      U;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    Uinlet          (250 0 0);
    
    dimensions      [0 1 -1 0 0 0 0];
    
    internalField   uniform $Uinlet;
    
    boundaryField
    {
        freestream
        {
            type            freestreamVelocity;
            freestreamValue uniform $Uinlet;
            value           uniform $Uinlet;
        }
    
        wall
        {
            type            noSlip;
        }
    
        #includeEtc "caseDicts/setConstraintTypes"
    }
    
    

    区别于常规的结构:

    boundaryField
    {
        名称1
        {
            type            类型;
        }
       名称2
        {
            type            类型;
        }
    }
    
    

    看了半天,我的理解是patch类型边界就是freestream类型,由于机翼或翼型计算外流,上下前后自由流条件相同,就不用常规写法,一个个写了。

    于是,我检查了/0下文件,所有文件都是这个结构写的,我就没啥改动,直接运行了。。。
    结果出现报错:

    --> FOAM FATAL IO ERROR: 
    Cannot find patchField entry for far
    
    file: /mnt/hgfs/openfoam/sharerun/testwing/0012noswpc9/0/p.boundaryField from line 27 to line 74.
    
        From function void Foam::GeometricField<Type, PatchField, GeoMesh>::Boundary::readField(const Foam::DimensionedField<TypeR, GeoMesh>&, const Foam::dictionary&) [with Type = double; PatchField = Foam::fvPatchField; GeoMesh = Foam::volMesh]
        in file /home/rebel/OpenFOAM/OpenFOAM-7/src/OpenFOAM/lnInclude/GeometricBoundaryField.C at line 188.
    
    FOAM exiting
    
    
    [1]+  退出 1                rhoSimpleFoam > log.rhoSimpleFoam
    

    Google了半天,发现一般这种error都是缺分号造成的。。
    可是我p文件就是没改动的那种啊。。。

    FoamFile
    {
        version     2.0;
        format      ascii;
        class       volScalarField;
        object      p;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    pOut            1e5;
    
    dimensions      [1 -1 -2 0 0 0 0];
    
    internalField   uniform $pOut;
    
    boundaryField
    {
        freestream
        {
            type            freestreamPressure;
            freestreamValue uniform $pOut;
        }
    
        wall
        {
            type            zeroGradient;
        }
    
        #includeEtc "caseDicts/setConstraintTypes"
    }
    
    

    我又把tutorials naca0012 跑了一遍,真的没问题啊!

    无奈之下,来论坛提问,请大佬们指点一下。万分感谢!!!



  • @东岳 老师,help me.



  • 突然反应,可能是那种方式对sym不可用,我赶紧去试试



  • @RebelYoung 还是不行。。。。相同报错



  • 我好像发现什么了,这个结构是一样的,不过tutorial case里obj生成polyMesh中,有分组。。。

    (
        aerofoil
        {
            type            wall;
            inGroups        List<word> 1(wall);
            nFaces          120;
            startFace       31760;
        }
        inlet
        {
            type            patch;
            inGroups        List<word> 1(freestream);
            nFaces          200;
            startFace       31880;
        }
        outlet
        {
            type            patch;
            inGroups        List<word> 1(freestream);
            nFaces          160;
            startFace       32080;
        }
        back
        {
            type            empty;
            inGroups        List<word> 1(empty);
            nFaces          16000;
            startFace       32240;
        }
        front
        {
            type            empty;
            inGroups        List<word> 1(empty);
            nFaces          16000;
            startFace       48240;
        }
    )
    

    所以,/0下文件头上freestream不是类型名,是边界(组)名。。。
    感觉这个地方有误导性,导致我以为文件结构不同。。。
    建议改个组名!


Log in to reply
 

CFD中文网 2016 - 2020 | 京ICP备15017992号-2