CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Omega goes infinity

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   September 30, 2013, 10:24
Default Omega goes infinity
  #1
New Member
 
Jialin Su
Join Date: Mar 2013
Location: Loughborough
Posts: 29
Rep Power: 13
callumso is on a distinguished road
Hi dear foamers,

I am running simulations for a complex geometry, mesh size around 5 million. I use k-omega SST model and wall function. From the residuals it seems all the equations converge all right. But omega is just always extremely large and goes to infinity in the orifice where mixing of flow occurs and is of interest. Consequently k goes to almost zero in this region where turbulence should be really high. Strangely even omega equation seems to converge.

Have anyone encountered something like this? below is the boundary condition I used for k and omega:

Code:
dimensions      [0 2 -2 0 0 0 0];

internalField   uniform 0.00027;

boundaryField
{
    PILOT
    {
        type            compressible::kqRWallFunction;
        value           uniform 0.00027;
    }
    PLENUM
    {
        type            zeroGradient;
    }
    INLET
    {
        type            fixedValue;
        value           uniform 0.00027;
    }
    OUTLET
    {
        type            zeroGradient;
    }
    DUCT
    {
        type            compressible::kqRWallFunction;
        value           uniform 0.00027;
    }
    VANES
    {
        type            compressible::kqRWallFunction;
        value           uniform 0.00027;
    }
    PASSAGE
    {
        type            compressible::kqRWallFunction;
        value           uniform 0.00027;
    }
    BELLMOUTH
    {
        type            compressible::kqRWallFunction;
        value           uniform 0.00027;
    }
}
Code:
dimensions      [0 0 -1 0 0 0 0];

internalField   uniform 2.6;

boundaryField
{
    PILOT
    {
        type            compressible::omegaWallFunction;
        Cmu             0.09;
        kappa           0.41;
        E               9.8;
        value           uniform 0.00027;
    }
    PLENUM
    {
        type            zeroGradient;
    }
    INLET
    {
        type            fixedValue;
        value           uniform 0.1813;
    }
    OUTLET
    {
        type            zeroGradient;
    }
    DUCT
    {
        type            compressible::omegaWallFunction;
        Cmu             0.09;
        kappa           0.41;
        E               9.8;
        value           uniform 0.00027;
    }
    VANES
    {
        type            compressible::omegaWallFunction;
        Cmu             0.09;
        kappa           0.41;
        E               9.8;
        value           uniform 0.00027;
    }
    PASSAGE
    {
        type            compressible::omegaWallFunction;
        Cmu             0.09;
        kappa           0.41;
        E               9.8;
        value           uniform 0.00027;
    }
    BELLMOUTH
    {
        type            compressible::omegaWallFunction;
        Cmu             0.09;
        kappa           0.41;
        E               9.8;
        value           uniform 0.00027;
    }
}
The numerical schems look like below:

Code:
ddtSchemes
{
    default         Euler;
}

gradSchemes
{
    default         Gauss linear;
    grad(p)         Gauss linear;
}

