
[Sponsors] 
September 30, 2013, 10:24 
Omega goes infinity

#1  
New Member
Jialin Su
Join Date: Mar 2013
Location: Loughborough
Posts: 29
Rep Power: 4 
Hi dear foamers,
I am running simulations for a complex geometry, mesh size around 5 million. I use komega 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; } } 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*(1A(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 1e08; relTol 0.01; } pFinal { $p; tolerance 1e08; relTol 0; } "(rhoUhkepsilonomega)" { solver PBiCG; preconditioner DILU; tolerance 1e08; relTol 0.01; } "(rhoUhkepsilonomega)Final" { $U; tolerance 1e08; 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 { "(Ukepsilon)" { relTol 0; tolerance 0.000001; } } } relaxationFactors { fields { "p.*" 0.7; "rho.*" 0.9; } equations { "(Uhkepsilonomega).*" 0.7; } } Quote:
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 

September 30, 2013, 10:42 

#2 
Member
Join Date: Nov 2012
Posts: 60
Rep Power: 4 
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. 

October 1, 2013, 09:57 

#3 
New Member
Jialin Su
Join Date: Mar 2013
Location: Loughborough
Posts: 29
Rep Power: 4 
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 kepsilon 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 

October 2, 2013, 04:37 

#4 
Senior Member
Philipp
Join Date: Jun 2011
Location: Germany
Posts: 1,118
Rep Power: 16 
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; } Code:
divSchemes { default upwind phi; // or linearUpwind phi... }
__________________
The skeleton ran out of shampoo in the shower. 

October 2, 2013, 06:32 

#5 
New Member
Jialin Su
Join Date: Mar 2013
Location: Loughborough
Posts: 29
Rep Power: 4 
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 

October 2, 2013, 07:52 

#6 
Senior Member
Philipp
Join Date: Jun 2011
Location: Germany
Posts: 1,118
Rep Power: 16 
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. 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
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 04:57 
overshooting of Omega in SST komega using simpleFoam  cm_jubayer  OpenFOAM  1  August 26, 2011 13:18 
Boundary Conditions for k omega SST  dancfd  OpenFOAM PreProcessing  0  June 9, 2011 23:25 