|
[Sponsors] |
August 12, 2008, 16:13 |
Hi,
I am wondering, how one w
|
#1 |
Senior Member
Fabian Braennstroem
Join Date: Mar 2009
Posts: 407
Rep Power: 19 |
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 |
|
September 18, 2008, 10:01 |
Hi,
me again :-)
A slightl
|
#2 |
Senior Member
Fabian Braennstroem
Join Date: Mar 2009
Posts: 407
Rep Power: 19 |
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 |
|
September 18, 2008, 10:46 |
My understanding of DES is tha
|
#3 |
Senior Member
Gavin Tabor
Join Date: Mar 2009
Posts: 181
Rep Power: 17 |
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 |
|
September 18, 2008, 11:51 |
Hi Gavin,
Thanks! There are
|
#4 |
Senior Member
Fabian Braennstroem
Join Date: Mar 2009
Posts: 407
Rep Power: 19 |
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 |
|
March 25, 2009, 03:18 |
|
#5 |
Senior Member
Fabian Braennstroem
Join Date: Mar 2009
Posts: 407
Rep Power: 19 |
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 |
|
March 25, 2009, 04:59 |
|
#6 |
New Member
Walter
Join Date: Mar 2009
Location: Göteborg Sweden
Posts: 1
Rep Power: 0 |
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 |
|
April 18, 2009, 06:56 |
|
#7 |
Senior Member
Fabian Braennstroem
Join Date: Mar 2009
Posts: 407
Rep Power: 19 |
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 |
|
April 19, 2009, 10:59 |
|
#8 | |
Senior Member
|
Quote:
do you success to implement SAS model? Thanks, Ivan |
||
|
|
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 |