CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   Explicit filtering in LES (https://www.cfd-online.com/Forums/main/5134-explicit-filtering-les.html)

callahance October 7, 2016 06:30

Quote:

Originally Posted by sbaffini (Post 620653)
You are saying that applying the filter or not will just give the same exact result? Please take any known solution of the unsteady heat diffusion equation and apply a filter of your choice... then let me know

I'm certaingly not saying that. I was just saying that without the convective term there is no need to explicitly filter the whole convective term. All other terms will still be filtered.

callahance October 7, 2016 06:32

Quote:

Originally Posted by sbaffini (Post 620650)
With respect to your original problem, you are doing three things here:

1) You assume that your discrete divergence and your discrete gaussian filter commute.

2) You are filtering explicitly, in the sense that every term of uiuj is filtered by a sort of explicit diffusion step.

3) You are trying to discretize the whole thing (which seems exotic).

I suspect your problems might come from any of these. Bu you need to give more context for a more serious help: implicit/explicit time integration, compressible/incompressible algorithm, convection scheme, SGS model, etc.

For example, in a density based solver, i would just filter explictly the residual on the right hand side (the spatial discretization terms), and that would just work.

I will take some time tonight to describe my whole algorithm.

sbaffini October 7, 2016 06:32

Have a look at how THESE people do the filtering:

http://enu.kz/repository/2010/AIAA-2010-5025.pdf

Edit: you can simply not consider the deconvolution (which is a structural model) and still do what they do

FMDenaro October 7, 2016 06:37

Quote:

Originally Posted by callahance (Post 620654)
For me, the goal of explicit filtering is to get a grid independent solution. This includes removing errors caused by numerial discretisation as you mentioned.

Anyway, the discussion is now diverging from the main problem I was facing, namley filtering the convective term in FVM. I did find a publication where they explicitly filter the convective term in FVM. They just don't mention how they exactly do it (sadly):

http://www.measej.ir/files/site1/use...22-5b6c379.pdf

They published another paper named:

Evaluation of Fourth Order finite volume compact scheme for LES with explicit filtering

Unfortunatley, I don't have access to this article. Maybe they described their method in the second paper.


Unfortunately the paper is not clear at all in the integral formulation...I am not able to see how Eq.(15) represents an explicit filtering application...
I suggest to consider the Burgers equation in integral form and apply the explicit filter do develop the corresponding LES equation with the unresolved term. Then, it should be simple to do the same for the NS equations.

callahance October 7, 2016 06:44

I'll read the paper Paolo suggested and will try to write the explicitly filtered burgers equation in integral form (at least I'll try) and get back.

juliom October 7, 2016 10:57

Quote:

Originally Posted by FMDenaro (Post 620624)
I think that a key to understand the topic, is that the LES equation


http://www.cfd-online.com/Forums/vbL...a697394e-1.gif

is not then implemented using an explicit filtering but are both the grid and the numerical discretization to act implicitly as filtering. Therefore, the grid introduces the Nyquist filter pi/h and the discretization introduce a smoothing if FD or FV methods are used.
The goal of the explicit filtering is to eliminate the numerical error (the smoothing) that the discretization introduce. For doing that, you need that a new Nyquist frequency is introduced by the explicit filtering. Therefore you need a width h'>h so that pi/h>pi/h'. In line of principle, once h' is chosen, you can get a grid independent LES solution for vanishing values of the computational grid h.
DO not get into confusion between generation of aliased frequency due to the discretization of the quadratic product and numerical error present also for the linear case.




______________________________

by time integral you mean the second term on the RHS of :

http://www.cfd-online.com/Forums/vbL...21523da9-1.gif

_______________________________

yes

What professor Denaro stated is very important and a lot of people overlooked this fact.
Thanks professor for the clarification.

FMDenaro October 8, 2016 05:20

Quote:

Originally Posted by callahance (Post 620662)
I'll read the paper Paolo suggested and will try to write the explicitly filtered burgers equation in integral form (at least I'll try) and get back.


let us know about your work.... concerning the Burgers equation analysis, if you want you can follow what we did some years ago in the integral-based formulation:
https://www.researchgate.net/publica...mes_simulation

callahance October 9, 2016 13:07

I read the article suggested by Paolo. Relaxation filtering seem to be a neat alternative to explicit filtering. The implementation of such procedure is way easier and at the first sight, it looks to have an advantage over explicit filtering regarding computational expence.

I will read the paper suggested by Filippo and try to construct the explicit fitlered equations based on the burgers equation. I might need a couple of days for that (I have other stuff to do). After that I will decide which method I'll choose for my problem, explicit filtering or relaxation filtering.

callahance November 29, 2016 06:14

I just wanted to give a short feedback about my status.

I did implement the explicit filtering using an explicit source term in the momentum equation (relaxation filtering). It does work for a simple Gauss filter so far. The only problem is that the transfer function of the Gauss filter is too diffusive and I need a sharper filter with a variable cut-off wavenumber.

I tried to implement the compact filter described by Lele. It did work when taking the direct neighbouring points for the filtered variable on the LHS of the equation (3 point stencil). As far as I understand, one can only control the cut-off wavenumber of such a filter if a 5-point stencil is used for the filtered variable (which make it hard to implement for unstructured grids). Does anyone have any idea on how to implement such filters ?

Regards

FMDenaro November 29, 2016 06:25

Quote:

Originally Posted by callahance (Post 627364)
I just wanted to give a short feedback about my status.

I did implement the explicit filtering using an explicit source term in the momentum equation (relaxation filtering). It does work for a simple Gauss filter so far. The only problem is that the transfer function of the Gauss filter is too diffusive and I need a sharper filter with a variable cut-off wavenumber.