divSchemes
{
    default         none;
    div(phi,U)      Gauss limitedLinearV 1;
    div(phid,p)     Gauss limitedLinear 1;
    div(phi,K)      Gauss linear;
    div(phi,h)      Gauss upwind;
    div(phi,k)      Gauss limitedLinear 1;
    div(phi,epsilon) Gauss limitedLinear 1;
    div(phi,R)      Gauss upwind;
    div(phi,omega)  Gauss limitedLinear 1;
    div((rho*R))    Gauss linear;
    div(R)          Gauss linear;
    div(U)          Gauss linear;
    div((muEff*dev2(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
    default         none;
    laplacian(muEff,U) Gauss linear corrected;
    laplacian(mut,U) Gauss linear corrected;
    laplacian(DkEff,k) Gauss linear corrected;
    laplacian(DepsilonEff,epsilon) Gauss linear corrected;
    laplacian(DREff,R) Gauss linear corrected;
    laplacian(DomegaEff,omega) Gauss linear corrected;
    laplacian((rho*(1|A(U))),p) Gauss linear corrected;
    laplacian(alphaEff,h) Gauss linear corrected;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         corrected;
}

fluxRequired
{
    default         no;
    p               ;
}
Code:
solvers
{
    p
    {
        solver          PCG;
        preconditioner  DIC;
        tolerance       1e-08;
        relTol          0.01;
    }

    pFinal
    {
        $p;
        tolerance       1e-08;
        relTol          0;
    }

    "(rho|U|h|k|epsilon|omega)"
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance       1e-08;
        relTol          0.01;
    }

    "(rho|U|h|k|epsilon|omega)Final"
    {
        $U;
        tolerance       1e-08;
        relTol          0;
    }

}

PIMPLE
{
    momentumPredictor yes;
    nOuterCorrectors 4;
    nCorrectors     2;
    nNonOrthogonalCorrectors 1;
    rhoMin          rhoMin [ 1 -3 0 0 0 ] 0.5;
    rhoMax          rhoMax [ 1 -3 0 0 0 ] 2.0;

    residualControl
    {
        "(U|k|epsilon)"
        {
            relTol          0;
            tolerance       0.000001;
        }
    }
}

relaxationFactors
{
    fields
    {
        "p.*"           0.7;
        "rho.*"         0.9;
    }
    equations
    {
        "(U|h|k|epsilon|omega).*" 0.7;
    }
}
I fiddled with the numerical scheme a bit (e.g. use upwind scheme, use very low relaxation factors, etc). But nothing changed. I am still getting this weird infinite omega. Below is the residual trace:

Quote:
Courant Number mean: 0.002384836 max: 10.06362
deltaT = 4.105397e-05
Time = 0.001018885

diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
PIMPLE: iteration 1
DILUPBiCG: Solving for Ux, Initial residual = 0.009422393, Final residual = 1.336213e-08, No Iterations 1
DILUPBiCG: Solving for Uy, Initial residual = 0.005013185, Final residual = 1.673009e-06, No Iterations 1
DILUPBiCG: Solving for Uz, Initial residual = 0.004954721, Final residual = 1.658077e-06, No Iterations 1
DILUPBiCG: Solving for h, Initial residual = 0.008704607, Final residual = 1.068494e-08, No Iterations 1
DICPCG: Solving for p, Initial residual = 0.02191301, Final residual = 8.992473e-05, No Iterations 4
DICPCG: Solving for p, Initial residual = 0.0001136703, Final residual = 1.065346e-06, No Iterations 17
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.221163e-06, global = -8.451316e-07, cumulative = -0.0001596296
rho max/min : 1.193396 1.160766
DICPCG: Solving for p, Initial residual = 0.006488465, Final residual = 2.687909e-05, No Iterations 4
DICPCG: Solving for p, Initial residual = 3.438664e-05, Final residual = 3.410989e-07, No Iterations 36
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.218193e-06, global = -8.500729e-07, cumulative = -0.0001604797
rho max/min : 1.193396 1.160765
PIMPLE: iteration 2
DILUPBiCG: Solving for Ux, Initial residual = 0.006534682, Final residual = 9.631645e-09, No Iterations 1
DILUPBiCG: Solving for Uy, Initial residual = 0.004523631, Final residual = 6.797623e-07, No Iterations 1
DILUPBiCG: Solving for Uz, Initial residual = 0.004480604, Final residual = 6.662678e-07, No Iterations 1
DILUPBiCG: Solving for h, Initial residual = 0.009199319, Final residual = 1.208279e-08, No Iterations 1
DICPCG: Solving for p, Initial residual = 0.008744652, Final residual = 3.671174e-05, No Iterations 4
DICPCG: Solving for p, Initial residual = 4.807335e-05, Final residual = 4.056757e-07, No Iterations 17
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.218818e-06, global = -8.48645e-07, cumulative = -0.0001613283
rho max/min : 1.193396 1.160793
DICPCG: Solving for p, Initial residual = 0.002611529, Final residual = 1.103145e-05, No Iterations 4
DICPCG: Solving for p, Initial residual = 1.45108e-05, Final residual = 1.270581e-07, No Iterations 42
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.217819e-06, global = -8.509643e-07, cumulative = -0.0001621793
rho max/min : 1.193396 1.160792
PIMPLE: iteration 3
DILUPBiCG: Solving for Ux, Initial residual = 0.004572449, Final residual = 6.991547e-09, No Iterations 1
DILUPBiCG: Solving for Uy, Initial residual = 0.003637689, Final residual = 2.368283e-07, No Iterations 1
DILUPBiCG: Solving for Uz, Initial residual = 0.003609003, Final residual = 2.530072e-07, No Iterations 1
DILUPBiCG: Solving for h, Initial residual = 0.005076553, Final residual = 6.463705e-09, No Iterations 1
DICPCG: Solving for p, Initial residual = 0.004023061, Final residual = 1.699759e-05, No Iterations 4
DICPCG: Solving for p, Initial residual = 2.310766e-05, Final residual = 2.116908e-07, No Iterations 17
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.217778e-06, global = -8.498158e-07, cumulative = -0.0001630291
rho max/min : 1.193396 1.160799
DICPCG: Solving for p, Initial residual = 0.001204748, Final residual = 5.135975e-06, No Iterations 4
DICPCG: Solving for p, Initial residual = 6.987517e-06, Final residual = 6.530037e-08, No Iterations 41
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.217191e-06, global = -8.507411e-07, cumulative = -0.0001638799
rho max/min : 1.193396 1.160799
PIMPLE: iteration 4
DILUPBiCG: Solving for Ux, Initial residual = 0.003182333, Final residual = 5.051115e-09, No Iterations 1
DILUPBiCG: Solving for Uy, Initial residual = 0.00280553, Final residual = 2.892812e-09, No Iterations 3
DILUPBiCG: Solving for Uz, Initial residual = 0.002785603, Final residual = 2.954405e-09, No Iterations 3
DILUPBiCG: Solving for h, Initial residual = 0.00268957, Final residual = 3.386828e-09, No Iterations 1
DICPCG: Solving for p, Initial residual = 0.00198696, Final residual = 8.607319e-06, No Iterations 4
DICPCG: Solving for p, Initial residual = 1.217912e-05, Final residual = 1.181804e-07, No Iterations 20
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.217629e-06, global = -8.508334e-07, cumulative = -0.0001647307
rho max/min : 1.193396 1.160801
DICPCG: Solving for p, Initial residual = 0.0005952442, Final residual = 2.607833e-06, No Iterations 4
DICPCG: Solving for p, Initial residual = 3.687937e-06, Final residual = 9.698358e-09, No Iterations 67
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 1.217111e-06, global = -8.50822e-07, cumulative = -0.0001655815
rho max/min : 1.193396 1.160801
DILUPBiCG: Solving for omega, Initial residual = 0.1111112, Final residual = 5.200637e-19, No Iterations 1
bounding omega, min: -1.173741e+38 max: 2.166221e+50 average: 8.778702e+43
DILUPBiCG: Solving for k, Initial residual = 0.048428, Final residual = 2.335364e-18, No Iterations 1
bounding k, min: -5.711563e-06 max: 0.0734092 average: 0.0005477621
PIMPLE: not converged within 4 iterations
ExecutionTime = 185.73 s ClockTime = 187 s
I went through some related threads but unfortunately none of the advice really helps.

I run the same case on Fluent and there is no problem at all. I tried a finer mesh, 12million cells. But it still doesn't work on OpenFOAM. Can anyone help me out with this? Thank you in advance.

Callum
callumso is offline   Reply With Quote

Old   September 30, 2013, 10:42
Default
  #2
Member
 
Join Date: Nov 2012
Posts: 83
Rep Power: 13
Henning86 is on a distinguished road
i had a comparable problem with RNGkEpsilon.

i switched to kOmegaSST and used USpalding wall function and that solved the problem

or try to start with higher initial values for omega one magnitude higher that sometimes work.
Henning86 is offline   Reply With Quote

Old   October 1, 2013, 09:57
Default
  #3
New Member
 
Jialin Su
Join Date: Mar 2013
Location: Loughborough
Posts: 29
Rep Power: 13
callumso is on a distinguished road
Hi Henning,

Thank you for the advice. Unfortunately, that doesn't solve my problem. All the boundary conditions of mut give similar result. omega just went wrong at the very first time step and never recovered.

I also tried the k-epsilon models. Similar problem occurred as epsilon went infinite and k became zero almost everywhere.

I also tried to bound omega from above and hopefully got the simulations past the initial transient. Unfortunately this didn't work either and k equation ran into problem.

I am not sure whether this is a problem related to the boundary conditions. I checked the k and omega values and they both looked alright at the boundary and omega didn't go to infinity at the walls. But somehow at the interior points omega just went haywired.

Above is the problem with rhoPimpleFoam.

I also tried rhoSimplecFoam even though the problem was meant to be an unsteady one. But the simulation simply crashed after 4 time steps.

Fluent is alright for the same problem. I am kind of stuck as I have use a reliable open source code to run the followup simulations.

This seems to be quite a weird problem....and none of the people around has a clue. Could anyone here provide me more advice on this? Thank you in advance.

Callum
callumso is offline   Reply With Quote

Old   October 2, 2013, 04:37
Default
  #4
Senior Member
 
RodriguezFatz's Avatar
 
Philipp
Join Date: Jun 2011
Location: Germany
Posts: 1,297
Rep Power: 26
RodriguezFatz will become famous soon enough
Hi callumso,

I started with OpenFoam just some weeks ago and also have Fluent licences.
From the limited knowledge I gained during this time I am pretty sure that you need some limiters in the right places. Fluent uses limiters everywhere.

Try to use
Code:
gradSchemes
{
    default            faceLimited Gauss linear 1.0;
}
for the first shot. Then, I would try:
Code:
divSchemes
{
   
    default         upwind phi;  // or linearUpwind phi...
}
If that doesn't work maybe play with the interpolationScheme.
__________________
The skeleton ran out of shampoo in the shower.
RodriguezFatz is offline   Reply With Quote

Old   October 2, 2013, 06:32
Default
  #5
New Member
 
Jialin Su
Join Date: Mar 2013
Location: Loughborough
Posts: 29
Rep Power: 13
callumso is on a distinguished road
Thanks Rodriguez. Yes, that's the solution. I use the limiters in the gradient schemes of the turbulence variables and it seems to solve the problem.

I wanted to do something like:

grad(omega) cellMDLimited Gauss vanLeer01 phi 1;

But the code wants to read one more word after 'phi'. I don't know what it should be, as it simply can be any word (I put in a random word like 'gorgeous' and it worked).

Do you have any clue what that word should be and what it will do?

Thanks a lot.

Callum
callumso is offline   Reply With Quote

Old   October 2, 2013, 07:52
Default
  #6
Senior Member
 
RodriguezFatz's Avatar
 
Philipp
Join Date: Jun 2011
Location: Germany
Posts: 1,297
Rep Power: 26
RodriguezFatz will become famous soon enough
No, sorry. I am struggling with the same things. Unfortunately, the numerics "help" (http://www.openfoam.org/docs/user/fvSchemes.php) is not a very reliable source, since it has some typos and old version examples itself...
Also looking into the code doesn't help me... Would be nice to have some more examples of usage.
__________________
The skeleton ran out of shampoo in the shower.
RodriguezFatz is offline   Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
overshooting of Omega in SST komega using simpleFoam cm_jubayer OpenFOAM 2 June 7, 2020 12:52
Using Omega from MRFZones edalmau OpenFOAM Running, Solving & CFD 11 April 23, 2013 18:31
problem from k epsilon to k omega NJG OpenFOAM Running, Solving & CFD 0 April 15, 2013 08:24
"Glitches" in k and omega buffi OpenFOAM Running, Solving & CFD 8 January 29, 2013 03:57
Boundary Conditions for k omega SST dancfd OpenFOAM Pre-Processing 0 June 9, 2011 23:25


All times are GMT -4. The time now is 16:18.