CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   Dynamic Smagorinsky model- Filtering Concept (https://www.cfd-online.com/Forums/main/99349-dynamic-smagorinsky-model-filtering-concept.html)

saeedi April 1, 2012 18:28

Dynamic Smagorinsky model- Filtering Concept
 
Hello there,

I am going to add dynamic LES models to my code but at the very begining I faced a conceptual problem regarding the filtering process.

I am ok with simple Smagorinsky model since it does not have any explicit filtering. But for dynamic model (which needs test grid filter):

I know that I should first calculate the filtered velocity field and then calculate alpha.

Then, I have to calculate the filtered beta. Now:

My question is : I do not understand how it is possible to use filtering for a vector (velocity) and at the same time for a tensor (beta)?

Actually my problem is how implement the filtering routine? I have conceptual problem with it. As long as I do not understand the filtering process clearly, I can not write a routine to use it for vetors or tensors?

I appreciate your time.

sbaffini April 2, 2012 03:47

Dear saeedi,

the question is very simple. When you have a test filtered vector \tilde{\bar{u}}_i or tensor \tilde{\bar{S}}_{ij},
you actually apply the filter on their single components (e.g., u, v and w) or on their definitions (like usually is for S).

Of course there could be problems about the non divergence-free test-filtered velocity field or the commutation with the derivatives inside S but, at least formally, you simply apply the filter to the components without so much concern.

Finally, for contracted double-products you simply apply the filter to the resulting scalar

saeedi April 2, 2012 09:22

Hi Paolo,

That conceptually makes sense. One more question:
Practically, is there any difference between different filters like box or Gaussian?
(Do they make any change in final result?)

Thank you for useful info.

sbaffini April 2, 2012 11:46

I was too lazy in the previous post to specify that:

\tilde{\bar{S}}_{ij} = \frac{1}{2} \left( \frac{\partial \tilde{\bar{u}}_i}{\partial x_j} + \frac{\partial \tilde{\bar{u}}_j}{\partial x_i} \right)

but you probably got it (however, just in case...). What is usually less clear is that this kind of terms usually (but not necessarily) imply the commutation between spatial filter and spatial derivative operator (which is almost never the case).

Going to your question, there are two answers.

On the theoretical side, the SGS model is dependent on the basic filter level, which directly determines which scales and in which amount are sub-grid, represented (just according to the Nyquist criterion) and resolved (correctly, which is different from being just represented). Now, the so called sub-filter scales are those scales being represented but not correctly resolved which are strongly dependent on the basic filter type. In my experience this is a sort of "Terra Incognita" because they strongly depends on everything (numerical method, shape and extension of the basic filter, sgs model). In turn, the influence of these scales on the basic flow has more or less importance according to their role in the whole fluid flow and their spectral extension (which becomes increasingly small with the basic filter becoming more and more spectral like). Two important papers on this topic are (but there are much more, these are the first coming to my mind):

De Stefano, Vasilyev: Sharp-cutoff vs smooth filtering in large eddy simulation, Physics of Fluids (some volume, some year)

Carati, Winckelmans, Jeanmart: On the modelling of the subgrid-scale and filtered-scale stress tensors in large-eddy simulation, Journal of Fluid Mechanics (some volume, some year)

For what concerns the test filter, still in theory, it is a little bit more subtle. First, the test filter always affects your results trough a SGS model. Hence you can't, in theory, devise conclusions in general. For example, in a dynamic smagorinsky model the filter effect is no higher than the one of the model constant. In a structural model (e.g., a scale similar model) the test filter is directly involved in the determination of the modeled sgs tensor, including anisotropies etc., hence it is presumably a stronger effect.

In general, as the dynamic procedure assumes a sort of scale similarity between sub-test scales (those "below" the test filter) and sub-filter scales (those "below" the basic filter) to build the sgs model, the test filter is in theory important and should be selected to properly separate a certain representative amount of scales.

Probably (but this idea just hitted my mind, so handle with care) you can also artificially introduce anisotropies in an otherwise isotropic sub-grid scale model, just trough a proper selection of the test filter. Again, the test filter is very important.

The second answer to your question is that, again, in LES almost everything depend on everything, especially the numerical method. To be clear, if you do LES with a 1st order upwind scheme and an implicit basic filter, there is no way you can get any difference in the solutions only acting on the test filter (i guess, obviously i never used it!!!). My experience is mostly on Fluent (hence implicit basic filter, 2nd order method, approximate box test filter with \tilde{\bar{\Delta}}/\bar{\Delta} \approx 1.91, dynamic smagorinsky), and the numerical part has a huge effect. Actually, in several cases, very few differences (or not at all) are appreciated with or without a dynamic smagorinsky model, hence no such a big effect is expected from the test filter alone

saeedi April 2, 2012 12:01

Hi Paolo,

Great answers. Looks you have so much experince on LES.
I have done some DNS with our in-house code (second order-energy conservative based on 4 level implicit fractional step method) and I am at the begining of adding LES models. BTW, your comments are highly valuable for me.

Thank you so much

FMDenaro April 2, 2012 16:49

Hi,
Paolo was very complete in many details, so I can just add few information:

1) be careful in the way alpha must be prescribed. The only lenghts you really know are dx, dy, dz, that is the computational grid sizes. For implicit-base filtering, the measure of the primary filter lenght depends on the numerical scheme used for solving the NS, as well as the actual test-filter lenght depends on the discrete scheme you use for explicit filtering. Thus, alpha depends on numerics.

