|
[Sponsors] |
July 23, 2007, 16:01 |
Hello everyone,
A Good day!
|
#1 |
Senior Member
Philippose Rajan
Join Date: Mar 2009
Location: Germany
Posts: 552
Rep Power: 25 |
Hello everyone,
A Good day! I have a quick question, to which I hope there would be an interesting answer :-)! I found the "nutWallFunctions" directory in the OpenFOAM 1.4 source files today, and to my surprise, found that there seem to be implementations of wall functions which allow one to put in physical data such as roughness height of the wall, etc... (nutStandardRoughWallFunction) Can this wall function be used directly as a boundary condition in the boundary field definitions? Or rather... a better question would be.... how can I use these wall functions with, for example... the "kEpsilon" turbulence model? Have a nice day! Philippose |
|
August 10, 2007, 03:25 |
Hi Philippose,
I do have th
|
#2 |
New Member
Lourens Aanen
Join Date: Mar 2009
Posts: 16
Rep Power: 17 |
Hi Philippose,
I do have the same question as you have and posted a question on the same subject a week ago. Looking at the source code it must be possible to use it with the kEpsilon model. Going though the UserGuide where an example of an boundary file and a pressure field file are given (6.2.1 in the last UserGuide), I still have a few questions: 1. In the boundary file should the type be "patch" or "wall"? (if I remember well, I read somewhere that only the type "wall" influences also the cell next to the boudary, and should therefore be used for boundary functions) 2. should the physicaltype be "wallFunctions" of "nutStandardWallFunction"? 3. To which variables the patch should be applied: "k" and "epsilon" have to be of type "symmetry" in case of boundary type "wall". If I try to apply it to "U" as wall.1 { type nutStandardRoughWallFunction; roughnessHeight 1.; roughnessConstant 1.; roughnessFudgeFactor 1.; value uniform (0 0 0); } I get an error message that I am probably trying to solve for a field with a default boundary condition. Should we apply it to "p" (which is zeroGradient for normal walls)? Applying it to "nuTilda" and "R" gives no error messages but does not change the results either. Did I forget to declare something in the "U" boundary? Regards, Lourens. |
|
August 31, 2007, 07:51 |
Hi Philippose,
Playing arou
|
#3 |
New Member
Lourens Aanen
Join Date: Mar 2009
Posts: 16
Rep Power: 17 |
Hi Philippose,
Playing around with the wallfunction, I have found that I get only reasonable results if I apply the nutStandardRoughWallFunction to both k and epsilon (in case of kEpsilon models...). In the boundary file the wall should have type "patch". This seems logical regarding the fact that nut influences both k and epsilon. If you think I am wrong, please let me know. Regards, Lourens. |
|
August 31, 2007, 14:23 |
Hello Lourens,
A Good Frida
|
#4 |
Senior Member
Philippose Rajan
Join Date: Mar 2009
Location: Germany
Posts: 552
Rep Power: 25 |
Hello Lourens,
A Good Friday evening to you :-)! This is interesting indeed :-)! After that first message that I posted, I did not look deeper into the idea of using the "nutStandardRoughWallFunction" in my simulations.... but on the other hand, it looks like you have been at it :-)! Did you have to modify the k-Epsilon Turbulence Model, or were you able to use this wall function without any recompiling of the code? Thing is, within the k-Epsilon source code (in the OpenFOAM source folder... "turbulenceModels/incompressible/kEpsilon"), the wall function seems to be hard-coded via a call to the file "wallViscosityI.H", which is located in the "wallFunctions" folder. So, I am not sure if you can straightaway use the nutStandardWallFunction, unless....... I was just looking at the code..... it works, because nutStandardWallFunction modifies the "nuw" and "nutw" fields, which are then used by the "wallViscosityI.H" and "kEpsilon.C" parts of the solution. Hmmm... this sounds plausible.... I hope someone with more expertise / experience with wallFunctions and Turbulence Models comments on / corrects this. Anyway... apart from that, I would say you are right about the fact that you need to apply the special wall function to both the "k" and the "epsilon" boundary conditions, because as you said, they are both involved in the turbulence model. I shall try something over this weekend... I happen to have some small meshes ready, which will give me results quickly... maybe I can also go a little deeper into the code to understand things better. It would be great if we can correspond regarding this, and see if we can get it working :-)! Have a nice weekend! Philippose |
|
September 3, 2007, 04:41 |
Hi Philoppose,
The hard-cod
|
#5 |
New Member
Lourens Aanen
Join Date: Mar 2009
Posts: 16
Rep Power: 17 |
Hi Philoppose,
The hard-coded call to the normal wall-functions is probably only used in case of patch-type wall, and boundary conditions zeroGradient for both k and epsilon. I don't think we have to recompile the code, since it is listed as a separate class on SourceForge: http://foam.sourceforge.net/doc/Doxygen/html/namespaceFoam_1_1turbulenceModels.h tml However, if I just apply it to k and epsilon, I still get some strange results: k and epsilon values close to the wall are far too high. Applying it with a roughnessheight of 0 should give similar results as the standard wall functions, which they don't. I hope you (or some other mart guy) can get us a step further. Regards, Lourens. |
|
September 13, 2007, 06:34 |
Hi Philippose,
Looking at t
|
#6 |
New Member
Lourens Aanen
Join Date: Mar 2009
Posts: 16
Rep Power: 17 |
Hi Philippose,
Looking at the source code of the rough wall functions, I think it is unlikely we should apply them to k or epsilon or any other variable, exept to nut. The code contains no boundary condition to any variable except for nut. I guess the wall function can be applied using the SpalartAllmaras model since that model uses an explicit boundary conditions for nut. Applying it to k or epsilon means that no boundary condition for k or epsilon is given, causing them to be constant? Besides it should not be neccesary to apply the rough wall function on more than one place, since it sets the values for nutw, which are stored. In the KE model, the wallViscosityI.H which sets nutw is included twice. Any idea why? The last field updated is the nut field. If the rough wall functions can be used with the unodified KE model, they should be applied after updating nut (the last step in the KE model) and before updating k and epsilon. The U-boundary condition seems to be the perfect candidate to apply the rough wall function: it is constant (0 0 0) and updated before k and epsilon. I only don't know if the first call to wallViscosityI.H in kEpsilon.C causes problems. But anyhow: applying it to U gives an error message... I start to think things have to be rewritten and recompiled to get them working for ke-models. But that is not too easy since as there is no logic place to set the boundary conditions fot nut, I don't know if it is easy to apply different roungnesses for different walls. If you have better ideas please let me know! Regards, Lourens. |
|
July 30, 2008, 07:50 |
Hi Foamers,
also in OF-1.5
|
#7 |
Member
Stefan Radl
Join Date: Mar 2009
Location: Graz, Austria
Posts: 82
Rep Power: 18 |
Hi Foamers,
also in OF-1.5 a mysterious directory names "nutWallFunctions" can be found in "src/turbulenceModels/RAS/incompressible/wallFunctions/". However, it is totally unclear how this code can used (it is compiled into the lib incompressibleRASModels). Can somebody give me a hint where to find further information? |
|
July 30, 2008, 08:06 |
It is used by the Spalart-Allm
|
#8 |
Senior Member
Eugene de Villiers
Join Date: Mar 2009
Posts: 725
Rep Power: 21 |
It is used by the Spalart-Allmaras model as a wall boundary condition for the nut field.
|
|
January 26, 2009, 04:42 |
Hi all,
I am wondering if i
|
#9 |
Senior Member
maddalena
Join Date: Mar 2009
Posts: 436
Rep Power: 23 |
Hi all,
I am wondering if it is possible to apply a rough wall condition using the kEpsilon turbolence model in OF 1.5. Up to now, I have found references only to kOmega or Spalart-Allmaras model in this forum... And if so, how can I specify the dimensioned roughness height and the roughness constant as I would do in Fluent? Any idea? Any hint where to find more info? Thanks in advance! Mad |
|
April 26, 2009, 22:29 |
|
#10 |
New Member
Nestor Rueda
Join Date: Mar 2009
Posts: 9
Rep Power: 17 |
Hi Magdalena,
did you find any answer to your question? I'm trying to set a problem with the k-e model and rough walls, but I dont have any concrete answer yet. regards |
|
July 30, 2009, 08:51 |
release 1.6 solved problems!
|
#11 |
New Member
Lourens Aanen
Join Date: Mar 2009
Posts: 16
Rep Power: 17 |
Ha All,
Applying rough wall boundary conditions was not possible whitout some programming. With the new release of OF 1.6 this is not needed anymore: a number of wall functions can be chosen, acting on the turbulent viscosity (which is now an explicit variable for all RAS models) including "nutRoughWallFunction" (I have some problems with this one: it seems to be insensitive for the variables to set, which might be due to some mistake of me...) and "nutSpalartAllmarasStandardRoughWallFunction" which can be applied to e.g. k-epsilon models. Different roughness parameters can be used for different patches. Works great! Regards, Lourens |
|
May 21, 2010, 10:14 |
define Ks and Cs
|
#12 |
Senior Member
Join Date: Jan 2010
Location: Stuttgart
Posts: 150
Rep Power: 16 |
Can someone tell me where I have to define the variables Ks and Cs when i use a roughWallFunction?
Regards |
|
March 9, 2011, 00:49 |
|
#13 |
New Member
Stefan
Join Date: Jan 2011
Location: Bremen
Posts: 20
Rep Power: 15 |
Yes. Put them into the 0/nut file at the wall boundary where you want to apply the wall function.
|
|
|
|