CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   rhoSimpleFoam - strange behaviour of the residuals (https://www.cfd-online.com/Forums/openfoam-solving/145803-rhosimplefoam-strange-behaviour-residuals.html)

Werne December 12, 2014 09:20

rhoSimpleFoam - strange behaviour of the residuals
 
1 Attachment(s)
Hey,

I'm getting some strange results for the residuals of my simulation. For the first 2000 iterations it looks ads if the simulation will converge. However, afterwards I'm getting strange "jumps" in the values of the residuals, as you can see in the attached plot.

I didn't change any files or values during the simulation.

Does anybody know what could be source of this behaviour?
I'm using rhoSimpleFoam with the following fvSchemes and fvSolution files:

Code:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  2.2.2                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    location    "system";
    object      fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
    default        steadyState;
}

gradSchemes
{
    default        Gauss linear;
}

divSchemes
{
    default    bounded Gauss upwind;
    div(phi,U)      bounded Gauss upwind;
    div((muEff*dev2(T(grad(U))))) Gauss linear;
    div(phi,e)      bounded Gauss upwind;
    div(phi,omega) bounded Gauss upwind; 
    div(phi,k)      bounded Gauss upwind;
    div(phi,Ekp)    bounded Gauss upwind;
}

laplacianSchemes
{
    default      Gauss linear corrected;
    laplacian(muEff,U) Gauss linear corrected;
    laplacian(alphaEff,e) Gauss linear corrected;
    laplacian((rho*(1|A(U))),p) Gauss linear corrected;
    laplacian(DomegaEff,omega) Gauss linear corrected; 
    laplacian(DkEff,k) Gauss linear corrected;
}

interpolationSchemes
{
    default        linear;
}

snGradSchemes
{
    default        corrected;
}

fluxRequired
{
    default        no;
    p              ;
}

// ************************************************************************* //

Code:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  2.2.2                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    location    "system";
    object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
 

  p
    {
        solver          GAMG;
        tolerance      1e-08;
        relTol          0.05;
        smoother        GaussSeidel;
        cacheAgglomeration off;
        nCellsInCoarsestLevel 20;
        agglomerator    faceAreaPair;
        mergeLevels    1;
    }

    U
    {
        solver          smoothSolver;
        smoother        GaussSeidel;
        nSweeps        2;
        tolerance      1e-08;
        relTol          0.1;
    }

    e
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance      1e-08;
        relTol          0.1;
    }

    "(k|omega)"
    {
        $U;
        tolerance      1e-09;
        relTol          0.1;
    }   
 
}

SIMPLE
{
    nNonOrthogonalCorrectors 2;
    rhoMin          rhoMin [ 1 -3 0 0 0 ] 0.5;
    rhoMax          rhoMax [ 1 -3 0 0 0 ] 10;

    residualControl
    {
        p              1e-8;       
        U              1e-8;       
        e              1e-8;       

        // possibly check turbulence fields
          "(k|epsilon|omega)" 1e-8;   
    }
}

relaxationFactors
{
    fields
    {
        p              0.1; //0.1
        rho            0.05; //0.05
    }
    equations
    {
        U              0.7; //0.7
        k        0.7; //0.7
        omega        0.7; //0.7
        e              0.7; //0.7
    }
}


jherb December 12, 2014 14:17

This is probably caused because the solution of the omega/U equation reaches (is lower than) the absolute limit of the solver set in system/fvSolution, something like
Code:

        tolerance      1e-09;
If you want lower residuals, you have to decrease this value.

Werne December 16, 2014 04:27

1 Attachment(s)
Thank you, decreasing the tolerance solved my problem!

edit: No, it didn't, it just delayed it a bit. Although I decreased the tolerance to 1e-9 it still happened.


All times are GMT -4. The time now is 03:41.