CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Wall treatment with OpenFOAM (https://www.cfd-online.com/Forums/openfoam-solving/102246-wall-treatment-openfoam.html)

Jonathan September 19, 2012 05:02

hi 1/153!

thanks for your comments - no prob about your english! its good!!

i have thought about this overnight, and actually gone back to the theory and a couple papers to as well, and i think the confusion comes in because of a couple idiosyncracies in the models themselves and so terminology used in OF ...

1) high Re models = normal y+ rules, wall functions required
2) low Re models = normal y+ rule, no wall functions, specify explicit BC's
3) SPECIAL = Menter's k-omega SST = either high Re with wall functions, or low Re BUT THEN you need to use a "wall function" for blending the viscosity from the k-omega implementation to the k-e implementation. Currently this is nutUSpaldingWallFunction (formulation based on U, OF2.1.1), previously nutSpalartAllmarasWallFunction (older releases). You also should use the kqRWallFunction for k and omegaWallFunction for omega, although you can use explicit BC's as for the other low Re models. I think the reason for the 'wallfunctions' needed in SST are because in the revised Menter model (2003), the model constants are blended from the k-omega implemetation to the k-e implementation, and the omega-equation is blended into the epsilon-equation, which may not be done in OF. Perhaps the wallfunctions for nut, k and omega blending are in fact work-arounds for this (i havent checked the code for omega, so i dont know if omegaWallFunction is in fact the omega-equation blending used in the 2003 model.

The confusion for me has been as a result of the reference to the blending functions as 'wall functions' - a term which one doesnt associated with low Re models!

4) FINALLY, with the low Re models, in order to allow for the calculation of yPlusRAS, instead of using 'calculated' for nut, you need to use nutLowReWallFunction, which as Roby mentioned above, is actually just a placeholder, and equivalent to ( fixedValue uniform 0 ) but allows OF to calc yPlus values.

Unfortunately, i am still getting terrible convergence with k-omega SST, but as far as i can tell, the above is how its supposed to work in OF!

Anyway, those in the know - please correct me where i am wrong!!!

EDIT: oops sorry, reference to Roby above was incorrect, i was reading another thread on this where the poster was AlmostSurelyRob - who i meant to reference, not Roby above

fredo490 April 17, 2013 12:36

This thread turns out to be very interesting and it contains good explanations.

I arrive here because I want to know how OF manages the heat flux at the wall in a turbulent flow. I've found that Fluent includes the Energy into it's wall functions ( http://combust.hit.edu.cn:8080/fluen...e430.htm#stdwf ).

From what I know so far and from the source code I've read, it seems that OF doesn't make any adjustment of the thermal boundary layer. So my question is: does the temperature field have meaning in case of a coarse mesh (y+ = 30). I feel that my question is stupid because the thermal boundary layer can be quite different from the momentum boundary layer but I still want to get some point of view.

Does any of you have an idea of how to get the heat flux at a wall in the case of a turbulent flow ? For example an airfoil of 1m at Mach 0.3 ?

Also, can you confirm that OpenFoam doesn't have any friction heating ? (edit, it seems to be included in the solver itself but I don't know if this treatment include the boundary layer).

Ps. I mostly use rhoSimplecFoam.

fredo490 April 17, 2013 12:45

I also wonder, does the thermal boundary layer works like the momentum boundary layer, I mean: is it possible to make a very fine mesh and so avoid any wall function ?

For example, is it possible to make a very fine mesh y+ < 1, and then simply compute the heat flux using the gradient of temperature ?

JR22 April 17, 2013 14:20

Terrible Convergence for k-omega SST
 
Hi Jonathan,

