[Nek5000-users] Smoothness of the derivatives

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Tue Jun 26 10:54:40 CDT 2018


Hi,
as Stefan says, dssum does not do a filtering, it just makes sure that a 
certain quantity becomes continuous over element boundaries. It just 
sums up the values in the points with multiplicity>1.

What you want is a filter that operates in nodal space, i.e. in physical 
space rather than in spectral space (nodal vs modal filter). The reason 
for the wiggles in the dissipation (and other statistics such as e.g. 
convection) is related to the specific continuity constraints by 
Nek5000, i.e. that only the function values (via dssum) are continuous, 
but not the derivatives. As I wrote earlier, this does not necessarily 
mean that the result is inaccurate, but it is just done in weak sense.

So I guess what you want is to apply a filter in nodal space. I have not 
done that (recently), but I guess one could apply some controlled 
diffusion using the Helmholtz operator, to smoothen out the highest 
wavenumbers. Alternatively, you could quite easily implement an own 
nodal filter with a given transfer function using convolution 
(implemented then with a global scalar products between the function and 
specific weight functions).

Philipp

On 2018-06-26 16:03, nek5000-users at lists.mcs.anl.gov wrote:
> Vlad,
> 
> dssum will just sum up the shared points between elements - so no filtering. Note, currently there is no easy accessable mechanism in place to make your field smooth. As pointed out already modal filtering won't help.
> 
> Cheers,
> Stefan
> 
> -----Original message-----
>> From:nek5000-users at lists.mcs.anl.gov <nek5000-users at lists.mcs.anl.gov>
>> Sent: Tuesday 26th June 2018 15:34
>> To: nek5000-users at lists.mcs.anl.gov
>> Subject: Re: [Nek5000-users] Smoothness of the derivatives
>>
>> Hi Philipp!
>>
>> Thank you for your answer!
>>
>> In fact I have almost the DNS resolution (the grid spacing is comparable with the Kolmogorov scale from the literature data) and rather small error in the dissipation field. But I want to see a smooth dissipation, so I really want to try to filter it.
>>
>> As I understood filtering procedure is in dssum subroutine. But looking at it didn't help to me to realize the process of the filtering.
>> So could you explain, please, how can I choose the filter to be used? Cause now I think that my filter doesn't go beyond one element and it is the reason why it makes my dissipation field worse.
>>
>> Best regards,
>> Vlad
>>
>>
>>
>>
>> 	Понедельник, 25 июня 2018, 23:05 +07:00 от nek5000-users at lists.mcs.anl.gov:
>> 	
>> Hi,
>> I guess your only chance is to increase the resolution, which will make
>> the discontinuities of the derivatives decrease. This is one of the
>> characteristics of spectral methods; you will see a lack of resolution
>> directly in the fields. Similar resolution with other methods will not
>> give you more accurate results, but they appear nicer (smoother).
>>
>> Indeed, filtering does not help much. But if you want to try, make sure
>> you use a filter that actually goes beyond one element (e.g. using a
>> Laplace operator).
>> Philipp
>>
>> On 2018-06-25 17:54, nek5000-users at lists.mcs.anl.gov <mailto:nek5000-users at lists.mcs.anl.gov> wrote:
>>> Because I need to analyze the dissipation field
>>>
>>> понедельник, 25 июня 2018г., 20:58 +07:00 от
>>> nek5000-users at lists.mcs.anl.gov <mailto:nek5000-users at lists.mcs.anl.gov> <mailto:nek5000-users at lists.mcs.anl.gov>:
>>>
>>>      This is correct, derivatives in SEM are not C0. Your code forces the
>>>      field to be C0 but it does not make it smooth across elements.
>>>      Typically filtering doesn’t help. Why do you want a smooth
>>>      derivative field?
>>>
>>>
>>>       > On 25 Jun 2018, at 12:55, "nek5000-users at lists.mcs.anl.gov <mailto:nek5000-users at lists.mcs.anl.gov>
>>>      <mailto:nek5000-users at lists.mcs.anl.gov>"
>>>      <nek5000-users at lists.mcs.anl.gov <mailto:nek5000-users at lists.mcs.anl.gov>
>>>      <mailto:nek5000-users at lists.mcs.anl.gov>> wrote:
>>>       >
>>>       > Hi, Neks!
>>>       >
>>>       > 1) I am doing a DNS study of turbulent pipe jets and looking at
>>>      turbulent kinetic energy budgets.
>>>       >
>>>       > I take derivatives via gradm1 subroutine, for example:
>>>       >
>>>       > call gradm1(uxdx,uxdy,uxdz,ux)
>>>       >
>>>       > After all, if I look at my dissipation field (via outpost), I see
>>>      some wrong values on the surface between spectral elements.
>>>       > I want to filter them using:
>>>       >
>>>       > call col2(uxdx,bm1,ntot)
>>>       > call dssum(uxdx,lx1,ly1,lz1)
>>>       > call col2(uxdx,binvm1,ntot)
>>>       >
>>>       > call dsavg(dxux)
>>>       >
>>>       > for every array. But conversely it leads to an increase in gaps.
>>>      What am I doing wrong?
>>>       >
>>>       > 2) How does a filter-function in dssum look and how much points
>>>      does it use for filtering? 
>>>       >
>>>       > Best regards,
>>>       > Vlad.
>>>       > _______________________________________________
>>>       >
>>>       > Nek5000-users mailing list
>>>       >
>>>       > Nek5000-users at lists.mcs.anl.gov <mailto:Nek5000-users at lists.mcs.anl.gov>
>>>      <mailto:Nek5000-users at lists.mcs.anl.gov>
>>>       >
>>>       > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users <https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users>
>>>       >
>>>
>>>      _______________________________________________
>>>      Nek5000-users mailing list
>>>      Nek5000-users at lists.mcs.anl.gov <mailto:Nek5000-users at lists.mcs.anl.gov> <mailto:Nek5000-users at lists.mcs.anl.gov>
>>>      https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users <https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users>
>>>
>>>
>>>
>>> _______________________________________________
>>> Nek5000-users mailing list
>>> Nek5000-users at lists.mcs.anl.gov <mailto:Nek5000-users at lists.mcs.anl.gov>
>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users <https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users>
>>>
>> _______________________________________________
>> Nek5000-users mailing list
>> Nek5000-users at lists.mcs.anl.gov <mailto:Nek5000-users at lists.mcs.anl.gov>
>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users <https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users>
>>
>>
>> -- 
>> С уважением,
>>
>> Иващенко Владислав, ИТ СО РАН
>> _______________________________________________
>> Nek5000-users mailing list
>> Nek5000-users at lists.mcs.anl.gov
>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
> _______________________________________________
> Nek5000-users mailing list
> Nek5000-users at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
> 


More information about the Nek5000-users mailing list