2) Dynamic Smagorinsky modelling is quite good but the idea of modelling the contribution of unresolved scales only by an eddy viscosity can be improved ...I suggest studyng also one and two-parameter dynamic mixed modelling.

3) Your results will depend strongly on the built-in shape of the transfer function induced by your numerical scheme...smooth filter or sharp cut-off filter can produce different results with the same SGS modelling. Which one is the best? It depends if you assume that LES is physical or numerical (a paper of Pope described such concepts)

good luck with LES

saeedi April 2, 2012 17:00

Ok,
Thank you

About 1, I just tought that generally we assume the grid filter length and test grid length to be the computational box length scale and twice of that resectively.
But you mean it should more sophisticated thatn that? Could you explian more?

FMDenaro April 2, 2012 17:19

Quote:

Originally Posted by saeedi (Post 352786)
Ok,
Thank you

About 1, I just tought that generally we assume the grid filter length and test grid length to be the computational box length scale and twice of that resectively.
But you mean it should more sophisticated thatn that? Could you explian more?

this issue is just a little bit complex.... considering a uniform mesh size h (dx=dy=dz), depending on the numerical scheme you use, the implicit filter lenght depends on the sub-filter resolution parameter Q, that is Delta/h= Q.
Then, using some formula for practically computing the test filtering, the test-filter lenght is Delta_test/h = P.
Therefore:

alpha = Delta_test/Delta = P/Q.

For example, using FV methods (of some accuracy order) or spectral methods give different Q values. Using a formula for a top-hat test filtering or using the cut-off test-filter give different values for P.

Setting a suitable value alpha congruent to both your scheme and test filtering is somehow an "artistic touch" ...

mahfuzsarwar July 29, 2013 22:57

Hi all!
I would like to ask you a naïve question regarding the test filter that used in the dynamic Smagorinsky model. In most of the cases for the dynamic Smagorinsky model the test filter is taken 2 or almost 3 times of the filter width for top hat filter.

What will happen if filter width is explicitly taken, say 5 times of the grid size or arbitrarily any values (larger than test filter, like 0.5 or 1 meter etc.), means where I am creating a test filter smaller than the filter width. What will be the theoretical concept in that case?

Thanks in advance.

FMDenaro July 30, 2013 02:52

Assume h the computational size and Delta the primary explicit filter. Then, you can use an explicit filtering procedure such that Delta = Q*h, being Q >1 chosen as you want.
Now, the test-filtering is Delta_t = P*Delta= P*Q*h and must be explicitly conputed with P>=2.
That means that in the dynamic procedure the test filtering width Delta_t must be always greater than the primary filtering, even if this latter is explictly computed.

However, you have to fulfill the constraint that Delta_t and Delta must lie both within the inertial slope of the energy spectrum.

sbaffini July 30, 2013 07:14

If i can add my two cents, recalling what i wrote some posts above, the basic idea of the test filter is to provide a "test" velocity field to extract some information useful for the calibration of the specific model in use. In the case of the Smagorinsky model, the information is used to estimate the energy flux toward the cutoff length of your basic filter (either implicit or explicit) and use such information to adapt the SGS model dissipation.

To be more specific, in the Smagorinsky framework, the test filter is only affecting the computed constant, hence you can turn your question in: for given numerical method, basic/test filter combination and instantaneous spectral energy distribution, how much higher/lower will be the Smagorinsky constant if the test/basic filter width ratio is higher/lower than the mainstream value?

I can remember of some studies on this matter but i can't recall the details (you will be certainly lucky in finding something on the Stanford CTR site, early years). A relevant one is certainly:

http://pof.aip.org/resource/1/phfle6/v8/i4/p1076_s1

However, as you can see, the answer is much less obvious then you expect as:

