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/)
-   -   LES WallFunctions in O.F. 2.2.0 (nutUSpaldingWallFunction) (https://www.cfd-online.com/Forums/openfoam-solving/127184-les-wallfunctions-o-f-2-2-0-nutuspaldingwallfunction.html)

Villo December 5, 2013 06:25

LES WallFunctions in O.F. 2.2.0 (nutUSpaldingWallFunction)
 
Dear Foamers,
hi to all! new in the forum and, almost, in OpenFoam... so don`t complain too much :D
I`m simulating a transiet injection of a high density fluid into a geometry filled with a low density fluid, solving with twoLiquidMixingFoam with this turbulenceModel:
  1. LES model: Vreman
  2. LESdelta: cubeRootVol
I had to move from OF 2.0.0 to OF 2.2.0, otherwise the alpha field was over the upper limit and lower than the lower limit (also with "famous" numerical schemes that shows great div(alpha) limiting and stability as filteredLinear, vanLeer).
My mesh is fine but, maybe, not enough for the physics of the case. So i want to check differences in the solution using and not wall functions.
After this introduction let`s go to the questions:
  1. i found that nuSgsWallFunction is not still available in OF2.2.0, was it replaced from nutUSpaldingWallFunction?
  2. in OF 2.0, if wall functions are applied you have to set nuSgsWallFunction for 0/nuSgs and (if you want) nutSOMETHING for 0/nuTilda. How to treat it in OF 2.2.0, is nutUSpaldingWallFunction allowed for both viscosity definitions?
  3. trying to apply nutUSpaldingWallFunction i have follow this way: create the wallFunctionDict (Spalding law), run the pre-processing utilities wallFunctionTable, generate the uPlusWallFunctionData.gz archive. Then i have set in the nuSgs file (for wall patch) the following string

    wall
    {
    type nutUSpaldingWallFunction;
    value ???? ;
    }

    but which value ( ????) does i have to set? I image that i have to insert the uPlusWallFunctionData, how?
  4. for k field i think that i can continue to use kqRWallFunction, isn`t it?
Any suggestion?
Cheers
Tommy

p.s. i would ask about the new OF 2.2.0 settings for numerical schemes (http://www.openfoam.org/version2.2.0/numerics.php) to understand how does works a similar settings div(phi,h) bounded Gauss linearUpwind grad(h);... but maybe in a second time :o

Villo December 9, 2013 09:08

No suggestions? also the comment "stupid questions cannot expect great answer" would be useful!

RodriguezFatz December 10, 2013 04:20

to 3) -> As far as I know the "value" in such cases is just used for the very first iteration (of the first time-step) as initialization. After that it uses the calculated value of your boundary condition. At least I don't worry about that.

Villo December 10, 2013 08:18

Hi Philipp, thanks for your reply!
So after the first iteration the uPlusWallFunctionData.gz is automatically read?
I want to try to make you one more question: when this wall function is applied to 0/nuSgs how do you use to treat the boundary condition in 0/nuTilda?

RodriguezFatz December 10, 2013 08:44

That's at least what I understood!

I am not 100% sure about the wall functions, because I don't catch on the whole code. But I think this is done by the "correctBoundaryConditions" command that comes after all the calculations in all the turbulence model files. Have a look at your LES model files! Maybe someone can confirm that?

Villo February 6, 2014 03:31

2 Attachment(s)
Hey there!
Playing around wallFunctions, in order to apply nutUSpaldingWallFunction is sufficient to set-up in 0/nuSgs:

bottom
{
type nutUSpaldingWallFunction;
value uniform 1e-4;
}


there is no need to use wallFunctionDict.
I have some doubts about the nuSgs because the solved field seems to be strictly related to the initial value (as showed in the nuSgs chart).
The effect of this wall function (about velocity) is showed in the attached file.
blue line: wall function on left, LES solving (wall refined) on right
red line: wall function on left and right

About wallFunctionDict: seems to be necessary when you set in 0/nuSgs (or 0/nut 0/nuTilda etc etc) for the patch wall
bottom
{
type nutTabulatedWallFunction;
uPlusTable uPlusWallFunctionData;
value uniform 1e-4;
}

(uPlusWallFunctionData have to be the same as setted-up in ./constant/wallFunctionDict)

Thene you have to choice on ./constant/wallFunctionDict the kind of tabulated wallFunction (as shown in the following output from compiling trial):
Valid tabulatedWallFunction types are:
2
(
SpaldingsLaw
general
)


Thene run on ./ wallFunctionTable and will be created a ./constant/uPlusWallFunctionData available for the computation. Just in this case the solver will read the generated table (i`m running a computation to confirm that)


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