# Compressible kOmegaSST

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

March 18, 2010, 07:22
#41
Senior Member

Sandy Lee
Join Date: Mar 2009
Posts: 213
Rep Power: 18
Quote:
 Originally Posted by henry Provides a wall function boundary condition/constraint on omega Computed value is: omega = sqrt(omega_vis^2 + omega_log^2) where omega_vis = omega in viscous region omega_log = omega in logarithmic region Model described by Eq.(15) of: @verbatim Menter, F., Esch, T. "Elements of Industrial Heat Transfer Prediction" 16th Brazilian Congress of Mechanical Engineering (COBEM), Nov. 2001 @endverbatim H

Hi Henry, I still don't know how to give the boundary on omega, because I can not get the paper. Could you send me a copy about the paper or the detailed formulum about the boundary? Thanks.

Sandy
sandy.lee37@gmail.com

 March 26, 2010, 12:09 #42 Senior Member   BastiL Join Date: Mar 2009 Posts: 530 Rep Power: 20 I get segfaults when using nutSpalartAllmarasWallFunction in combination with k-omega SST (and also with kEpsilon): Reading/calculating face flux field phi Code:  Selecting incompressible transport model Newtonian Selecting RAS turbulence model kEpsilon #0 Foam::error::printStack(Foam::Ostream&) in "/opt/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so" #1 Foam::sigFpe::sigFpeHandler(int) in "/opt/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so" #2 ?? in "/lib64/libc.so.6" #3 Foam::divide(Foam::Field&, Foam::UList const&, Foam::UList const&) in "/opt/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so" #4 Foam::operator/(Foam::tmp > const&, Foam::UList const&) in "/opt/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so" #5 Foam::incompressible::RASModels::nutSpalartAllmarasWallFunctionFvPatchScalarField::calcNut() const in "/opt/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleRASModels.so" #6 Foam::incompressible::RASModels::nutWallFunctionFvPatchScalarField::updateCoeffs() in "/opt/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleRASModels.so" #7 Foam::fvPatchField::evaluate(Foam::Pstream::commsTypes) in "/opt/OpenFOAM/OpenFOAM-1.6.x/applications/bin/linux64GccDPOpt/simpleFoam" #8 Foam::GeometricField::GeometricBoundaryField::evaluate() in "/opt/OpenFOAM/OpenFOAM-1.6.x/applications/bin/linux64GccDPOpt/simpleFoam" #9 Foam::incompressible::RASModels::kEpsilon::kEpsilon(Foam::GeometricField, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField const&, Foam::transportModel&) in "/opt/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleRASModels.so" #10 Foam::incompressible::RASModel::adddictionaryConstructorToTable::New(Foam::GeometricField, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField const&, Foam::transportModel&) in "/opt/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleRASModels.so" #11 Foam::incompressible::RASModel::New(Foam::GeometricField, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField const&, Foam::transportModel&) in "/opt/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleRASModels.so" #12 main in "/opt/OpenFOAM/OpenFOAM-1.6.x/applications/bin/linux64GccDPOpt/simpleFoam" #13 __libc_start_main in "/lib64/libc.so.6" #14 __gxx_personality_v0 in "/opt/OpenFOAM/OpenFOAM-1.6.x/applications/bin/linux64GccDPOpt/simpleFoam" Floating point exception I have no idea what is going wrong there. Maybe my setup is wrong....

 March 29, 2010, 04:25 #43 Senior Member   BastiL Join Date: Mar 2009 Posts: 530 Rep Power: 20 I can reproduce this behaviour for the boundaryFoam Tutorial: replace nutWallFunction with nutSpalartAllmarasWallFunction in boundaryFoam/boundaryWallFunctions/0/nut and you will geht this crash... I guess there is something wrong with my setup? Are there further changes needed? Thanks Bastian

 April 21, 2010, 04:32 #44 Member   Axel Söhngen Join Date: Jan 2010 Location: Germany, Trier Posts: 31 Rep Power: 16 I get the same failure when I use "nutSpalartAllmarasWallFunction"! How can I eliminate this crash?

 April 21, 2010, 09:23 #45 Senior Member   Join Date: Feb 2010 Posts: 213 Rep Power: 17 Please, I have some questions about implementation of SST turbulent model and wall functions. I hope Mr Weller can answer to me. 1. In most papers or threads of this forum I read that, when a wall function is used, y+ must be greater than 30, if possible closed to 30, so wall-adjacent first cells centroid is located within the log-law layer. But someone, with SST, sets y+ above 11. Is it correct? Why? I can't find theoretical support for that. 2. Must I set initial condition for nut, as in motorBike tutorial? Even if I do not, my case works and or values seem good. Anyway, after the code running I find a nut file in my time folders, so I think it's calculated. 3. I'm in trouble with inlet boundary conditions for . In FLUENT manual and other papers I read but I find also In other words, my question is: or ? 4. I set Code: wall { type omegaWallFunction; value uniform ***; } with *** as internalField value. Is it wrong? Is there a better way to evaluate initial wall value for ? Thanks for your help.

