CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Bugs

Compressible kOmegaSST

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

Like Tree24Likes

Reply
 
LinkBack Thread Tools Display Modes
Old   March 18, 2010, 08:22
Default
  #41
Senior Member
 
Sandy Lee
Join Date: Mar 2009
Posts: 207
Rep Power: 9
sandy is on a distinguished road
Quote:
Originally Posted by henry View Post
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
sandy is offline   Reply With Quote

Old   March 26, 2010, 13:09
Default
  #42
Senior Member
 
BastiL
Join Date: Mar 2009
Posts: 471
Rep Power: 11
bastil is on a distinguished road
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<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/opt/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#4  Foam::operator/(Foam::tmp<Foam::Field<double> > const&, Foam::UList<double> 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<double>::evaluate(Foam::Pstream::commsTypes) in "/opt/OpenFOAM/OpenFOAM-1.6.x/applications/bin/linux64GccDPOpt/simpleFoam"
#8  Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::GeometricBoundaryField::evaluate() in "/opt/OpenFOAM/OpenFOAM-1.6.x/applications/bin/linux64GccDPOpt/simpleFoam"
#9  Foam::incompressible::RASModels::kEpsilon::kEpsilon(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel&) in "/opt/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleRASModels.so"
#10  Foam::incompressible::RASModel::adddictionaryConstructorToTable<Foam::incompressible::RASModels::kEpsilon>::New(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::transportModel&) in "/opt/OpenFOAM/OpenFOAM-1.6.x/lib/linux64GccDPOpt/libincompressibleRASModels.so"
#11  Foam::incompressible::RASModel::New(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> 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....
bastil is offline   Reply With Quote

Old   March 29, 2010, 04:25
Default
  #43
Senior Member
 
BastiL
Join Date: Mar 2009
Posts: 471
Rep Power: 11
bastil is on a distinguished road
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
bastil is offline   Reply With Quote

Old   April 21, 2010, 04:32
Default
  #44
Member
 
Axel Söhngen
Join Date: Jan 2010
Location: Germany, Trier
Posts: 31
Rep Power: 7
chelvistero is on a distinguished road
I get the same failure when I use "nutSpalartAllmarasWallFunction"! How can I eliminate this crash?
chelvistero is offline   Reply With Quote

Old   April 21, 2010, 09:23
Default
  #45
Senior Member
 
Join Date: Feb 2010
Posts: 213
Rep Power: 8
vaina74 is on a distinguished road
Please, I have some questions about implementation of \kappa-\omega 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 \kappa-\omega 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 C_L or C_D 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 \omega. In FLUENT manual and other papers I read
\omega=\frac{\kappa}{\nu_t}
but I find also
\omega=\frac{0.09\cdot\kappa}{\nu_t}
In other words, my question is:
\omega=\frac{\epsilon}{0.09\cdot\kappa}
or
\omega=\frac{\epsilon}{\kappa}?

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 \omega?

Thanks for your help.
vaina74 is offline   Reply With Quote

Old   April 28, 2010, 14:13
Default
  #46
Senior Member
 
Ivan Flaminio Cozza
Join Date: Mar 2009
Location: Torino, Piemonte, Italia
Posts: 207
Rep Power: 9
ivan_cozza is on a distinguished road
Send a message via MSN to ivan_cozza
Quote:
Originally Posted by henry View Post
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
ivan_cozza is offline   Reply With Quote

Old   April 28, 2010, 19:45
Default
  #47
Senior Member
 
Sandy Lee
Join Date: Mar 2009
Posts: 207
Rep Power: 9
sandy is on a distinguished road
Quote:
Originally Posted by vaina74 View Post
Please, I have some questions about implementation of \kappa-\omega 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 \kappa-\omega 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 C_L or C_D 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 \omega. In FLUENT manual and other papers I read
\omega=\frac{\kappa}{\nu_t}
but I find also
\omega=\frac{0.09\cdot\kappa}{\nu_t}
In other words, my question is:
\omega=\frac{\epsilon}{0.09\cdot\kappa}
or
\omega=\frac{\epsilon}{\kappa}?

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 \omega?

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?
sandy is offline   Reply With Quote

Old   April 29, 2010, 06:13
Default
  #48
Senior Member
 
Join Date: Feb 2010
Posts: 213
Rep Power: 8
vaina74 is on a distinguished road
I'm not sure but in FLUENT guidelines and other papers \beta is 1-10 for \kappa-\epsilon and \kappa-\omega turbulence models (external flow). Maybe it doesn't matter, if boundaries are far away. I think \kappa-\omega SST has a \kappa-\epsilon approach far from the wall, so the turbulent model is not so sensitive to the inlet turbulent quantities.
vaina74 is offline   Reply With Quote

