CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Hybrid RANS LES (http://www.cfd-online.com/Forums/openfoam-solving/58541-hybrid-rans-les.html)

braennstroem August 12, 2008 15:13

Hi, I am wondering, how one w
 
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 September 18, 2008 09:01

Hi, me again :-) A slightl
 
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

grtabor September 18, 2008 09:46

My understanding of DES is tha
 
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

braennstroem September 18, 2008 10:51

Hi Gavin, Thanks! There are
 
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

braennstroem March 25, 2009 03:18

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

Walter March 25, 2009 04:59

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

braennstroem April 18, 2009 05:56

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

ivan_cozza April 19, 2009 09:59

Quote:

Originally Posted by braennstroem (Post 207391)
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


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