
[Sponsors] 
March 13, 2012, 08:51 
komega SST for wallresolved TBL, problem with log layer.

#1 
New Member
Guillaume Terlinden
Join Date: Nov 2011
Posts: 11
Rep Power: 6 
Hello Foamers,
I'm trying to compute a turbulent flow on a 2D airfoil usin RANS. I've created my mesh such that the flow is wall resolved (y+ ~ 1 ). I would like to compare different models: the first one is the SpalartAllmaras model, and the second one is the komega SST model. From what I've read, those two models are good for wallresolved turbulent flow, and especially for boundary layers experiencing adverse pressure gradients, and separating flows. To be sure about the quality of my results, I have first computed a simple turbulent boundary layer on a plane plate, with an uniform velocity at the inflow. For the SpalartAllmaras model, the results are very good and show the expected viscous layer and the log layer, but for the kOmega SST model, the results aren't that good (See picture), and there is no log layer (or at least with the correct slope kappa ~ .37), and I don't know where that problem might come from (i used pisoFoam solver)... For the boundary conditions on omega, I use the condition : omega_wall = 10*6*nu/0.075*y^2 with y = distance to the wall of the centroid of the first cell. 

March 13, 2012, 09:07 

#2 
New Member
Gilles De Neyer
Join Date: Nov 2011
Posts: 18
Rep Power: 6 
I had the same problem a few weeks ago. I would be really happy if somebody had the solution !
Which inflow/outflow condition did you use for k and omega ? 

March 13, 2012, 09:16 

#3 
Senior Member
Felix L.
Join Date: Feb 2010
Location: Hamburg
Posts: 165
Rep Power: 10 
Hello, Guillaume,
this doesn't look right. I had better results for such a simple case using the komegaSSTturbulence model. Can you give us more infos on your setup? (grid specs, numerical schemes, boundary conditions, initial conditions) Greetings, Felix 

March 13, 2012, 13:27 

#4 
New Member
Guillaume Terlinden
Join Date: Nov 2011
Posts: 11
Rep Power: 6 
Here are my boundary and initial conditions :
inlet : k = 1e4; omega = 1; nut : calculated; U = (1 0 0); p : zeroGradient; outlet : k : zeroGradient omega : zeroGradient; nut : calculated; U : zeroGradient; p = 0; wall : U = (0 0 0); p = zeroGradient; k : zeroGradient; omega = 10*6*nu/0.075*y^2 with y = 2.3e4 and nu = 1e5 nut = 0; Initial condition : omega = 1; k = 1e4 ; p = 0; U = (1 0 0); I think my grid is okay since the Spalart Allmaras works well on it.. Thanks for your help 

March 13, 2012, 13:33 

#5 
New Member
Guillaume Terlinden
Join Date: Nov 2011
Posts: 11
Rep Power: 6 
And here are my fvSolution & fvSchemes, but I don't think the problem comes from there...
fvSolution Code:
/** C++ **\  =========    \\ / F ield  OpenFOAM: The Open Source CFD Toolbox   \\ / O peration  Version: 2.0.1   \\ / A nd  Web: www.OpenFOAM.com   \\/ M anipulation   \**/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { p { solver GAMG; preconditioner DICGaussSeidel; tolerance 1e06; relTol 0.0001; nCellsInCoarsestLevel 100; agglomerator faceAreaPair; mergeLevels 1; smoother GaussSeidel; nPreSweeps 0; nPostSweeps 2; nFinestSweeps 2; } pFinal { solver GAMG; preconditioner DICGaussSeidel; tolerance 1e06; relTol 0; nCellsInCoarsestLevel 100; agglomerator faceAreaPair; mergeLevels 1; smoother GaussSeidel; nPreSweeps 0; nPostSweeps 2; nFinestSweeps 2; } U { solver PBiCG; preconditioner DILU; tolerance 1e05; relTol 0; } k { solver PBiCG; preconditioner DILU; tolerance 1e05; relTol 0; } omega { solver PBiCG; preconditioner DILU; tolerance 1e05; relTol 0; } R { solver PBiCG; preconditioner DILU; tolerance 1e05; relTol 0; } } potentialFlow { nNonOrthogonalCorrectors 3; } PISO { nNonOrthogonalCorrectors 3; pRefCell 10; pRefValue 0; residualControl { p 1e8; U 1e8; "(kepsilonomega)" 1e3; } } relaxationFactors { p 0.3; U 0.7; k 0.7; omega 0.7; } // ************************************************************************* // Code:
/** C++ **\  =========    \\ / F ield  OpenFOAM: The Open Source CFD Toolbox   \\ / O peration  Version: 2.0.1   \\ / A nd  Web: www.OpenFOAM.com   \\/ M anipulation   \**/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { default backward; } gradSchemes { default Gauss linear; grad(p) leastSquares; grad(U) Gauss linear; } divSchemes { default none; div(phi,U) Gauss limitedLinearV 1; div(phi,k) Gauss limitedLinear 1; div(phi,omega) Gauss limitedLinear 1; div((nuEff*dev(T(grad(U))))) Gauss linear; } laplacianSchemes { default none; laplacian(nuEff,U) Gauss linear corrected; laplacian((1A(U)),p) Gauss linear corrected; laplacian(1,p) Gauss linear corrected; laplacian(DkEff,k) Gauss linear corrected; laplacian(DomegaEff,omega) Gauss linear corrected; laplacian(DREff,R) Gauss linear corrected; laplacian(DnuTildaEff,nuTilda) Gauss linear corrected; } interpolationSchemes { default linear; interpolate(U) linear; } snGradSchemes { default corrected; } fluxRequired { default no; p ; } // ************************************************************************* // 