Old   April 29, 2010, 07:17
Default
  #49
Senior Member
 
Sandy Lee
Join Date: Mar 2009
Posts: 207
Rep Power: 9
sandy is on a distinguished road
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?
sandy is offline   Reply With Quote

Old   April 29, 2010, 11:24
Default
  #50
Senior Member
 
Join Date: Feb 2010
Posts: 213
Rep Power: 8
vaina74 is on a distinguished road
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 \kappa-\epsilon model, perhaps problems as yours. But now I'm focusing on \kappa-\omega SST model and it seems to work fine (I need it for a later propeller simulation), so I gave up with other turbulence models.
vaina74 is offline   Reply With Quote

Old   July 3, 2010, 17:48
Default
  #51
Senior Member
 
BastiL
Join Date: Mar 2009
Posts: 471
Rep Power: 11
bastil is on a distinguished road
Quote:
Originally Posted by henry View Post
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
bastil is offline   Reply With Quote

Old   July 3, 2010, 18:18
Default
  #52
Senior Member
 
Join Date: Mar 2009
Posts: 854
Rep Power: 13
henry is on a distinguished road
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
henry is offline   Reply With Quote

Old   July 5, 2010, 09:10
Default
  #53
Senior Member
 
maddalena's Avatar
 
maddalena
Join Date: Mar 2009
Posts: 436
Rep Power: 12
maddalena is on a distinguished road
Thus:
Quote:
Originally Posted by henry View Post
  • 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 View Post
Which to use for a mesh with y+>30 everywhere, y+<1 everywhere and a all y+ mesh?
Thanks,

mad
maddalena is offline   Reply With Quote

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

H
henry is offline   Reply With Quote

Old   July 5, 2010, 09:19
Default
  #55
Senior Member
 
maddalena's Avatar
 
maddalena
Join Date: Mar 2009
Posts: 436
Rep Power: 12
maddalena is on a distinguished road
Quote:
Originally Posted by henry View Post
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...

mad
maddalena is offline   Reply With Quote

Old   July 5, 2010, 09:53
Default
  #56
Senior Member
 
Join Date: Mar 2009
Posts: 854
Rep Power: 13
henry is on a distinguished road
nutLowReWallFunction is to be used with low-Re models on walls for which y+>1.

H
henry is offline   Reply With Quote

Old   July 5, 2010, 10:01
Default
  #57
Senior Member
 
maddalena's Avatar
 
maddalena
Join Date: Mar 2009
Posts: 436
Rep Power: 12
maddalena is on a distinguished road
Quote:
Originally Posted by henry View Post
nutLowReWallFunction is to be used with low-Re models on walls for which y+>1.

H
Perfect! Thank you!

mad
maddalena is offline   Reply With Quote

Old   July 6, 2010, 03:52
Default
  #58
Senior Member
 
Ivan Flaminio Cozza
Join Date: Mar 2009
Location: Torino, Piemonte, Italia
Posts: 207
Rep Power: 9
ivan_cozza is on a distinguished road
Send a message via MSN to ivan_cozza
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
ivan_cozza is offline   Reply With Quote

Old   July 6, 2010, 04:34
Default
  #59
Senior Member
 
Join Date: Mar 2009
Posts: 854
Rep Power: 13
henry is on a distinguished road
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.
henry is offline   Reply With Quote

Old   September 19, 2010, 08:24
Default
  #60
New Member
 
Peter
Join Date: Aug 2010
Posts: 16
Rep Power: 6
Peter85 is on a distinguished road
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!
Peter85 is offline   Reply With Quote

Reply

Thread Tools
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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Nearwall treatment for the kOmegaSST turbulence model johnb OpenFOAM Running, Solving & CFD 3 January 22, 2009 03:52
ChtMultiRegionFoam kOmegaSST solidDisplacementFoam marico OpenFOAM Running, Solving & CFD 4 January 16, 2009 03:51
How can run MRFSimpleFoam with KOmegaSST turbulence model waynezw0618 OpenFOAM Running, Solving & CFD 0 April 21, 2008 04:40
Question on new implemented komegaSST model in OF 14 peterh OpenFOAM Running, Solving & CFD 7 February 7, 2008 03:09
compressible John Main CFD Forum 1 April 6, 2003 12:35


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