1) For a low order numerical method and an implicit filtering approach, you might need a larger test filter width (than usual) in order to make the small scale numerical error less influential in the determination of the dynamic constant (which means that you make the error affected part of the test field a low percent part of the total test field)

2) If your basic filter width is already big enough with respect to the beginning of the inertial range, any bigger test filter width might not give you a proper contribution. In this case, Kuerten et al. have developed an inverse dynamic procedure, where the test filter width is actually smaller than the basic one.

3) You can have a non inertial range spectrum. In this case it is difficult to say what to expect.

In general terms, i expect the Leonard term in the dynamic procedure to be the most relevant factor in the constant determination. To have the correct constant, this term should be ideally equal to the true SGS stress tensor (actually this might not be exactly true). Hence it is clear that going too much above a test/basic filter width ratio of 2 might be wrong even with full scale similarity in place. The constant value resulting from this approach might not be that obvious as, even if the test field now contains much energy, it might not give a proper dissipative contribution.
One might argue that the large scale part of the spectrum gives a random like contribution while the small scale part is still effective. However, this might not be the case locally in time or space and the dynamic evolution of the system may be strongly affected by this.

On the other side, reducing the filter width ratio below some treshold then your test velocity field starts being more and more equal to the basic one. As a consequence, the Leonard term at the numerator starts dropping and the resulting constant should be lower. However, in this case the denominator also becomes lower and, while the proper mathematical behavior to expect is a zero constant in the limit of a null Leonard term, this might again not be the case.

In conclusion, i am aware that this is not the answer to your question, but you probably see why a specific definitive answer is hard to come as too much details affect the behavior of the numerically simulated system. Numerical methods and practices are obviously among the prominent factors affecting the result (e.g., if you only consider the constant clipping practice you can go nuts).

FMDenaro July 30, 2013 07:51

yes, the topic is quite complex... in a few words, one should think to the standard dynamic procedure as a "first order extrapolation" of the unresolved part of the field. For this reason, to have good chances for the estimation, both filters should lie in the inertial region of the spectrum in order for the constant to be accurately evaluated.
In principle, multi-parameters dynamic filtering can provide good results also for higher order extrapolation, that means with some test filtering out of the inertial range....

mahfuzsarwar July 30, 2013 08:57

Quote:

Originally Posted by FMDenaro (Post 442724)
Assume h the computational size and Delta the primary explicit filter. Then, you can use an explicit filtering procedure such that Delta = Q*h, being Q >1 chosen as you want.
Now, the test-filtering is Delta_t = P*Delta= P*Q*h and must be explicitly conputed with P>=2.
That means that in the dynamic procedure the test filtering width Delta_t must be always greater than the primary filtering, even if this latter is explictly computed.

However, you have to fulfill the constraint that Delta_t and Delta must lie both within the inertial slope of the energy spectrum.

Hi Filippo and Paolo!
Thanks for your detailed reply. It is a great help.

I have another question regarding this matter.
If I go for dynamic smagorinsky I think I can control it by the model parameter (alpha) that you have mentioned above. Please correct me if I am wrong.

Now I would like to know, if I add top hat filter in the constant smagorinsky model which means the top hat filter will be larger than the filter width (Delta) if implicitly filtered (taking the cube root of the cell volume). But if I choose filter width Delta arbitrarily any values (like 50mm, 100mm etc according to the computational domain) independent of grid size instead of taking Delta = Q*h, being Q >1 that you have mentioned, then how I will know that my filter width DELTA is less than the top hat filter?

Please kindly correct me wherever I have wrong concept.

In addition, I am wondering if top hat filter has any correlation with grid size or filter width Delta in the case of standard smagorinsky model.

FMDenaro July 30, 2013 10:42

be careful ...
1) the computational grid introduces always a spectral cut-off filtering Kc=pi/h. This is the Nyquist limit.
2) A computational method introduces "implicitly" a further filtering. For example, a spectral method has the same cut-off grid filtering Kc, but finite difference and finite volume methods have not! They introduce "implicitly" a smoothing of the resolved spectral content (k<Kc), depending on the accuracy of the method.
3) the top-hat filtering (transfer function G=sin(k*Delta)/(k*Delta)) is only approximated by the implicit filtering introduced by FM and FV.
4) If you want to use an explicit top-hat filtering, you have two possible strategies: the first is working in the spectral space and apply explicitly G, the second is performing a volume average of the convective resolved flux using a measure Delta>h (for example Delta=4*h)
5) The test filtering can be chosen also a top-hat filtering, now performing a volume averagin using a measure Delta_t>Delta

CFDJosh July 30, 2013 16:48

Very briefly - Look at the transfer function of your filter. Any method you implement, you want a filter with a monotonically decreasing transfer function with F(k_max) = 0 9, where F(k) is the transfer function.