April 28, 2010, 14:13
#46
Senior Member

Ivan Flaminio Cozza
Join Date: Mar 2009
Location: Torino, Piemonte, Italia
Posts: 210
Rep Power: 18
Quote:
 Originally Posted by henry I am referring to nutSpalartAllmarasWallFunction for incompressible flow and mutSpalartAllmarasWallFunction for compressible flow. Even though these were created for use with the Spalart-Allmaras model they are not dependent on this particular model in any way being generic implementations of the Spalding continuous wall-function using U rather than k as the controlling variable and can be used with other turbulence models. We tested the kOmegaSST model with the nutSpalartAllmarasWallFunction wall-function and obtained good results, as good as others have obtained with adaptive/continuous wall-functions. H
A question on using mutSpalartAllmarasWallFunction:
When I use it in a adaptive fashon (let's say, my y+ is in between 1 and 15), I have to set k to fixedValue 1e-12, or I can set it to wallFunction as well?

Thanks,
Ivan

April 28, 2010, 19:45
#47
Senior Member

Sandy Lee
Join Date: Mar 2009
Posts: 213
Rep Power: 18
Quote:
 Originally Posted by vaina74 Please, I have some questions about implementation of SST turbulent model and wall functions. I hope Mr Weller can answer to me. 1. In most papers or threads of this forum I read that, when a wall function is used, y+ must be greater than 30, if possible closed to 30, so wall-adjacent first cells centroid is located within the log-law layer. But someone, with SST, sets y+ above 11. Is it correct? Why? I can't find theoretical support for that. 2. Must I set initial condition for nut, as in motorBike tutorial? Even if I do not, my case works and or values seem good. Anyway, after the code running I find a nut file in my time folders, so I think it's calculated. 3. I'm in trouble with inlet boundary conditions for . In FLUENT manual and other papers I read but I find also In other words, my question is: or ? 4. I set Code: wall { type omegaWallFunction; value uniform ***; } with *** as internalField value. Is it wrong? Is there a better way to evaluate initial wall value for ? Thanks for your help.
Hi vaina74, I think you should use a smaller Beta = nu_t / nu (about 0.1 ~0.2). I guess, by analyzing the physics mechanics, you can explain why, right?

 April 29, 2010, 06:13 #48 Senior Member   Join Date: Feb 2010 Posts: 213 Rep Power: 17 I'm not sure but in FLUENT guidelines and other papers is 1-10 for and turbulence models (external flow). Maybe it doesn't matter, if boundaries are far away. I think SST has a approach far from the wall, so the turbulent model is not so sensitive to the inlet turbulent quantities.

 April 29, 2010, 07:17 #49 Senior Member   Sandy Lee Join Date: Mar 2009 Posts: 213 Rep Power: 18 But, in my case about an external flow, I could not get convergent solutions to Beta equal 1~10 ... If Beta = 1~10, it means the turbulence nu_t > nu. Is it really reasonable to turbulence flows?

 April 29, 2010, 11:24 #50 Senior Member   Join Date: Feb 2010 Posts: 213 Rep Power: 17 Sorry, I'm a beginner and maybe I can't help you. What turbulence model do you apply? Which are your boundary condition? Is your mesh a bad or good one, what's your y+? I got in troubles with model, perhaps problems as yours. But now I'm focusing on SST model and it seems to work fine (I need it for a later propeller simulation), so I gave up with other turbulence models.

July 3, 2010, 17:48
#51
Senior Member

BastiL
Join Date: Mar 2009
Posts: 530
Rep Power: 20
Quote:
 Originally Posted by henry In the next release we will rename nutSpalartAllmarasWallFunction to nutUSpaldingWallFunction to make it clear that it is a general purpose continuous wall-function using U as the defining variable. H
Henry,

I could not find a nutUSpaldingWallFunction in 1.7?
However, nutSpalartAllmarasWallFunction still exists(?) and the release notes tell me:
• New nutWallFunction continuous wall function,
• New nutLowReWallFunction continuous wall function,
So both are continuous where is the difference? Which to use for a mesh with y+>30 everywhere, y+<1 everywhere and a all y+ mesh? Thanks.

Regards Bastian

 July 3, 2010, 18:18 #52 Senior Member   Join Date: Mar 2009 Posts: 854 Rep Power: 22 nutSpalartAllmarasWallFunction has not been renamed yet but it will be. For this release we decided to maintain backward-compatibility with 1.6.x on this and a few other issues. > New nutWallFunction continuous wall function Sorry this is a mistake in the release notes I will correct it. nutWallFunction is the high-Re wall-function based on k. The nutLowReWallFunction is the missing wall-function implementation for the low-Re models, it is not "continuous", again I will correct the release notes. If having a "continuous" wall-function for the low-Re models would be useful it could easily be created in the same manner as the nutLowReWallFunction H

July 5, 2010, 09:10
#53
Senior Member

Join Date: Mar 2009
Posts: 436
Rep Power: 23
Thus:
Quote:
 Originally Posted by henry nutWallFunction is the continuous ... high-Re wall-function based on k. nutLowReWallFunction is the missing wall-function implementation for the low-Re models, it is not "continuous"
In that case, does the usual y+ rule apply? 30<y+<100 for nutWallFunction and y+<1 for nutLowReWallFunction I mean... Or:

Quote:
 Originally Posted by bastil Which to use for a mesh with y+>30 everywhere, y+<1 everywhere and a all y+ mesh?
Thanks,

 July 5, 2010, 09:12 #54 Senior Member   Join Date: Mar 2009 Posts: 854 Rep Power: 22 If your near-wall y+<1 everywhere you can use a low-Re model; you don't need wall-functions at all. H

July 5, 2010, 09:19
#55
Senior Member

Join Date: Mar 2009
Posts: 436
Rep Power: 23
Quote:
 Originally Posted by henry If your near-wall y+<1 everywhere you can use a low-Re model; you don't need wall-functions at all. H
That sounds good. So when am I going to use a nutLowReWallFunction?
• High-Re: nutWallFunction + highRe turbulence model -> 30<y+<100
• Low-Re: no wall function + low Re turbulence model -> y+<1
• ???: nutLowReWallFunction + lowRe turbulence model --> ???
Sorry if I insist, but this new nutLowReWallFunction is a bit confusing for me...

 July 5, 2010, 09:53 #56 Senior Member   Join Date: Mar 2009 Posts: 854 Rep Power: 22 nutLowReWallFunction is to be used with low-Re models on walls for which y+>1. H kiddmax, crossley90, Aerospace and 3 others like this.

July 5, 2010, 10:01
#57
Senior Member

Join Date: Mar 2009
Posts: 436
Rep Power: 23
Quote:
 Originally Posted by henry nutLowReWallFunction is to be used with low-Re models on walls for which y+>1. H
Perfect! Thank you!

 July 6, 2010, 03:52 #58 Senior Member   Ivan Flaminio Cozza Join Date: Mar 2009 Location: Torino, Piemonte, Italia Posts: 210 Rep Power: 18 Just to clear my mind, is nutLowReWallFunction ok if I use the k-Omega SST model on a wall that somewhere has a resolution of y+ O(1) and somewhere else O(10)? That's something similar to what starccm+ do with its "all y+" wall treatment... Thanks, Ivan

 July 6, 2010, 04:34 #59 Senior Member   Join Date: Mar 2009 Posts: 854 Rep Power: 22 nutLowReWallFunction is for low-Re models, k-Omega SST isn't. You need the continuous wall-function currently called nutSpalartAllmarasWallFunction, see previous posts. H Aerospace likes this.

 September 19, 2010, 08:24 #60 New Member   Peter Join Date: Aug 2010 Posts: 16 Rep Power: 15 Hey @ all! This all is a little bit confusing to me: I have to simulate a case(turbulent, compressible, rhosimple solver) using the k-omega-sst model. Now, If i have a mesh with y+>30, I need to use wall functions, thats clear. But, If I have a mehs y+<1(low-re), and I'd like to use the k-omega-sst modell, what boundary conditions for the walls do I have to take? Zerogradient for omega and k with very low values (10^-8), and calculated for alphat and mut (or other values?)? Or do I have to take a wall function (like mutlowrewallfunction) for one of those? I tried several approaches (y+30 mesh with wall functions => not very good results, probably because of the coarse mesh; y+1 mesh with wall functions: almost good results, but not good enough, I guess because the mesh is for low-re models, so I get trouble in this region; y+1 mesh with omega and k set to zero gradient, value 10^-8, completely wrong results) I'm a new user of OpenFoam, and I also never did CFD-Simulations before, so I only have little experience and not much knowledge about those equations, please excuse this. I hope somebody is able to help me. Thank you very much!