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

Hybrid RANS LES

Register Blogs Community New Posts Updated Threads Search

Like Tree4Likes
  • 1 Post By grtabor
  • 1 Post By braennstroem
  • 1 Post By Walter
  • 1 Post By braennstroem

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 12, 2008, 16:13
Default Hi, I am wondering, how one w
  #1
Senior Member
 
Fabian Braennstroem
Join Date: Mar 2009
Posts: 407
Rep Power: 19
braennstroem is on a distinguished road
Hi,
I am wondering, how one would implement simple forcing into a hybrid RANS/LES approach. Would one create a cellset according to a given field (which could be defined by some coordinates or a certain field value) and adjusting the need variable in the selected cellset? Did anyone try to add forcing to hybrid calculations in openfoam yet?

Fabian
braennstroem is offline   Reply With Quote

Old   September 18, 2008, 10:01
Default Hi, me again :-) A slightl
  #2
Senior Member
 
Fabian Braennstroem
Join Date: Mar 2009
Posts: 407
Rep Power: 19
braennstroem is on a distinguished road
Hi,
me again :-)

A slightly different problem is the whole combination of existing RASModels and LESModels. E.g. for a implementation of the SST-SAS RASmodel (it lowers the turbulent kinetic energy in unsteady flow regions by the van Karman length scale) one would use the a LES SGS-Viscosity as lower bound of the calculated RAS turbulent viscosity; i.e. one needs both viscosities in one model. For other hybrid models, e.g. a combination of kepsilon and Smagorinsky, one has to combine the viscosities as well.

Now, how would you combine the classes LESModel and RASModel? My first try was to declare a new class by:

#include "IOdictionary.H"
namespace Foam
{
namespace incompressible
{

class IOdict2
:
public IOdictionary
{

protected:

// Protected data

const Time& runTime_;
const fvMesh& mesh_;
};

to avoid two different mesh_ and runTime_ for both models. Accordingly, the RASModel and LESModel should be a member of IOdict2:

class RASModel
:
// public IOdictionary
public IOdict2
{
...


Or do you think, that one should combine the turbulent viscosities inside of the momentum equation, e.g. to use the min value of both methods:

fvVectorMatrix turb = min(turbulence->divDevReff(U),sgsModel->divDevBeff(U));

(though I am not sure, if this implementation works).

Would be nice, if you have any thoughts about it :-)

Fabian
braennstroem is offline   Reply With Quote

Old   September 18, 2008, 10:46
Default My understanding of DES is tha
  #3
Senior Member
 
Gavin Tabor
Join Date: Mar 2009
Posts: 181
Rep Power: 17
grtabor is on a distinguished road
My understanding of DES is that you do it by blending the viscosities. You could do this by using multiple inheritance, so create a new class derived from a RASModel and a LESModel;

class DESmodel
:
public kEpsilon,
public smagorinsky
{
...
}

runTime and mesh are const _references_, so there is no problem with storage or confusion about which mesh is being used. Within the class you would have a function R() which returns the SG/Reynolds Stress tensor, suitably blended betwen the two methods, to go into the momentum equation.

If you were being really clever, you could even template the class so that it could use _any_ RASModel and _any_ LESModel.

OTOH it might be that there would still be unwarented duplication, so it might be better to just write the class from scratch...

Gavin
lpz456 likes this.
grtabor is offline   Reply With Quote

Old   September 18, 2008, 11:51
Default Hi Gavin, Thanks! There are
  #4
Senior Member
 
Fabian Braennstroem
Join Date: Mar 2009
Posts: 407
Rep Power: 19
braennstroem is on a distinguished road
Hi Gavin,

Thanks! There are actually a lot of different hybrid LES/RANS approaches; some blend the viscosity, e.g. some reduce the RANS viscosity in some way and other just scale it.

I tried the multiple inheritance approach a level above the actual model, i.e. using
class kEpsilon
:
public RASModels,
public LESModels
{
...
}

There I got a lot of error messages for ambiguous variables (e.g. like nu). To circumvent this ambiguity one would declare the corresponding class with RASModel::
This is probably needed for your approach as well!?

The templating sounds as the most powerful for future implementations, but my clevernes already stops there ;-)

Fabian
lpz456 likes this.
braennstroem is offline   Reply With Quote

Old   March 25, 2009, 03:18
Default
  #5
Senior Member
 
Fabian Braennstroem
Join Date: Mar 2009
Posts: 407
Rep Power: 19
braennstroem is on a distinguished road
Hi,

does anyone have suggestions for flow initialization for hybrid methods?
I just read a presentation of Strelets/DES Workshop, St.-Petersburg, 2003, where he mentions different ways to shorten relaxation period. One of them is to restart from RANS and run only turbulence model equations with frozen velocity to adjust it to DES and unlock natural instability.

Did anyone try this approach or has some thoughts about it?
Regards!
Fabian
braennstroem is offline   Reply With Quote

Old   March 25, 2009, 04:59
Default
  #6
New Member
 
Walter
Join Date: Mar 2009
Location: Göteborg Sweden
Posts: 1
Rep Power: 0
Walter is on a distinguished road
Hej Fabian, I am new to OpenFoam but I have worked with, and read a lot about, hybrid methods. The hybrid LES/RANS (SSTF) k-omega I have used did not suffer from worse numerical stability problems than the RANS (SST) model it is based on (which I never had problems with). Thus there was never any reason to initialize the flow field with a RANS model. On the contrary, the cases I have run did often converge better with the hybrid model. I think that stability problems often arise from nu_t getting too large and most hybrid models are designed to keep nu_t from being just that.

Cheers / Walter
lpz456 likes this.
Walter is offline   Reply With Quote

Old   April 18, 2009, 06:56
Default
  #7
Senior Member
 
Fabian Braennstroem
Join Date: Mar 2009
Posts: 407
Rep Power: 19
braennstroem is on a distinguished road
Hi,

thanks Walter for the info! I wonder how it works for the 'classical' DES using Spalart-Allmaras!?

Maybe another way to enhance convergence could be the use of 'localBlended' scheme, which adjusts slowly from some upwind to 'linear' scheme in the LES region!?

Fabian
lpz456 likes this.
braennstroem is offline   Reply With Quote

Old   April 19, 2009, 10:59
Default
  #8
Senior Member
 
Ivan Flaminio Cozza
Join Date: Mar 2009
Location: Torino, Piemonte, Italia
Posts: 210
Rep Power: 18
ivan_cozza is on a distinguished road
Send a message via MSN to ivan_cozza
Quote:
Originally Posted by braennstroem View Post
Hi,
me again :-)

A slightly different problem is the whole combination of existing RASModels and LESModels. E.g. for a implementation of the SST-SAS RASmodel (it lowers the turbulent kinetic energy in unsteady flow regions by the van Karman length scale) one would use the a LES SGS-Viscosity as lower bound of the calculated RAS turbulent viscosity
Hi Fabian,
do you success to implement SAS model?
Thanks,
Ivan
ivan_cozza 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
hybrid RANS/LES in CFX? Hao CFX 4 February 25, 2009 04:38
Does Fluent have a Hybrid LES-RANS model? Andy Cong FLUENT 2 February 15, 2006 06:25


All times are GMT -4. The time now is 23:52.