March 13, 2012, 13:44 

#6 
Senior Member
Felix L.
Join Date: Feb 2010
Location: Hamburg
Posts: 165
Rep Power: 10 
Hello, Guillaume,
thanks for the informations. For a start, I have two comments: 1. Use k = fixedValue 1e12 (or some different, very small number) at the wall. zeroGradient usually is the wall function approach. In LowReformulations, k equals zero at the wall. 2. Your solution doesn't seem to be converged. Could you attach a residuals vs. time plot, please? Using simpleFoam (steadystate calculations) there were problems with the omega equation not being solved anymore after some iterations. This lead to wrong results. It can be the same in your case. I'd suggest to set the solver tolerance for omega to a very small value (1e12, for example) and try again. Greetings, Felix. 

March 13, 2012, 14:01 

#7 
New Member
Guillaume Terlinden
Join Date: Nov 2011
Posts: 11
Rep Power: 6 
Thanks for your advices, Felix, I will try to do so as soon as I can, and I will comment my results here.


March 15, 2012, 06:45 

#8 
New Member
Guillaume Terlinden
Join Date: Nov 2011
Posts: 11
Rep Power: 6 
Hella again,
I followed your advices, and my results are better than before, but I still don't get the right logarithmic slope in the log layer.. Do you have any ideas what could cause this ? 

March 15, 2012, 08:23 

#9 
Senior Member
Felix L.
Join Date: Feb 2010
Location: Hamburg
Posts: 165
Rep Power: 10 
Hello, Guillaume,
a.) which OF Version are you using? b.) did you check for grid independence when using the kOmegaSSTmodel? Greetings, Felix. 

March 15, 2012, 09:19 

#10 
New Member
Guillaume Terlinden
Join Date: Nov 2011
Posts: 11
Rep Power: 6 
Hi,
I'm using openFOAM 2.0.1. What do you mean by "checking for grid independence", my omega BC at the wall depends on the first cell so I'm not sure to understand what you mean? My mesh is such that the first cell is at y+ < 1, if that's the question... Thanks Guillaume 

March 15, 2012, 09:57 

#11 
Senior Member
Felix L.
Join Date: Feb 2010
Location: Hamburg
Posts: 165
Rep Power: 10 
Hello, Guillaume,
with checking for grid independence I mean that you made sure that the discretization error is low enough to omit it when interpreting your results. When grid spacing tends to zero, the discretization error also does so the easiest way to check for grid independence is to refine the mesh by factor two in all (relevant) spatial dimensions. This does not mean that a reasonably low y+ value is enough for your results to be accurate! There are many factors playing a role in wall bounded flows, e.g. cell expansion ratio, grid density in streamwise direction, aspect ratios, etc. That's why I want to know if your results are grid independent. Otherwise it's too hard to tell why your results are so off. Greetings, Felix. 

March 15, 2012, 10:00 

#12 
New Member
Guillaume Terlinden
Join Date: Nov 2011
Posts: 11
Rep Power: 6 
I'll run a case on a finer mesh to compare results, but i used rather conventional values to generate my mesh so it should be ok...


June 29, 2012, 08:22 