I have also gotten terrible residuals for k-w-SST. Then I went to the motorbike tutorial in OF-2.2.0 which should be the Meca of a fine tuned model, and the residuals look amazingly crappy (granted it only iterates to 500 steps - but doesn't look as if it gets any better after).

I found after a bit of poking around the model, that the quality of the residuals is highly dependent on your mesh. For example, I got much better results by sending the layer insertion to hell and just leaving the elements from the snap alone. Here is a thread I started, asking about the convergence for the motorbike tutorial (OF-2.2.0):
http://www.cfd-online.com/Forums/ope...mega-mine.html

Quote:

Originally Posted by Jonathan (Post 382500)
Unfortunately, i am still getting terrible convergence with k-omega SST, but as far as i can tell, the above is how its supposed to work in OF!


fredo490 April 18, 2013 07:04

I answer part of my question: I've just found the Foam::compressible::alphatJayatillekeWallFunctionF vPatchScalarField

Quote:

00030 Description
00031 This boundary condition provides a thermal wall function for turbulent
00032 thermal diffusivity (usually\c alphat) based on the Jayatilleke model
Source: http://foam.sourceforge.net/docs/cpp/a09123_source.html

andyru May 14, 2013 04:10

enhanced wall treatment
 
Hi,

I read the thread because I'm facing some problems regarding the wall treatment in openfoam. I found a presentation which could solve some problems:
http://www.opensourcecfd.com/confere...9_Kurenkov.pdf
Here, for k-epsilon and k-omegaSST automatic wall treatment was implemented.
Does anyone have some experience with that? Maybe can help to implement or did something similar already?

Best regards,

Andy

immortality June 5, 2013 18:38

hi all
Is there any low-Re capable turbulent model in OF for "compressible,internal flow in a tube"?
Could introduce them to me?
Thanks so much.

crossley90 July 18, 2013 11:20

Quote:

Originally Posted by Jonathan (Post 382500)
hi 1/153!

4) FINALLY, with the low Re models, in order to allow for the calculation of yPlusRAS, instead of using 'calculated' for nut, you need to use nutLowReWallFunction, which as Roby mentioned above, is actually just a placeholder, and equivalent to ( fixedValue uniform 0 ) but allows OF to calc yPlus values.

above

I think I've qouted correctly :-S

Hi Jonathan, I'm interested in what you had to say about the Low Reynolds wall function (LowReWallFunction). Do you implement it it on a low Reynolds mesh? with a very small y+?

I have been using the LowReWallFunction in 'nut' with the corresponding transport equations like kappa and omega (k-Omega SST) and thought 'if I'm applying a wall function k and W also require wall functions'. Is this correct because I can't see how it would really work.

Any help would be greatly appreciated.

Regards

David

Jonathan July 18, 2013 12:21

hi Crossley

my understanding is that LowReWallFunction was instituted by the OF developers to be used as the BC for nut with low Reynolds turbulence models on y+ ~1 meshes.

If you look at the header of the code, it says:
Code:

Class
    Foam::incompressible::RASModels::nutLowReWallFunctionFvPatchScalarField

Description
    Boundary condition for turbulent (kinematic) viscosity when for use with
    low Reynolds number models.

    Sets nut to zero, and provides an access function to calculate y+.

SourceFiles
    nutLowReWallFunctionFvPatchScalarField.C

From what i understand, it is only intended for use with models that are mentioned in the User Guide as "low Re' models (see UG U-101).

Quote:

'if I'm applying a wall function k and W also require wall functions'. Is this correct because I can't see how it would really work.
No, if you have a 'low Re' mesh, you must use the proper low Re (non-WF) BC's for the transported turbulence quantities. nutLowReWallFunction in this sense is not really a wall function - its really just a neat / convenient way to set the BC's for nut which is consistent with the rest of the OF implementation. As the header says, it really does nothing except for setting the value of nut to zero at the wall, and providing an access function to allow for the calculation of yPlusRAS ...

in terms of the 'correct' setup for kOmegaSST, there are a few other threads where this is discussed, and perhaps they might help as well.
hope this helps,

cheers
jonathan

alexmogavero July 31, 2013 14:40

Hello guys,
I read trough all the discussion, it was very useful to understand the general topic of wall function.
However I got a bit lost and at the end I have probably a very stupid question.
Which is the wall function that I should use for high Reynolds? I am using compressible k-e with Y+ above 30.
Can you provide me the name of the wall function?

I was a Fluent user so I am used to the Fluent nomenclature, in this case I was used to employ the standard wall function.

Thanks

immortality July 31, 2013 15:55

Hi
those are different for different variables.for k use:"kqRWallFunction"
for epsilon:"epsilonWallFunction"
look into a turbulent case in tutorial folder.

alexmogavero July 31, 2013 16:37

Shall I define also the wall function for the mut?

immortality August 1, 2013 09:52

yes,you can use "xxx" for example in return of type of mut or anything else and compiler says you what types are there for using.like mutkWallFunction,mutUWallFunction,mutUSpaldingWall Function,...

