CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   A question on Smagorinsky-Lilly model (https://www.cfd-online.com/Forums/main/139539-question-smagorinsky-lilly-model.html)

Ezekhiel July 26, 2014 01:48

A question on Smagorinsky-Lilly model
 
Hello all,

I'm simulating a classical turbulent incompressible channel flow with DNS pseudo spectral-code and I would like to switch to LES using the Smagorinsky-Lilly model.
Now, even if I studied it many years ago, I actually didn't ever had the chance to implement it, so before making some stupid mistakes I prefer to aks to someone who already implemented it how it is better (or what is the common way) to proceed.

In accordance with Smagorinsky-Lilly model, stresses are expresed as: tau = -2*(Cs*delta)^2*S*Sij where Cs is a constant, delta is a measure of the grid usually taken as (volume)^1/3, S is the magnitude of the rate-of-strain tensor (radq(2*Sij*Sij)) and Sij the rate-of-strain tensor components.

By renaming 2*(Cs*delta)^2*S = SMG, for the X coordinate momentum equation for example calculating the divergence (i.e. the additional terms I need for LES) of this term I obtain the following:

2*dSMG/dx*du/dx + 2*SMG*d2u/dx2 + dSMG/dy*du/dy + dSMG/dy*dv/dx + SMG*d2u/dy2 + SMG*d2v/dxdy + dSMG/dz*du/dz + dSMG/dz*dw/dx + SMG*d2u/dz2 + SMG*d2w/dxdz

which, since the divergence of the velocity field is zero, reduces to:

SMG*lambda(V) + 2*dSMG/dx*du/dx + dSMG/dy*du/dy + dSMG/dy*dv/dx + dSMG/dz*du/dz + dSMG/dz*dw/dx

if SMG is constant, obviously the only term remaining is the one multiplying labda(V), which results in an additional constant eddy viscosity in the entire flowfield.

Now, How is this tipically implemented?
Is the SMG term considered constant, by identifying a characteristic global measure of the grid for 'delta' and a specific averaging operator to obtain a constant S, or are all the previous terms considered in NS equations?

I have the feeling I'm doing something completely wrong...


Thanks in advance!

FMDenaro July 26, 2014 06:01

Hello,
First I strongly suggest using the dynamic procedure.

Then, the correct way is to discretize the divergence of the SGS flux without any mathematical manipulation...

Therefore Div (2* Ni_sgs*Grad v_bar) must be discretized as the same as the convective and diffusive fluxes, in a conservative form

Ezekhiel July 27, 2014 02:32

Thanks for the reply.

I see. So basically I just calculate derivatives of the flux.

As per the dynamic procedure, for the time being I think I'll stick using a constant Cs. As I get some consistent results I'll switch to it.

Ezekhiel July 29, 2014 04:41

It is normal that by calculating the additional terms for LES in a conservative way I can use only Cs equal to maximum 0.01 otherwise calculation crashes? (channel flow Re_tau 150?!)

If I manipulate all derivatives terms as in the first post I can instead use Cs=0.2 without problems...I'm adding so much numerical diffusivity this way??

FMDenaro July 29, 2014 04:52

Consider you are modifying the total viscosity and changing the viscous stability constraint, the time step required would be smaller, especially in refined zones of the grid near walls

Ezekhiel July 29, 2014 04:58

Yeah I know. I tried also a ridiculous small time step just to check.

I'm just surprised how sensitive is the code to the conservative and non-conservative treatment...
I expected of course this difference but with a reduced, let's say, "magnitude".

Ezekhiel July 29, 2014 05:05

Since the elements are very stretched near the wall I just used the minimum edge length to estimate 'delta' and now seems to run fine also with Cs=0.2.

Still surprised about the difference of the two approaches thus...

FMDenaro July 29, 2014 09:23

Actually, the divergence-based (i.e. conservative) form is well known to produce much more stable numerical algorithms than the differential form :)

Ezekhiel July 29, 2014 10:05

indeed that's what I expected.
I feel I'm doing something wrong :(


All times are GMT -4. The time now is 14:40.