#13 
Senior Member
Anne Gerdes
Join Date: Aug 2010
Location: Hamburg
Posts: 165
Rep Power: 7 
Hey,
why don't you use omegaWallFunction for omega at the wall? Regards Anne 

July 10, 2012, 18:08 

#14 
New Member
Guillaume Terlinden
Join Date: Nov 2011
Posts: 11
Rep Power: 6 
Because I've created my mesh such that it is wall resolved (y+ ~ 1 ), in order to see all the detail of the boundary layer. Indeed, I want to study boundary layers, so using wall functions would be a nonsense


July 10, 2012, 21:31 

#15 
Senior Member
Travis Carrigan
Join Date: Jul 2010
Location: Arlington, TX
Posts: 143
Rep Power: 8 
The komega SST turbulence model implemented in OpenFOAM is in highRe form. There are several posts on the forums discussing the models breakdown or inaccuracy for resolved grids (y+=1).
However, I've read that you can use this model for resolved flows by coupling it with a continuous wall function like nutUSpaldingWallFunction. You would then use kqRWallFunction for k and omegaWallFunction for omega. I've tried the above approach for turbulent flat plate flow with no success. 

July 11, 2012, 02:58 

#16  
Senior Member
Felix L.
Join Date: Feb 2010
Location: Hamburg
Posts: 165
Rep Power: 10 
Quote:
I wouldn't say it's "nonsense". The omegaWallFunction works perfectly fine for both LowRe and HighRemeshes. Take a look at the implementation or numerous other threads in this message board and you will see that for the viscous sublayer the correct asymptotic solution is used. @tcarrigan: You should use typical LowReBCs when resolving the boundary layer with your mesh. I.E. U = 0; k = 1e12; omega = omegaWallFunction; nut = calculated or nut = 1e12 I've used these settings with lots of success for simple flat plate cases. Another note: if you compare the OpenFOAM implementation of the SSTmodel with literature you'll notice that the OpenFOAM implementation doesn't differ from typical versions of the model. Since Menter's original formulations are applicable for both cases (HighRe and LowRe), OpenFOAMs implementation also is. Greetings Felix 

July 11, 2012, 09:44 

#17 
Senior Member
Travis Carrigan
Join Date: Jul 2010
Location: Arlington, TX
Posts: 143
Rep Power: 8 
Maybe it depends on which version of OpenFOAM you're running, Extend or OpenCFD. The break down of komega SST for high resolution grids was logged as a bug a while back because users assumed the implementation of the model was similar to Menter's formulation...which it was not. In that case, the model would be applicable, like you said, for both highRe and lowRe flows without the need for wall functions.
Here is Henry's reply to the bug that was logged against 1.7.x: http://www.openfoam.org/mantisbt/view.php?id=179#c351 If this has been addressed in 2.1, I'd like to know. 

July 11, 2012, 09:59 

#18 
Senior Member
Felix L.
Join Date: Feb 2010
Location: Hamburg
Posts: 165
Rep Power: 10 
Hello Travis,
please refer to this post by the bug report author: komegaSST breakdown with high resolution mesh As you can see, this issue is not directly connected with the SSTmodel implementation. It's more likely caused by the general numerics of OpenFOAM and it's sensitivity to smooth meshes. So yes, you are able to get accurate results on LowRemeshes with the SST model, but you have to ensure your grid is smooth enough (this improves the stability and accuracy anyway). I say it again: this issue is caused by grid irregularities not the SST model implementation itself. Hope I could clarify this! Greetings Felix 

October 16, 2012, 07:46 

#19  
Member
Join Date: Mar 2009
Posts: 74
Rep Power: 9 
Quote:


February 2, 2014, 18:51 

#20 
Member
Ye Zhang
Join Date: Dec 2009
Location: Delft,Netherland
Posts: 92
Rep Power: 8 
Hi Guillaume
I have the same problem, did you solve this problem? Best regards, Ye 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
[GAMBIT] 3D boundary layer and meshing problem in GAMBIT 2.4.6  prashanthreddyh  ANSYS Meshing & Geometry  1  December 20, 2011 01:35 
snappy hangs while layer generation  bastil  OpenFOAM Native Meshers: snappyHexMesh and Others  3  October 29, 2010 07:19 
problem with boundary layer  Bharath  Main CFD Forum  1  July 11, 2008 09:06 
GAMBIT problem with 3D Boundary Layer when meshing  Anthony Haroutunian  FLUENT  2  March 26, 2008 03:02 
problem in convergence with the prism layer genera  rakesh  CFX  3  September 18, 2006 10:13 