The top hat does not do this and tends to introduce weird artifacts in just about any context.

FMDenaro July 30, 2013 17:03

Quote:

Originally Posted by CFDJosh (Post 442913)
Very briefly - Look at the transfer function of your filter. Any method you implement, you want a filter with a monotonically decreasing transfer function with F(k_max) = 0 9, where F(k) is the transfer function.

The top hat does not do this and tends to introduce weird artifacts in just about any context.

Sorry, I do not understand your statement, why you think that a transfer function should mimic the spectral cut-off? The LES equation can be derived for any type of filtering, I can choose the top-hat being aware of the fact that it is a smooth filter...

mahfuzsarwar July 31, 2013 01:16

Quote:

Originally Posted by FMDenaro (Post 442854)
be careful ...
1) the computational grid introduces always a spectral cut-off filtering Kc=pi/h. This is the Nyquist limit.
2) A computational method introduces "implicitly" a further filtering. For example, a spectral method has the same cut-off grid filtering Kc, but finite difference and finite volume methods have not! They introduce "implicitly" a smoothing of the resolved spectral content (k<Kc), depending on the accuracy of the method.
3) the top-hat filtering (transfer function G=sin(k*Delta)/(k*Delta)) is only approximated by the implicit filtering introduced by FM and FV.
4) If you want to use an explicit top-hat filtering, you have two possible strategies: the first is working in the spectral space and apply explicitly G, the second is performing a volume average of the convective resolved flux using a measure Delta>h (for example Delta=4*h)
5) The test filtering can be chosen also a top-hat filtering, now performing a volume averagin using a measure Delta_t>Delta

Thanks Filippo. I think your replies are more than fruitful for LES beginner like us.

Let me ask another naïve question, I would like to know that when we are talking about the top hat filtering what is the physical significance of it? I mean to say if we consider a flow parameter velocity, how this top hat filter works in the velocity field?
As we know that top hat filter in physical space is
G(x-r) =(1/DELTA), if mod(x-r)< or = (DELTA/2)
= 0, otherwise
But when I am going to use the subroutine top hat filter for the velocity term, it filter the U field to obtain U_bar in this following way
U_BAR (i) = 0.5 U(i)+0.25(U(i-1)+U(i+1)) , where it represents quadrature for trapezoidal rule and for simpsons U_BAR will be different.
I am little bit confused in the case of top hat filtering term G(x-r), I would like to know how they represents the value U_BAR using trapezoid rule and linked it to the term G(x-r)?
Till now I have understanding that top hat filter only represents arbitrary value like filter width DELTA.

sbaffini July 31, 2013 03:18

Dear Mahfuz,

i'm trying to understand your question but i might have some difficulty, so let me give you this first shot. In LES you have:

- basic "grid" filter: it is always present and is due to the fact that your numerical simulation is using a limited number of degrees of freedom with respect to those required by a DNS. In the same moment you define your grid, the number of Fourier terms in a spectral code or whatever is related to the grid in any other given approach then you are defining this filter. By its own nature it is implicit. Either or not it is a true spectral cut off i think depends from the specific approach (in spectral element methods you usually have a basis function which is not trigonometric, hence its Fourier transform might not be an exact cut off i suppose), but let us assume it is.

- basic "numerical" filter: it is just due to the fact that for some methods you can't compute exactly the numerical derivatives for the given grid. Its specific form greatly depends from the numerical method, of course. Usually, spectral methods are assumed to be (exponentially) error free but, if you consider the requirement for anti-aliasing, this might not be exactly the case. For the most common methods (FD, FV) it is a sort of top-hat filter. The FV method itself, also has an additional filtering level due to the fact that it involves the evolution of integral quantities hence, even if derivatives are computed exactly, a top-hat filter is still embedded in the method itself.

- any other additional, explicitly applied, filter: for some reason you decide to apply an additional filter to your equations. As said by Filippo, there is no theoretical reason (as far as i know) to choose a specific filter instead of another. For practical reasons, this is a spectral cut-off in most spectral codes (or, more generally, truncation in the chosen basis representation), a compact lower order filter for codes working in physical space. The main reason to apply this filter is to introduce a dominant known filter with respect to the previous one in order to remove the numerical error from the most important part of the resolved spectrum, where SGS models are most effective. The anti-dealiasing in spectral codes is an example of such filters; a quadrature rule applied to your convective term is another example; a finite volume integration of the convective term, as a matter of fact, is still another example.

