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

LES

Register Blogs Community New Posts Updated Threads Search

Like Tree36Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 20, 2012, 12:49
Default
  #201
Member
 
achinta
Join Date: May 2010
Location: Sydney
Posts: 66
Rep Power: 15
achinta is on a distinguished road
Hello everyone,
Trying to improve my case I implemented the following changes in fvSchemes:
------
ddtSchemes
{
default backward;
}

gradSchemes
{
default Gauss linear;
grad(p) Gauss linear;
grad(U) Gauss linear;
}

divSchemes
{
default none;
div(phi,U) Gauss linearUpwindV grad(U);
div(phi,k) Gauss upwind;
div(phi,B) Gauss limitedLinear 1;
div(phi,nuTilda) Gauss limitedLinear 1;
div(B) Gauss linear;
div((nuEff*dev(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
default none;
laplacian(nuEff,U) Gauss linear limited 0.333;
laplacian((1|A(U)),p) Gauss linear limited 0.333;
laplacian(DkEff,k) Gauss linear limited 0.333;
laplacian(DBEff,B) Gauss linear limited 0.333;
laplacian(DnuTildaEff,nuTilda) Gauss linear limited 0.333;
}

interpolationSchemes
{
default linear;
interpolate(U) linear;
}

snGradSchemes
{
default limited 0.333;
}

fluxRequired
{
default no;
p ;
}
-----------------------
I tried all variants of OneEqEddy LES model (cubeRootVol, vanDriest, smooth) with the above corrections. The solution diverges after 100 time steps.

Then i made some change:
-----
gradSchemes
{
default cellLimited Gauss linear 1;
grad(p) cellLimited Gauss linear 1;
grad(U) cellLimited Gauss linear 1;
}

divSchemes
{
default none;
div(phi,U) Gauss filteredLinear2V 0.5 0;
div(phi,k) Gauss linearUpwind grad(k);
div(phi,B) Gauss limitedLinear 1;
div(phi,nuTilda) Gauss limitedLinear 1;
div(B) Gauss linear;
div((nuEff*dev(T(grad(U))))) Gauss linear;
}
------
Other schemes remain the same. The solution blows up even faster (arond 30 time steps).

Could anybody tell what the problem is?


Kind regards,
Achinta

Last edited by achinta; June 20, 2012 at 12:49. Reason: improvement
achinta is offline   Reply With Quote

Old   June 20, 2012, 12:52
Default
  #202
Member
 
achinta
Join Date: May 2010
Location: Sydney
Posts: 66
Rep Power: 15
achinta is on a distinguished road
Hi Rob,
Please let me know what specific information you need (except for the mesh, which is confidential ).

Kind regards,
Achinta
achinta is offline   Reply With Quote

Old   October 5, 2012, 08:16
Default
  #203
Member
 
Paula
Join Date: Aug 2012
Posts: 30
Rep Power: 13
curiosity is on a distinguished road
Hi,

I´m also interested on this topic?

Did anyone got the answer to Roland´s question?
curiosity is offline   Reply With Quote

Old   October 5, 2012, 08:35
Default
  #204
Senior Member
 
Bernhard
Join Date: Sep 2009
Location: Delft
Posts: 790
Rep Power: 21
Bernhard is on a distinguished road
The logfile can give some information. Can you show part of the logfile, where the divergence occurs?
Bernhard is offline   Reply With Quote

Old   October 5, 2012, 10:46
Default
  #205
Member
 
Paula
Join Date: Aug 2012
Posts: 30
Rep Power: 13
curiosity is on a distinguished road
Quote:
Originally Posted by Bernhard View Post
The logfile can give some information. Can you show part of the logfile, where the divergence occurs?
Sorry Bernhard, I wrote at the wrong thread :S
curiosity is offline   Reply With Quote

Old   October 21, 2012, 05:12
Default
  #206
New Member
 
Ken Tay
Join Date: Oct 2012
Location: Singapore
Posts: 5
Rep Power: 13
kentriarch is on a distinguished road
Hi all,

Am new here. I am looking to implement a 2-part eddy viscosity model as outlined by Sullivan et al (1994) www.mmm.ucar.edu/people/sullivan/talks/papers/sgs.pdf

Currently, I am thinking of using pimpleFoam solver and have been looking at modifying the oneEqEddy LES model, changing the divDevbeff in GenEddyVisc.C to the appropriate formulation of tau_ij. However, I am running into several issues:

1. How to get the homogeneous averages for <S_ij>, <u>, <v> during runTime as I need these values for each time-step

2. I am still unsure if using pimpleFoam is ideal, even if I want to neglect the effects of temperature and hence the buoyancy effect

Anyway, I would appreciate any pointers from you guys if any of you have attempted to do this implementation. Thanks a lot.
kentriarch is offline   Reply With Quote

Old   October 23, 2012, 05:17
Default
  #207
Senior Member
 
Albrecht vBoetticher
Join Date: Aug 2010
Location: Zürich, Swizerland
Posts: 237
Rep Power: 16
vonboett is on a distinguished road
Quote:
Originally Posted by kentriarch View Post
Hi all,

Am new here. I am looking to implement a 2-part eddy viscosity model as outlined by Sullivan et al (1994) www.mmm.ucar.edu/people/sullivan/talks/papers/sgs.pdf

Currently, I am thinking of using pimpleFoam solver and have been looking at modifying the oneEqEddy LES model, changing the divDevbeff in GenEddyVisc.C to the appropriate formulation of tau_ij. However, I am running into several issues:

1. How to get the homogeneous averages for <S_ij>, <u>, <v> during runTime as I need these values for each time-step

2. I am still unsure if using pimpleFoam is ideal, even if I want to neglect the effects of temperature and hence the buoyancy effect

Anyway, I would appreciate any pointers from you guys if any of you have attempted to do this implementation. Thanks a lot.
Have you taken a look at the LTT-Rostock OpenFOAM extensions? Matthias Walter has developed several dynamic subgridscale models for OpenFOAM and you can find the source code on their repository, there it should be possible to find code snippets you could use. (By the way, I strongly recommend the DMM SGS model)
vonboett is offline   Reply With Quote

Old   October 23, 2012, 06:15
Default
  #208
New Member
 
Ken Tay
Join Date: Oct 2012
Location: Singapore
Posts: 5
Rep Power: 13
kentriarch is on a distinguished road
Quote:
Originally Posted by vonboett View Post
Have you taken a look at the LTT-Rostock OpenFOAM extensions? Matthias Walter has developed several dynamic subgridscale models for OpenFOAM and you can find the source code on their repository, there it should be possible to find code snippets you could use. (By the way, I strongly recommend the DMM SGS model)
Nope, I have not, but thanks for the recommendations and I will look in them!
kentriarch is offline   Reply With Quote

Old   January 13, 2013, 19:13
Default
  #209
New Member
 
Ali Lohrasbi Nichkoohi
Join Date: Oct 2011
Posts: 15
Rep Power: 14
nichkoohi is on a distinguished road
Quote:
Originally Posted by grandgo View Post
hi gregor,

yes, it was my worry, that it has something do to with my domain not being cube-shaped. thanks anyway.

best regards
grandgo
HI GREGOR and grando
i copied and do wmake your code above. my case is rectangular(3d). i want to :
1: write the E-K in one dimentional in space
2: write the E-K in one dimentional in time
3: write the E-K in 3 dimentional in space
4: write the E-K in 3 dimentional in time
how can i do it?
thank u in advance sir
lohrasbi2013@gmail.com
nichkoohi is offline   Reply With Quote

Old   January 17, 2013, 07:11
Default
  #210
Member
 
Gregor Olenik
Join Date: Jun 2009
Location: http://greole.github.io/
Posts: 89
Rep Power: 16
gregor is on a distinguished road
Hi Lohrasbi,

for the E-K in space you can have a look at how it is done in the dnsFoam solver. In principle you could use:

Code:
#include "Kmesh.H"
#include "calcEk.H"

Kmesh K(mesh);
calcEk(U, K).write(runTime.timePath()/"UEk", runTime.graphFormat());
this will give you the E-K of the whole domain (for the three components of U). If you want E-K of a single velocity component you could just create a vector with three identical components (e.g Ux[0]=U[0], Ux[1]=U[0],Ux[2]=U[0]) and then use calcEk(Ux,K) and divide the result by three (hope thats correct). For E-K over time you mean E-K at a specific point of the domain, right ?
gregor is offline   Reply With Quote

Old   December 19, 2013, 15:46
Default
  #211
Senior Member
 
Alhasan's Avatar
 
Hasan K.J.
Join Date: Dec 2011
Location: Bristol, United Kingdom
Posts: 200
Rep Power: 15
Alhasan is on a distinguished road
Hi all,

I am using this mapped value of fields from a setup to simulate flow around an airfoil,

now for this particular case, when i use RANS i map the Nut field because it is non-uniform on the top and bottom of the airfoil, so to get accurate results i have to map it.

now when i want to perform LES ? what do i do, do i map the nuSgs field ? if so how because I am mapping from a RANS simulation and it does not have nuSgs field

or do i just map the Nut and change its name to nuSgs and the dimensions !!! ? does it work like that ? do they have any similar relation

Thanks for your time,
Regards,
Hasan K.J
Alhasan is offline   Reply With Quote

Old   December 26, 2013, 15:23
Default
  #212
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Greetings to all!

@Hasan: AFAIK, when LES is involved, what usually is done is to first run the simulation with a steady-state solver with LES; then run a transient solver with LES as well. One such tutorial in OpenFOAM that demonstrates this, is this one: "incompressible/pisoFoam/les/motorBike"

If you need to pass RAS fields to LES ... either you'll need an utility that calculates an estimate from the RAS fields to LES fields, or you'll have to create one yourself.
Have a look into this utility "applications/utilities/postProcessing/turbulence/createTurbulenceFields" - it's meant for creating RAS turbulence fields, but perhaps you can create a similar utility for LES... because I'm not aware of any existing already...
Wait, apparently someone already created the utility "createTurbulenceFieldsLES": http://www.cfd-online.com/Forums/ope...ields-les.html


Beyond this, the turbulence fields are usually calculated from the pressure and velocity fields, using the initial turbulence fields only as a reference. Therefore, you don't need to specifically map the LES related turbulence fields... you just need to give non-ridiculous initial values for the turbulence fields and after some iterations it should be able to sort things out on its own.

Best regards,
Bruno


edit: conversation on the related topic to Hasan's case is here: http://www.cfd-online.com/Forums/ope...-openfoam.html
Alhasan and adambarfi like this.
__________________

Last edited by wyldckat; December 28, 2013 at 15:52. Reason: see "edit:"
wyldckat is offline   Reply With Quote

Old   February 26, 2014, 20:35
Default
  #213
Member
 
Peter
Join Date: Nov 2011
Posts: 46
Rep Power: 14
palmerlee is on a distinguished road
Quote:
Originally Posted by eugene View Post
np.

p=0 and small k is fine.
nuSgs doesn't matter because it is calculated from k and delta.
Hi, Eugene!

The y+ is smaller than 2 in my case which is a LES simulation. I set k a small value (1e-5) at the inlet boundary. How should I set k at the wall boundary?

Best regards,
Peter
palmerlee is offline   Reply With Quote

Old   May 22, 2014, 07:13
Default
  #214
Senior Member
 
ArathoN
Join Date: Jul 2011
Posts: 137
Rep Power: 15
ArathoN is on a distinguished road
Quote:
Originally Posted by palmerlee View Post
Hi, Eugene!

The y+ is smaller than 2 in my case which is a LES simulation. I set k a small value (1e-5) at the inlet boundary. How should I set k at the wall boundary?

Best regards,
Peter
The turbulent kinetic energy is null at the walls. And for the value at the inlet you can define it after considering a turbulence intensity of 5÷7% then knowing U it's easy to calculate it.
ArathoN is offline   Reply With Quote

Old   May 22, 2014, 07:44
Default
  #215
Senior Member
 
RodriguezFatz's Avatar
 
Philipp
Join Date: Jun 2011
Location: Germany
Posts: 1,297
Rep Power: 26
RodriguezFatz will become famous soon enough
Quote:
Originally Posted by ArathoN View Post
The turbulent kinetic energy is null at the walls.
Right, but set it to some really low number (such as 1e-12) at the wall in OpenFoam. At some places OpenFoam divides by "k", so setting it to "0.0" will result in an error. Now, a really low value will give a correct division, but is pratically zero for all multiplications.
__________________
The skeleton ran out of shampoo in the shower.
RodriguezFatz is offline   Reply With Quote

Old   March 1, 2016, 13:44
Default
  #216
Senior Member
 
Mahdi Hosseinali
Join Date: Apr 2009
Location: NB, Canada
Posts: 273
Rep Power: 18
anishtain4 is on a distinguished road
Hi everyone,

I know this thread has not been active for a while but I guess this is the most related topic so I'm going to post here.
I'm running the channel flow LES which is now under pimpleFoam. The tutorial case runs well but my trouble is that I need the structures which are being compromised in the current domain as mentioned in Eugene's thesis. When I extend the length of the domain (and consequently the grid numbers) the profiles are not valid any more. Even though the bulk velocity, CFL, and Retaw and everything else should be the same. I think is is coming from the initial conditions. Does anyone else has experience with this?
anishtain4 is offline   Reply With Quote

Old   March 1, 2016, 13:53
Default
  #217
Senior Member
 
Timofey Mukha
Join Date: Mar 2012
Location: Stockholm, Sweden
Posts: 118
Rep Power: 14
tiam is on a distinguished road
Quote:
Originally Posted by anishtain4 View Post
Hi everyone,

I know this thread has not been active for a while but I guess this is the most related topic so I'm going to post here.
I'm running the channel flow LES which is now under pimpleFoam. The tutorial case runs well but my trouble is that I need the structures which are being compromised in the current domain as mentioned in Eugene's thesis. When I extend the length of the domain (and consequently the grid numbers) the profiles are not valid any more. Even though the bulk velocity, CFL, and Retaw and everything else should be the same. I think is is coming from the initial conditions. Does anyone else has experience with this?
Hello!
I am not sure I understood what the problem is, what do you mean by "the profiles are not valid any more"? Your results don't compare well with dns?

For the initial conditions, you can use the perturbU
https://github.com/wyldckat/perturbU

Some other tips based on my experience.
  • Ditch the SGS model. Specifically, Smagorinsky and oneEqEddy only make things worse, even though van Driest damping does imporve things significantly. Other models are tried were on par with not having a model at all.
  • A grid with delta x+=25 and delta z+ =10, and a good amount of points along y, with y+=1 should give very nice results.
tiam is offline   Reply With Quote

Old   March 4, 2016, 05:48
Default
  #218
Member
 
gereksiz
Join Date: Mar 2015
Posts: 42
Rep Power: 11
clktp is on a distinguished road
What do you mean extend the length of domain? If you extend it in streamwise direction, it should be fine, for other directions it fails if I remember the case correctly.
clktp is offline   Reply With Quote

Old   March 14, 2016, 08:53
Default
  #219
Senior Member
 
Mahdi Hosseinali
Join Date: Apr 2009
Location: NB, Canada
Posts: 273
Rep Power: 18
anishtain4 is on a distinguished road
Quote:
Originally Posted by tiam View Post
Hello!
I am not sure I understood what the problem is, what do you mean by "the profiles are not valid any more"? Your results don't compare well with dns?

For the initial conditions, you can use the perturbU
https://github.com/wyldckat/perturbU

Some other tips based on my experience.
  • Ditch the SGS model. Specifically, Smagorinsky and oneEqEddy only make things worse, even though van Driest damping does imporve things significantly. Other models are tried were on par with not having a model at all.
  • A grid with delta x+=25 and delta z+ =10, and a good amount of points along y, with y+=1 should give very nice results.
I tried multiple tests. In all of which the grid was fine enough (y+=0.6, z+=20, z+=10) and CFL<0.5. But my results were still off (not in agreement with theory or dns). I came to realizes when I change the domain size and use the perturbUChannel the perturbations are being damped! I tried the perturbUChannel with the tutorial case and it does not work!!! I've tried OF 2.4 and 3.0.

Quote:
Originally Posted by clktp View Post
What do you mean extend the length of domain? If you extend it in streamwise direction, it should be fine, for other directions it fails if I remember the case correctly.
If the grid size, CFL, and Re are in the range it should work for any setting.
anishtain4 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



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