I tried to implement the compact filter described by Lele. It did work when taking the direct neighbouring points for the filtered variable on the LHS of the equation (3 point stencil). As far as I understand, one can only control the cut-off wavenumber of such a filter if a 5-point stencil is used for the filtered variable (which make it hard to implement for unstructured grids). Does anyone have any idea on how to implement such filters ?

Regards


You can adopt a deconvolution procedure to better reconstruct the content at high resolved wavenumbers. However, the cut-off is always dictated by the grid resolution. Alternatively, you should perform the explicit filtering in the wavenumber space by using the spectral cut-off and then come back in the physical space.

callahance November 29, 2016 10:51

I actually want to filter wavenumbers greater than half the cut-off wavenumber of the grid (make the solution coarser). For this I use an explicit filter (Gauss) in the source term in the momentum equation.

Explicit filtering in wavenumber space is out of question; my cases are transient and more than 200 Mio. cells. Transforming the solution into wavenumber space-->filtering--> and then back to physical space and this for each time step is way too expensive.

I was thinking of a sharp explicit filter in physical space, which could be built by simple differential operators. Still, I can't figure out how to construct such sharp filters.

FMDenaro November 29, 2016 11:10

Quote:

Originally Posted by callahance (Post 627415)
I actually want to filter wavenumbers greater than half the cut-off wavenumber of the grid (make the solution coarser). For this I use an explicit filter (Gauss) in the source term in the momentum equation.

Explicit filtering in wavenumber space is out of question; my cases are transient and more than 200 Mio. cells. Transforming the solution into wavenumber space-->filtering--> and then back to physical space and this for each time step is way too expensive.

I was thinking of a sharp explicit filter in physical space, which could be built by simple differential operators. Still, I can't figure out how to construct such sharp filters.


there are more issues in what you are doing .... First, the computational grid introduces a cut-off at kc=pi/h, then the discretization you use introduces some smoothing for frequencies k<kc.
I immagine you want to filter out such smoothed frequencies, right? If you use an explicit Gaussian filter having width Delta=N*h, as a result you get still a new smoothing in the the wavenumber components.
Now, you can reduce this smoothing (only for k<kc) using the deconvolution in physical space.

Note that filtering explicitly the field on each of the original finer grid-nodes drives to a filtered solution that still extends up to kc, not to pi/Delta.

callahance November 29, 2016 11:16

Lets assume I have a box of homogenous isotropic turbulence. The box is periodic in all three direction and each direction is discretised ith 128 points. The box is 2*pi long in each direction. This give a grid cut-off wavenumber of kc=64. I want to, for example, to filter out all wavenumber above kcf = 32 without affecting the components below kcf. The grid, numerical schemes, turbulence model, etc.... they all filter high components near kc=64. A Gaussian would filter components above kcf, but at the same time it would filter components below 32. A sharp filter, if possible, would filter components only above 32 and leave those below 32 intact.

FMDenaro November 29, 2016 11:37

doing that using a spectral method would be very easy...
But as you want to work only in physical space you need to sample data.

As you wrote, the initial grid (h=2*pi/128) leads to kc=64. Now, fix Delta =2*h and perform the filtering. If you do the filtering on each of the 128^3 nodes you still have frequencies up to kc=64 not 32. You need to sample on a 64^3 grid. That will introduce a grid cut-off at pi/(2*h) = 32.

Thus, you need to distinguish the computational field extended over the grid h and the explicitly filtered field extending over the grid of step 2*h. For each time step you need to update the computational field to complete the cycle.

callahance November 30, 2016 03:56

When I explicitly filter the field on the 128 grid using a Gaussian filter, I will still have components at k>32, as you previously said. But using a sharp filter, components over k=32 will be damped out strongly (factor 0.05).

I did try an approach, where I map the field of the 128 point on a grid with 64 points (which will remove all high wave-number components). First, I noticed that the energy spectrum is not preserved (due to interpolation errors). Afterwards, I tried in a second step to map the field of 64 points back to the grid of 128 points, with the hope that all components at k>32 are removed. The result was awful; two peaks at k=64 were seen. This goes back to aliasing errors when maping a field from 64 to 128 points.

FMDenaro November 30, 2016 04:08

In no way the kinetic energy is conserved after you apply any filter... just think about the sharp cut-off that cut away the content corresponding to the integral (in dk) of the eliminated wavenumbers.

callahance November 30, 2016 04:42

of course it is not conserved. But what I meant was, when mapping a field from a 128 points grid to a 64 points grid, I would expect that all the energy above k=32 is eliminated and the energy below k=32 is conserved. The thing is, after mapping the field onto the 64 grid, even the energy below k=32 is not conserved.

FMDenaro November 30, 2016 04:53

Quote:

Originally Posted by callahance (Post 627560)
of course it is not conserved. But what I meant was, when mapping a field from a 128 points grid to a 64 points grid, I would expect that all the energy above k=32 is eliminated and the energy below k=32 is conserved. The thing is, after mapping the field onto the 64 grid, even the energy below k=32 is not conserved.


Are you just extracting 64 nodes from the 128 sampling each two cells?
Could you post the two spectra superimposed in a unique figure?

callahance November 30, 2016 05:06

1 Attachment(s)
every coarse cell on the 64 grid takes the average of the 8 fine cells on the 128 grid. Alright this is actually a mean value filter which can dissipate some of the components below k=32. The diagramm below shows the energy spectra.

FMDenaro November 30, 2016 05:15

Interpolation acts as a smoothing ... Try only the sampling of the nodes


All times are GMT -4. The time now is 04:30.