关于无粘流



  • 大家好,

    最近在用sonicfoam仿真激波的相关问题,为了简化问题,我想做inviscid flow。据我所知,rhocentralfoam在mu=0的时候就按inviscid进行计算,但sonicfoam是否也是这样呢?

    目前我把mu设为零进行仿真,从sonicfoam得出的结果看,感觉出现了边界层。

    我也尝试用rhocentralfoam进行计算,但同样的边界条件一直报错,得不到结果。我感觉rhocentralfoam很脆弱,不知道大家怎么看。

    谢谢!


  • 管理员

    rhoCentralFoam更新很慢,基本没变过,本身也不是OpenFOAM官方写的,原作者也不再学术界,后来也没更新。sonicFoam虽然是官方写的,但是是压力基求解器。在2014年的时候,我就对比过sonicFoamrhoCentralFoam的差别,发现相差很大,汇报给Weller之后,官方建议使用rhoCentralFoam。如果你去找这面的文献,90%都是一边倒,建议使用密度基模拟。比如这篇:HIGH SPEED FLOW SIMULATION USING OPENFOAM

    目前OpenFOAM对可压缩这面的资金也少,主动性不足。

    你用的什么边界条件?什么错误



  • 边界条件

    U
    
    internalField   uniform (606 0 0);
    
    boundaryField
    {
        INLET
        {
            type            fixedValue;
            value           uniform (606 0 0);
        }
    
        WALL
       {
            type            inletOutlet;
            inletValue      uniform (606 0 0);
            value           uniform (606 0 0);
        }
    
        OUTLET
        {
            type            inletOutlet;
            inletValue      uniform (606 0 0);
            value           uniform (606 0 0);
        }
    
        SYM
        {
            type            symmetryPlane;
        }
    
        NOZZLE
        {
            type            noSlip;
        }
    
       frontAndBackPlanes
       {
          type             empty;
       }
    }
    
    T
    internalField   uniform 228.76;
    
    boundaryField
    {
        INLET
        {
            type            fixedValue;
            value           uniform 228.76;
        }
        
        WALL
        {
            type            inletOutlet;
            inletValue      uniform 228.76;
            value           uniform 228.76;
        }
              
        OUTLET
        {
            type            inletOutlet;
            inletValue      uniform 228.76;
            value           uniform 228.76;
        }
    
        SYM
        {
            type            symmetryPlane;
        }
    
        NOZZLE
        {
            type            zeroGradient;
        }
        
       frontAndBackPlanes
        {
           type             empty;
        }   
    }
    
    p
    boundaryField
    {
        INLET
        {
            type            fixedValue;
            value           uniform 3846.02;
        }
    
        WALL
        {
            type            waveTransmissive;
            field           p;
            psi             thermo:psi;
            gamma           1.4;
            fieldInf        3846.02;
            lInf            1;
            value           uniform 3846.02;
        }
        OUTLET
        {
            type            waveTransmissive;
            field           p;
            psi             thermo:psi;
            gamma           1.4;
            fieldInf        3846.02;
            lInf            1;
            value           uniform 3846.02;
        }
    
        SYM
        {
            type            symmetryPlane;
        }
    
        NOZZLE
        {
            type            zeroGradient;
        }
    
        frontAndBackPlanes
        {
            type            empty;
        }
    }
    

    其他的我mu设置为0
    假如用rhoCentralFoam会很快出现

    4] [5] #0  #Foam::error::printStack(Foam::Ostream&)0  Foam::error::printStack(Foam::Ostream&) at ??:?
    [4] #1  Foam::sigFpe::sigHandler(int) at ??:?
    [5] #1  Foam::sigFpe::sigHandler(int) at ??:?
    [4] #2  ? at ??:?
    [5] #2  ? in "/lib64/libc.so.6"
    [4] #3  Foam::sqrt(Foam::Field<double>&, Foam::UList<double> const&) in "/lib64/libc.so.6"
    [5] #3  Foam::sqrt(Foam::Field<double>&, Foam::UList<double> const&) at ??:?
    [4] #4   at ??:?
    [5] #4  Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::sqrt<Foam::fvPatchField, Foam::volMesh>(Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&)Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::sqrt<Foam::fvPatchField, Foam::volMesh>(Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&) at ??:?
    [4] #5   at ??:?
    [5] #5  ?? at ??:?
    [5] #6  __libc_start_main at ??:?
    [4] #6  __libc_start_main in "/lib64/libc.so.6"
    

    我在下的回帖也可以上传case



  • 上面边界中WALL是流场的上边界
    Nozzle是半个喷管
    SYM是底部的对称

    整个case的地址
    https://www.dropbox.com/s/60m5jjgb4i85w53/hole2-3.zip?dl=0


  • 管理员

    等我更新完指南看一下 :confused:



  • 嗯 好的

    我在想出现类似边界层的原因是不是因为我的喷管的面设为了noslip。是不是设为slip比较好


  • 管理员



  • @东岳
    谢谢,我也做了类似的仿真,相比sonicfoam, rhocentralfoam似乎结果得到的时间更短。

    对于简单的问题,例如无黏流流经wedge一类,两个求解器的结果其实是相似的,而且较为满意。

    但是,不知道您有没有发现,在这个喷管的模拟中,在打洞的地方,喷管的收缩段似乎出现了速度为0的区域,很像边界层的感觉。

    然而我做的是inviscid flow我设置mu=0。我看了rhocentralfoam的代码,感觉rhocentralfoam是能做无粘的,但相似的现象仍然有。不知道是哪里的问题。


Log in to reply
 


CFD中文网 | 东岳流体学术 | 东岳流体商业 | 吉ICP备20003622号-1