- SGS model filter: as a matter of fact (as clearly explained in the book of Pope and some work of Sagaut on POF) an effective eddy viscosity SGS model is such that it realizes a modification in the flow behavior such that the Kolmogorov scale is now dependent on the model length scale (C * delta in the Smagorinsky model). This is an additional filter whose width is equal to the model length scale (approximately or exactly, i don't remember).

- test filter for dynamic procedures: this is just a filter used to extract information to be used in SGS models. The assumptions underlying the dynamic procedure are usually such that this test filter, as discussed before, has to respect some similarity rules with respect to the previous filters (when present).

Now, if you consider the filters above, you understand that you are in charge to define all of your filters (either implicitly or explicitly). When you define a grid (in the most general sense) and a numerical method you already have defined 2 of the above filters and an overall filter width, which is k*grid_step, k being dependent on your numerical method (these are the only two filters where a direct explicit specification of delta is missing, i.e., there is no point in any code where you write down delta=something; the remaining filter applications, if any, are all such that, at some point, in your code, you write down delta = something). At this point, you can go explicit (i.e., add an additional explicit filter) or implicit (be fine with what you have):

- If you go explicit, you can't do it random, you have to know something about your basic method before the filter in order to apply the explicit filter more effectively. Usually, you have an estimate of k (see above) and you use delta = m * k * grid_step, m being usually in the range 1-6, depending on the requirements (higher order methods usually require lower m).

- If you go implicit, you still have to remember that, approximately, delta = k * grid_step and you still need to know your k. A typical approach in Finite Volume (FV) methods is to use delta = cubic root of cell volume (sometimes a factor 2 appears, as in Code_Saturne).

Then, you have to pick-up your SGS model and insert your delta. Here, few possibilities still arise. If you went explicit, the only approach known to date is to use delta as defined above in your SGS model. If you went implicit, you can either still use delta as defined above (in the implicit case, of course) or either pick up a larger value in order to introduce a sort of explicit filtering based just on the SGS model. Again, as before, you are in charge of everything, and you can't pick up a random value for delta in the SGS model.

Finally, if you use a dynamic procedure, you want it to extract useful information from the resolved field in order for your model to "work at best". Again, at this stage you should know, at least approximately, how far you went with your previous filters and how much you should remove to extract useful information.

I don't know of any automatic procedure to select all the filter lengths; the best you can do is to perform some preliminary RANS computation and try to extract information on the turbulent length scales of the flow and then start building your filters (starting from the grid).

FMDenaro July 31, 2013 03:45

Quote:

Originally Posted by mahfuzsarwar (Post 442937)
Thanks Filippo. I think your replies are more than fruitful for LES beginner like us.

Let me ask another naïve question, I would like to know that when we are talking about the top hat filtering what is the physical significance of it? I mean to say if we consider a flow parameter velocity, how this top hat filter works in the velocity field?
As we know that top hat filter in physical space is
G(x-r) =(1/DELTA), if mod(x-r)< or = (DELTA/2)
= 0, otherwise
But when I am going to use the subroutine top hat filter for the velocity term, it filter the U field to obtain U_bar in this following way
U_BAR (i) = 0.5 U(i)+0.25(U(i-1)+U(i+1)) , where it represents quadrature for trapezoidal rule and for simpsons U_BAR will be different.
I am little bit confused in the case of top hat filtering term G(x-r), I would like to know how they represents the value U_BAR using trapezoid rule and linked it to the term G(x-r)?
Till now I have understanding that top hat filter only represents arbitrary value like filter width DELTA.

the top-hat filter produces a filtered velocity U_bar that has a physical meaning in case the filter width is homogeneous and the convolution product becomes a volume average according to:

U_bar(x)=(1/Delta^3) Int [V(x)] U(x')dx'

CFDJosh July 31, 2013 11:34

Quote:

Originally Posted by FMDenaro (Post 442916)
Sorry, I do not understand your statement, why you think that a transfer function should mimic the spectral cut-off? The LES equation can be derived for any type of filtering, I can choose the top-hat being aware of the fact that it is a smooth filter...

Yes, the LES equation is independent of filtering, but interpretation of what filtering actually means is absolutely dependent on what filter you actually use. If you want to talk about scales, e.g. large scale, small scale, SGS scale, scale similarity, etc, you're implicitly assuming that your filter extracts some portion of the spectrum, more or less, and more less leaves the rest alone.

The problem is "scale" isn't a mathematically precise term. It only becomes precise when you express your solution field in terms of a Fourier series (or any kind of series with basis functions defined in terms of length, actually).

So if your turbulence model is built on a scale-similarity assumption and comparing scales (like Germano), you should use a filter that does a good job of extracting chunks of the spectrum. Top hat doesn't, and in general, all filters of the form (u_i-1 + B * u_i + u_i+1)/(2+B) do a pretty bad job of separating scales. Hence they're not going to do a particularly good job of doing what you want in that sort of turbulence model.

FMDenaro July 31, 2013 11:55

Quote:

Originally Posted by CFDJosh (Post 443094)
Yes, the LES equation is independent of filtering, but interpretation of what filtering actually means is absolutely dependent on what filter you actually use. If you want to talk about scales, e.g. large scale, small scale, SGS scale, scale similarity, etc, you're implicitly assuming that your filter extracts some portion of the spectrum, more or less, and more less leaves the rest alone.

The problem is "scale" isn't a mathematically precise term. It only becomes precise when you express your solution field in terms of a Fourier series (or any kind of series with basis functions defined in terms of length, actually).

So if your turbulence model is built on a scale-similarity assumption and comparing scales (like Germano), you should use a filter that does a good job of extracting chunks of the spectrum. Top hat doesn't, and in general, all filters of the form (u_i-1 + B * u_i + u_i+1)/(2+B) do a pretty bad job of separating scales. Hence they're not going to do a particularly good job of doing what you want in that sort of turbulence model.


Ok, you were talking about the correct sense of "scale separation", I agree that only the spectral cut-off defines univocally a separation of scales. However, there is no real reason to prefere the Fourier filter in LES... the separation acts only formally but you are never able to separate the evolution of the turbulent spectrum spectrum since resolved and unresolved scales remain coupled each other in their dynamics. Furthermore, using the Fourier cut-off (idempotent filter) the scale-similar part is identically zero (apart from the de-aliasing)... The real key between sharp cut-off and smooth transfer function is in identifying the meaning and beahviour of the filtered field in order to be used correctly in the SGS model. Of course also the filter width in smooth filter must be properly defined.

CFDJosh July 31, 2013 13:30

You shouldn't be reusing your grid filter as a test filter if what you want to do is Germano, regardless of what kind of filter you're using.

The dynamic model is built on the assumption that the residual turbulent stress tensor is related to the test-filtered strain rate in the same manner as the subgrid scale stress tensor is related to the resolved strain rate (this is separate from the validity of the Boussinesq hypothesis on which it's all built to begin with), thus allowing you to get your dynamic parameter. This assumption is not justifiable if the test filter you're using does not result in a scale separation structurally similar to that imposed by your grid filter.

The fact that the entire spectrum is coupled does not make the choice of filter irrelevant; it makes it critical.

FMDenaro July 31, 2013 13:43

Quote:

Originally Posted by CFDJosh (Post 443117)
You shouldn't be reusing your grid filter as a test filter if what you want to do is Germano, regardless of what kind of filter you're using.

The dynamic model is built on the assumption that the residual turbulent stress tensor is related to the test-filtered strain rate in the same manner as the subgrid scale stress tensor is related to the resolved strain rate (this is separate from the validity of the Boussinesq hypothesis on which it's all built to begin with), thus allowing you to get your dynamic parameter. This assumption is not justifiable if the test filter you're using does not result in a scale separation structurally similar to that imposed by your grid filter.

The fact that the entire spectrum is coupled does not make the choice of filter irrelevant; it makes it critical.

Actually, the Germano identity is exact, despite the type of primary and test filter you adopt (you can also use a mix of filter types) ... it is the Smagorinsky approximation next introduced, which is based on the use of a unique constant model, to be critical in the sense you said.

mahfuzsarwar August 1, 2013 07:12

When we are talking about the grid independent LES solution using implicit filter, in which extent it is true? Because implicit filter directly depends on the grid size, which means when we are changing the grid size solution is changing. Ok when we lower the grid resolution fine enough then solution seems grid independent, but rather than that what are the other criteria when we can call it grid independent? In most of the cases we see that when the solution is not changing with the change of grid size (should be fine enough)we call it grid independent though computationally it is very expensive. What is the contribution of explicit filtering (another alternative way to obtained grid independence) in that case?

Another question, what will happen when the computational domain is very large to take the turbulence length scale up to Kolmogorov's scale or inertial sub-range? In that case, how grid independence can be obtained?

FMDenaro August 1, 2013 07:38

Quote:

Originally Posted by mahfuzsarwar (Post 443260)
When we are talking about the grid independent LES solution using implicit filter, in which extent it is true? Because implicit filter directly depends on the grid size, which means when we are changing the grid size solution is changing. Ok when we lower the grid resolution fine enough then solution seems grid independent, but rather than that what are the other criteria when we can call it grid independent? In most of the cases we see that when the solution is not changing with the change of grid size (should be fine enough)we call it grid independent though computationally it is very expensive. What is the contribution of explicit filtering (another alternative way to obtained grid independence) in that case?

Another question, what will happen when the computational domain is very large to take the turbulence length scale up to Kolmogorov's scale or inertial sub-range? In that case, how grid independence can be obtained?

well, the first answer is that while using implicit filtering no grid-independent LES solution exists. You simply tends towards the DNS solution ...

As the second question is concerned, I honestly have not well understood the meaning of what you asked for...

sbaffini August 1, 2013 07:54

Dear CFDJosh,

i genuinely don't understand some of your points. More specifically:

- you started by "you want a filter with a monotonically decreasing transfer function with F(k_max) = 0" (i guess the 9 was a misprint)

- after that, and i quote again "...if your turbulence model is built on a scale-similarity assumption and comparing scales (like Germano), you should use a filter that does a good job of extracting chunks of the spectrum. Top hat doesn't...";

- then you wrote "You shouldn't be reusing your grid filter as a test filter if what you want to do is Germano, regardless of what kind of filter you're using";

- finally "...This assumption is not justifiable if the test filter you're using does not result in a scale separation structurally similar to that imposed by your grid filter".

So, i completely miss your final point. What i know is that:

- scale similarity is not part of the Germano identity; it only comes in when using the same model and constants at the two filtering levels.

- actually, when a proper analysis is performed:

https://tcg.mae.cornell.edu/pubs/Pope_NJP_04.pdf (final point)

scale-similarity turns out to be required only when the same constant is used at the two filtering levels. Indeed, it is not even a requirement, it's just that the constant so computed is that relative to the test filter level, hence you might want that to be really close to the one relative to the basic filter level.

- Carati and Vanden Ejinden have shown that scale-similarity is, in practice, embedded in the dynamic procedure independently from the test filter (top-hat included), in the sense that it is the test filter itself that determines the resolved field. The overall approach might be debatable but, still, scale-similarity can be proven for top-hat filters.

- Liu et al. (JFM 94, but i guess there are also more recent works on this) have shown that the subgrid energy flux (t_ij S_ij) is mostly independent from the basic filter employed and, more importantly, for a top-hat test filter there is substantial correlation between the flux at the test and basic filter level. The same authors also provide the current, most general, definition of scale-similarity (a la Bardina) by adopting a top-hat filter. What is important to note is that scale-similarity between L_ij (Leonard tensor) and t_ij (subgrid stress tensor) is lost for a cut-off filter.

- the dynamic procedure is currently not that nice mathematical approach that one would expect (actually is quite the contrary in my opinion)

- actually, there is some evidence corroborating the fact that the Dynamic Smagorinsky model actually works because of the higher order dependence on S_ij rather than anything else (Jimenez, CTR... 1993 if i remember correctly). Hence the Whole filter stuff might just be a huge waste of time.

- the textbook spectral energy distribution with a clear cut-off and a nice inertial range down to the cut is quite difficult to achieve besides the HIT case, where static Smagorinsky already works good. This is true, in my experience, even for spectral codes

Could you further elaborate on this?

mahfuzsarwar August 1, 2013 08:30

Quote:

Originally Posted by sbaffini (Post 443267)
Dear CFDJosh,

- actually, there is some evidence corroborating the fact that the Dynamic Smagorinsky model actually works because of the higher order dependence on S_ij rather than anything else (Jimenez, CTR... 1993 if i remember correctly). Hence the Whole filter stuff might just be a huge waste of time.

Could you further elaborate on this?

Dear Paolo,
Thats really interesting! If I am not wrong, you are mentioning here to filter the starin rate S_ij only for Dynamic Smagorinsky.

What do you mean by the Whole filter stuff here?

sbaffini August 1, 2013 10:05

Well,

i am referring to the use of an "enhanced" velocity field in S and S_ij. More specifically, there is a huge amount of literature referring to the so called Multilevel LES approach where, different combinations of small-large scale velocity contributions are used in the construction of a modified form of Smagorinsky model.

You can find this approach also under the nomenclature: "Accentuation Techniques", "High Pass Filtered Eddy Viscosity", etc.

Some non linear models can also obtain the same effect.

The main theme here is that you can achieve a "dynamic-procedure like" effect by just acting on the order of the dissipation (the powers of S really involved in the SGS model). Evidence indicates that more often than not higher is better.

A somehow similar approach is that based on hyperviscosity or, to some extent, ADM, as in both cases you have an energy dumping which is high order and tied only to the smallest resolved scales (in contrast to a classical Smagorinsky, which can affect a certain amount of the resolved spectrum).

The work of Jimenez i was citing before:

http://ctr.stanford.edu/ResBriefs95/jimenez

together with the work of Pope i also cited, both provide some analysis on the dynamic procedure which shed a different light on the dynamic procedure. As you can see, both of them don't explicitly cite any specific filter as it is not the most relevant factor in the analysis. Of course, i'm not neglecting the adequacy of certain class of SGS model with respect to the basic filter, but that is another story. Also differences are still expected as in any numerical procedure acting on a delicate part of the spectrum as the near-cut-off one.

In conclusion, what i want to say is that the dynamic procedure is far from being mathematically exact or even robust and similar effects can be achieved with different SGS approaches without too much concern to the filter employed. As a consequence, i think it is not correct to ascribe sepcific deficiencies of the dynamic procedure to the test filter, especially if there is no theoretical flaw in their use.

Nonetheless, i think that using a test filter which can more closely replicate the basic filter is the starting point for any dynamic procedure. Then you use additional numerical tricks to let it work better. Consider that just the averaging and clipping of the constant can be done in so much different ways that you can achieve order 200% variation in your results just by that.

mahfuzsarwar August 2, 2013 01:30

Quote:

Originally Posted by mahfuzsarwar (Post 443260)
Another question, what will happen when the computational domain is very large to take the turbulence length scale up to Kolmogorov's scale or inertial sub-range? In that case, how grid independence can be obtained?

Dear Filippo, I have quoted my second question here and sorry to confuse you.
Actually I would like to know, if the computational domain ranging (say) in kilometers (km) (example, let say fire in the landscapes), in that case what would be the best affordable grid resolutions, that means in the other sense what would be the turbulence length scale for the simulation or how this can be measured? Along with this, how grid independence can be obtained for the mentioned case?

FMDenaro August 2, 2013 04:32

If your domain has an integral lenght of order of Km your case is not quite affordable with LES ... I mean that I suppose that the dissipative scales of your problem are at least 3-4 order of magnitude lower. Your LES grid, provided that the filter lenght lie in the inertial range (order of meters?), should be as small as to have O(10^9 - 10^10) unknowns.
My experience of LES in geophysical flows is limited to domain with integral scale of order of 10^2 m where I used a grid size of order of meter or few less.
In any case I suggest you to have an estimation of the Taylor and Kolmogorov scales of your problem, take also in to account that if your case is not homogeneous the resolution required can be more critical.

Finally, using implicit filtering you can not search for a real grid independent LES solution... I can suggest considering a couple of different grids based on the requirements above described and check the statistics of the two solutions.

mahfuzsarwar August 14, 2013 11:21

Hi all!

In the case of explicit filtering, do I need to filter the energy equation as well along with the momentum equation in LES? If only the momentum equation is explicitly filtered but energy equation is not, then I would like to know whether we will get any inconsistency?

FMDenaro August 14, 2013 11:39

Quote:

Originally Posted by mahfuzsarwar (Post 445746)
Hi all!

In the case of explicit filtering, do I need to filter the energy equation as well along with the momentum equation in LES? If only the momentum equation is explicitly filtered but energy equation is not, then I would like to know whether we will get any inconsistency?


if the momentum equation is coupled with energy and contains some energy variable that is explicitly filtered, then you must have the same type of filtered variable in the energy equation.
Maybe some trick can be introduced but I don't see any advantage in using a mixed explicit/implicit filtering...

mahfuzsarwar August 16, 2013 01:21

Quote:

Originally Posted by FMDenaro (Post 445756)
Maybe some trick can be introduced but I don't see any advantage in using a mixed explicit/implicit filtering...

Hi Filippo! Thanks for your reply.
Please explain what sort of tricks you are talking about? And what type of inconsistency will be observed if mixed explicit/implicit filtering used?

FMDenaro August 16, 2013 03:48

Quote:

Originally Posted by mahfuzsarwar (Post 446018)
Hi Filippo! Thanks for your reply.
Please explain what sort of tricks you are talking about? And what type of inconsistency will be observed if mixed explicit/implicit filtering used?

I wrote that I see no advantage but, provided that the explicit filtered velocity and the implicit filtered temperature are correctly used in the coupled equations, no inconsistence would exist.

levinperson November 29, 2015 22:43

Hi,

I have a very fundamental question on implementing a LES code. For example, if I want to use a Smagorinsky model or dynamic model, then there is the filtered strain rate (S) in the expressions of the eddy viscosity. As I know, the filtered strain rate is a function of the gradient of the filtered velocity field. My question is how to determine the filtered strain rate when we are writing a LES code? It seems that we can treat the filtered strain rate as a mean constant. But we need to get the filtered velocity field first which is the thing that we are solving by LES...

I appreciate your answer.

Thank you,
Kevin


All times are GMT -4. The time now is 21:43.