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

How to implement k-omega-SST without wall functions

Register Blogs Community New Posts Updated Threads Search

Like Tree5Likes
  • 2 Post By bytesurfer
  • 2 Post By hcl734
  • 1 Post By hcl734

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 30, 2016, 15:17
Default How to implement k-omega-SST without wall functions
  #1
New Member
 
Julian
Join Date: Dec 2015
Location: Berlin
Posts: 6
Rep Power: 10
bytesurfer is on a distinguished road
Hello,

I'm struggling with the implementation of the k-omega-SST model without wall functions. How exactly should I define k and omega? Is it correct that I've set k to fixedValue(Value) and omega is omegaWallFunction uniform Value? (I tried the search option already and I'm still unsure about that)

I've already run the case with wall functions but my y+ is nowhere near 30<y+<300. It is more in the Range of y+=1 or below. Therefore I want to run the simulation without wall functions. Or should I use a Low-Re-Model (If I have to use one, how do I use it on the walls)?

My case is a Rushton-turbine in a tank.

Is there maybe a rule of thumb how big the error could be using wall functions on a mesh way below y+=30?

Thank you for your help!

Regards,
bytesurfer
hcl734 and cyril2304 like this.
bytesurfer is offline   Reply With Quote

Old   January 30, 2016, 16:33
Default
  #2
Member
 
Join Date: May 2015
Posts: 68
Rep Power: 10
hcl734 is on a distinguished road
In my experience with some testcases kOmegaSST works fine with omegaWallFunction and kqRWallFunction and nutkWallFunction even for meshes with y+<1.
But I am interested in the opinion of other users on the topic because I don't understand perfectly WHY it is that way.

Maybe interesting for you

http://www.dicat.unige.it/guerrero/o...turbulence.pdf

http://www.cfd-online.com/Forums/openfoam-programming-development/134102-komegasst-lowre-damping-fluent.html


Ok I searched a little and found the presentation (German)
https://fahrzeugtechnik.fh-joanneum....ansfer_SST.pdf

which says that kOmegaSST switches between wall function and LowRe- implementation. So it makes sense why it works for a variety of y+-conditions
Since it is writtern by Menter I assume this is true for CFX but should apply to OpenFOAM too.
jherb and msuaeronautics like this.

Last edited by hcl734; February 3, 2016 at 04:25.
hcl734 is offline   Reply With Quote

Old   January 30, 2016, 17:11
Default
  #3
New Member
 
Julian
Join Date: Dec 2015
Location: Berlin
Posts: 6
Rep Power: 10
bytesurfer is on a distinguished road
Thank you hcl734 for your quick answer!

So it should be defined as this:

k = 1e-10
omega = 1e-10
nut = nutLowReWallFunction Uniform 0

Is that right?

I think that maybe the wall functions are messing up my results. I got a power number of ~9, whilst the same simulation in CFX (done by my teacher, who is on vacation ) got ~4. I checked some books and they say it should be around 4-6 (depending on the baffles and tank bottom).

Regards,
bytesurfer
bytesurfer is offline   Reply With Quote

Old   January 30, 2016, 17:40
Default
  #4
Member
 
Join Date: May 2015
Posts: 68
Rep Power: 10
hcl734 is on a distinguished road
That's what they say in this presentation.
But this 'LowRe'-approach didn't worked that good for my testcases.
I obtained the best results by usimg the mentioned 'HighRe' configuration above.
So I would recommend to try both. It would be nice if you could give a feedback which one works best for your case.
Also be aware that not everything called wallFunction is really a wallFunction in the sense of log-law etc. They are sometimes just zeroGradient etc.
Take a look at the omegaWallFunction.H e.g. for more information.
hcl734 is offline   Reply With Quote

Old   February 1, 2016, 12:11
Default
  #5
New Member
 
Julian
Join Date: Dec 2015
Location: Berlin
Posts: 6
Rep Power: 10
bytesurfer is on a distinguished road
I tried the Low-Re configuration and the results are in the enclosed pictures. The power number went up a little bit but is still ~9. So that didn't really helped.

I tried the scalable wall function too, but forgot to take pictures and overwrote it. But the power number was still ~9.

I'm a bit confused, because the difference between openfoam and cfx can't be that big, when both simulations use the same algorithms, or could it?

Maybe something else is wrong but I don't know what...

P.S. just ignore the lift and drag, I'm to lazy to remove these from my script
Attached Images
File Type: jpg Residuals_Low_Re.jpg (68.6 KB, 252 views)
File Type: png Torque_Low_Re.PNG (21.5 KB, 217 views)
bytesurfer is offline   Reply With Quote

Old   February 1, 2016, 17:19
Default
  #6
Senior Member
 
Joachim Herb
Join Date: Sep 2010
Posts: 650
Rep Power: 21
jherb is on a distinguished road
Are you sure your calculation converted? The residuum for p seems to be 0.01 which is quite high. Have you tried to get it to values equal or lower to 1e-4?

Also just to make sure this is not the problem: You have considered the different units for the pressure in CFX and OpenFOAM (p/rho)?
jherb is offline   Reply With Quote

Old   February 2, 2016, 05:52
Default
  #7
New Member
 
Julian
Join Date: Dec 2015
Location: Berlin
Posts: 6
Rep Power: 10
bytesurfer is on a distinguished road
Hello jherb,

the simulation should be converged. The residuals always look like that and don't change when I use a different mesh or different schemes. They're steady till ~2000 iterations, after that they go up (I guess rounding errors are the problem there).
Maybe there is something wrong. It always bothered me that the pressure does not go down. Should I post my fvsolution and fvschemes?

Well, in CFX my teacher specified the density as 1000 kg/m³ and CFX calculated the torque. In openfoam I used "libforces.so" with 1000 kg/m³ and then I used this python script to calculate/plot the forces: https://github.com/lordvon/OpenFOAM_Tutorials/blob/master/HowToPlotForces/plot_forces.py
bytesurfer is offline   Reply With Quote

Old   February 3, 2016, 04:30
Default
  #8
Member
 
Join Date: May 2015
Posts: 68
Rep Power: 10
hcl734 is on a distinguished road
Quote:
Originally Posted by bytesurfer View Post
Thank you hcl734 for your quick answer!

So it should be defined as this:

k = 1e-10
omega = 1e-10
nut = nutLowReWallFunction Uniform 0

Is that right?

I think that maybe the wall functions are messing up my results. I got a power number of ~9, whilst the same simulation in CFX (done by my teacher, who is on vacation ) got ~4. I checked some books and they say it should be around 4-6 (depending on the baffles and tank bottom).

Regards,
bytesurfer
From my experience: no, you should use HighRe-configuration as said before

I think the whole wall-treatment-stuff is rather confusing in OpenFOAM and maybe they should add a section about it to the user guid or wiki.
jherb likes this.
hcl734 is offline   Reply With Quote

Old   February 13, 2016, 12:45
Default
  #9
New Member
 
Join Date: Jun 2014
Posts: 9
Rep Power: 11
Kire is on a distinguished road
Hi Julian

The SST implemented in OpenFOAM contains all the terms in the papers the code cited. This model does not require a damping function to integrate itself to wall.

In fact, omega-based models don't need damping functions to compute the viscous layer. The difference between the very original kOmega purposed by Wilcox, and the latest version was an addition of a cross-diffusion term http://turbmodels.larc.nasa.gov/wilcox.html. A mesh with y+~1 will solve on both forms of kOmega, but the very original kOmega was not able to recreate the peak in turbulent kinetic energy near wall.



The very original SST purposed by Menter did not have any damping http://turbmodels.larc.nasa.gov/sst.html but had this cross-diffusion as a result of the epsilon=k*omega transformation of the diffusion term in the epsilon equation.

Damping functions are added in omega-based models primarily for computing laminar-turbulence transition, but there are better transitional models available.

It is ok to use k=1e-15, omega=omegaWallFunction and nut=nutLowReWallFunction if you wish to integrate SST to wall.

But....
I have tried to interpret the residual plot you provided. Was it a transient simulation with pressure corrected twice? Or was it a steady state simulation with pressure corrected once?

If it was transient, then you want to look into residual convergence of velocities and turbulence parameters within each time step, because they are not shown in the residual plot provided. If it was steady state, the pressure residual was simply too large, and you want to check if velocities/turbulence parameters were still being solved....The solver will stop solving them if their residual tolerances are too large.

The residual plot you provided only shows the initial residuals of all parameters for each iterations. If the simulation was transient, you want to have residual convergence within each time step. Therefore, the final residuals ( where solver escapes its PISO loop ) should be small enough. If the simulation was steady state, then you would like to see the initial residuals reduced to small values.
Kire is offline   Reply With Quote

Reply


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
[Commercial meshers] Fluent3DMeshToFoam simvun OpenFOAM Meshing & Mesh Conversion 50 January 19, 2020 15:33
Natural convection in a closed domain STILL NEEDING help! Yr0gErG FLUENT 4 December 2, 2019 00:04
Centrifugal fan j0hnny CFX 13 October 1, 2019 13:55
kOmegaSST wall functions and mass inlet boundary FransVisscher OpenFOAM Pre-Processing 0 February 4, 2015 05:58
Wall function implementation K Omega SSt cbarry OpenFOAM 3 August 18, 2009 10:09


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