求助:rhoSimpleFoam求解残差很高的问题



  • 这是一个关于pressureDirectedInletVelocity 这个入口边界条件的一个问题,具体如下:
    如图所示,计算所用的我现在用一个长方形的几何,单纯测试进口,里面没有任何几何。现在准备用规定速度方向的边界条件产生一个亚声速的入口条件,求解器用rhoSimpleFoam。
    b99f13aa-c8b7-4dd8-bd79-ce03b5263b13-图片.png
    从模拟的结果数据而言,计算产生的流场是非常均匀,压力项随时间基本不变,都是1e5这个值,其余参数和预期符合也是比较好的,但是残差却非常高。我尝试着修改求解器的压力项和出口条件,但是结果并没有发生明显的变化。
    这里给出我的求解残差图
    31d5357d-9cfc-40b4-a0c5-77ee32add263-图片.png
    现在怀疑是差分和求解控制那一块有问题,但是我试了很多次都没有找到问题的所在,所以请求路过的大神帮忙看一下,提些建议。这里给出fvSchemes和fvSolution。整个计算设置的原文件也会在后面给出。

    FoamFile
    {
        version     2.0;
        format      ascii;
        class       dictionary;
        object      fvSchemes;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    ddtSchemes
    {
        default         steadyState;
    }
    
    gradSchemes
    {
        default         Gauss linear;
    
        limited         cellLimited Gauss linear 1;
        grad(U)         $limited;
        grad(k)         $limited;
        grad(omega)     $limited;
    }
    
    divSchemes
    {
        default         none;
    
       // div(phi,U)      bounded Gauss linearUpwind limited;
        /*div(U)              Gauss linear;
        div(tauMC)          Gauss linear;
        div(phi,epsilon)    bounded Gauss upwind;
        div(phi,k)          bounded Gauss upwind;
        div(phi,omega)      bounded Gauss upwind;*/
        //div(U)              Gauss linear;
       /* div(phi,U)      bounded Gauss linearUpwind limited; 
        turbulence      bounded Gauss upwind;
        energy          bounded Gauss linearUpwind limited;
    
        div(phi,k)      $turbulence;
        div(phi,omega)  $turbulence;
    
        div(phi,e)      $energy;
        div(phi,K)      $energy;
        div(phi,Ekp)    $energy;
    
        div(phid,p)     Gauss linearUpwind limited;
        div((phi|interpolate(rho)),p)  bounded Gauss upwind;
    
        div(((rho*nuEff)*dev2(T(grad(U)))))    Gauss linear;*/
    	/*efault         none;
        div(phi,U)      bounded Gauss limitedLinearV 1;
        div(phi,k)      bounded Gauss limitedLinear 1;
        div(phi,epsilon) bounded Gauss limitedLinear 1;
        div(phi,R)      bounded Gauss limitedLinear 1;
        div(R)          Gauss linear;
        div(phi,nuTilda) bounded Gauss limitedLinear 1;
        div((nuEff*dev2(T(grad(U))))) Gauss linear;*/
        default         none;
    
        div(phi,U)     bounded Gauss linearUpwindV Gauss linear;
        div(phid,p)     bounded Gauss linearUpwind Gauss linear;
        div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
        div(phi,e)      bounded Gauss linearUpwind Gauss linear;
        div(phi,omega) bounded Gauss linearUpwind Gauss linear;
        div(phi,k)     bounded Gauss linearUpwind Gauss linear;
        div(phi,Ekp)   bounded Gauss linearUpwind Gauss linear;
        div(phiv,p)     bounded Gauss linearUpwind Gauss linear;
        div(phi,K) bounded Gauss linearUpwind Gauss linear;
    }
    
    laplacianSchemes
    {
        default         Gauss linear corrected;
    }
    
    interpolationSchemes
    {
        default         linear;
    }
    
    snGradSchemes
    {
        default         corrected;
    }
    
    wallDist
    {
        method meshWave;
    }
    
    // ************************************************************************* //
    
    FoamFile
    {
        version     2.0;
        format      ascii;
        class       dictionary;
        object      fvSolution;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    solvers
    {
        p
        {
            solver          GAMG;
            smoother        GaussSeidel;
            tolerance       1e-6;
            relTol          0.01;
        }
    
        "(U|k|omega|e)"
        {
            solver          PBiCGStab;
            preconditioner  DILU;
            tolerance       1e-6;
            relTol          0.1;
        }
    }
    
    SIMPLE
    {
        residualControl
        {
            p               1e-6;
            U               1e-6;
            "(k|omega|e)"   1e-6;
        }
    
        nNonOrthogonalCorrectors 0;
        pMinFactor      0.1;
        pMaxFactor      2;
    }
    /*
    potentialFlow
    {
        nCorrectors 10;
    }*/
    
    relaxationFactors
    {
        fields
        {
            p               0.7;
            rho             0.01;
        }
        equations
        {
            U               0.3;
            e               0.7;
            "(k|omega)"     0.7;
        }
    }
    
    // ************************************************************************* //
    

    原文件如下:toCFDCHINA.zip



  • 勘误:计算所用的我现在用是一个长方形的几何
    计算散的我精神已经恍惚了,明明是一个很简单的问题:xinlei:


 

Forest
Mountains