Thalenberghen February 7, 2014 16:26

I was searching everywhere for the way to get kw-sst working as low-re formulation and your post got me on the right way with the NutUSpaldingWallFunction. Thanks alot.

immortality February 7, 2014 16:41

if its so, add a reputation power for me :)
and you remembered me about it to write in my thesis mention to it. do you know a good reference that has described mutUSpaldingWallFunction?

dmck February 27, 2014 11:25

damping functions within the sst model
 
1 Attachment(s)
this is quite an interesting thread, with some good explanations

i have a question regarding the damping function the sst model uses. so it says earlier in this post that the sst model can be used as a high Re model or a low RE model.

I'm simulating the propagation of a pressure wave within a pipe.I have created a simulation using the RNG k-epsilon model and got reasonable results, using a mesh with a y+ in the range 30-300.

then i applied the SST k-omega model. i got a slightly better result that the RNG model. I did not refine the mesh, so i applied the SST model with wall functions.

my question - in the SST model are the damping functions also applied when the model is being used as a high Re model? or how can i explain the improved results?

I've attached a graph of my results

some advice would be appreciated

Jos February 21, 2015 11:20

Rough wall example
 
Quote:

Originally Posted by alberto (Post 364473)
The answer to your questions is indirectly available in the User Guide :D

OpenFOAM has low-Re models which do not require wall-functions, since they implement damping functions. You find them listed in Table 3.9. With low-Re models you can use the nutLowReWallFunction (mutLowReWallFunction for compressible cases) condition, which is a place-holder and enables the calculation of y+.

The various wall-functions can be found in the directories with the command:

Code:

find $FOAM_SRC/turbulenceModels -name wallFunctions
Best,

Please Alberto, could you provide some usage of the nutkRoughWallFunction? How do I can calculate it's value?
Thank you very much for your help.

mhaghdoost March 13, 2015 08:56

Hey guys,
first of all I'm a nooby in OF so keep it in mind please :D

my question:
how can I have different wall treatment in one case. Lets say wall 1 should have a high Reynolds number treatment and wall 2 should have a low one.

- What exactly do I have to choose for a turbulence model in RASProperties file? RASModel: kEpsilon (for high Re) or LaunderSharmaKE (for low Re)?
- What should I put instead of epsilonWallFunction in the following code segment in case of a low Reynolds treatment?

wall_high_Re
{
type epsilonWallFunction;
value uniform 0.02911;
}

wall_low_Re

{
?
}


thx

RodriguezFatz March 19, 2015 04:14

Hi Mo,

As I understand it, your model must be capable of doing this. I am not sure, if the low-Re k-epsilon models in openfoam (such as the LaunderSharma you mentioned) work with high-Re boundary conditions at all. I guess the k-omega-SST could do this.
If the model supports it, you just need to use:

wall_low_Re
{
type fixedValue; //(<- most of the low_re conditions are fixedValue, depends on the model
value XXX; //whatever fits to your model, LaunderSharma needs a boundary condition for the modified epsilon-tilda to be zero at walls
}

Have a look here for all the boundary conditions:
http://www.tfd.chalmers.se/~lada/pos...ndium_turb.pdf

keanhong May 4, 2015 13:00

Quote:

Originally Posted by 1/153 (Post 381934)
My understanding is:
if y+ ~ 1, no need of any wall function (omegaWallFunction in OF can be still used though), y+ in log, standard wall function applies.

** the difficulty is in complex flows, it's extremely difficult to have y+ in the same region, so continuous wall function should be pursued.

k-omega is different than k-epsilon by design, so the former, no need of WF in low-re mode, the latter, needs special damping formulation in low-re mode.

Sorry for my poor english.

is it possible to use kEpsilon model for complex flow (with combinations of high-re and low-re modes)?

from what I know so far, in order to have an enhanced-wall-function-like feature in openFoam, nutUSpaldingWallFunction (unified wall function based on Spalding's law) can be used together with kqRWallFunction and EpsilonWallFunction.

And I saw from other threads stating that kLowReWallFunction and epsilonLowReWallFunction can be used in kEpsilon model, which I doubt it, as those 2 wall functions are actually created for v2f-turbulence model.

I'm still new to openFoam and correct me if I'm wrong.


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