<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Here is another, on how to filter in complex domains:</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<ol style="font-family: Times; font-size: medium; font-variant-ligatures: normal; orphans: 2; widows: 2;">
<li>J.S. Mullen and P.F. Fischer, <a href="http://www.mcs.anl.gov/~fischer/pubhtml/filter99.pdf" id="LPlnk656477" class="OWAAutoLink" previewremoved="true">"Filtering techniques for complex geometry fluid flows" </a><em>Comm. in Num. Meth. in Eng.</em> <b>15</b> pp.
 9-18 (1999).</li></ol>
<font face="Times" size="3">
<div><font face="Times" size="3"><br>
</font></div>
<div><font face="Times" size="3">It's basically a Helmholtz solve with a prescribed filter width.</font></div>
<div><font face="Times" size="3"><br>
</font></div>
Paul</font>
<div><font face="Times" size="3"><br>
</font></div>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Nek5000-users <nek5000-users-bounces@lists.mcs.anl.gov> on behalf of nek5000-users@lists.mcs.anl.gov <nek5000-users@lists.mcs.anl.gov><br>
<b>Sent:</b> Tuesday, June 26, 2018 11:05:34 AM<br>
<b>To:</b> nek5000-users@lists.mcs.anl.gov<br>
<b>Subject:</b> Re: [Nek5000-users] Smoothness of the derivatives</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Might be helpful:<br>
<a href="https://www.ffi.no/no/Forskningen/totalforsvar/applied_fluid_mechanics/Documents/Post-processing_of_marginally_resolved_spectral_element_data.pdf">https://www.ffi.no/no/Forskningen/totalforsvar/applied_fluid_mechanics/Documents/Post-processing_of_marginally_resolved_spectral_element_data.pdf</a><br>
<br>
<br>
-----Original message-----<br>
> From:nek5000-users@lists.mcs.anl.gov <nek5000-users@lists.mcs.anl.gov><br>
> Sent: Tuesday 26th June 2018 17:55<br>
> To: nek5000-users@lists.mcs.anl.gov<br>
> Subject: Re: [Nek5000-users] Smoothness of the derivatives<br>
> <br>
> Hi,<br>
> as Stefan says, dssum does not do a filtering, it just makes sure that a <br>
> certain quantity becomes continuous over element boundaries. It just <br>
> sums up the values in the points with multiplicity>1.<br>
> <br>
> What you want is a filter that operates in nodal space, i.e. in physical <br>
> space rather than in spectral space (nodal vs modal filter). The reason <br>
> for the wiggles in the dissipation (and other statistics such as e.g. <br>
> convection) is related to the specific continuity constraints by <br>
> Nek5000, i.e. that only the function values (via dssum) are continuous, <br>
> but not the derivatives. As I wrote earlier, this does not necessarily <br>
> mean that the result is inaccurate, but it is just done in weak sense.<br>
> <br>
> So I guess what you want is to apply a filter in nodal space. I have not <br>
> done that (recently), but I guess one could apply some controlled <br>
> diffusion using the Helmholtz operator, to smoothen out the highest <br>
> wavenumbers. Alternatively, you could quite easily implement an own <br>
> nodal filter with a given transfer function using convolution <br>
> (implemented then with a global scalar products between the function and <br>
> specific weight functions).<br>
> <br>
> Philipp<br>
> <br>
> On 2018-06-26 16:03, nek5000-users@lists.mcs.anl.gov wrote:<br>
> > Vlad,<br>
> > <br>
> > 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.<br>
> > <br>
> > Cheers,<br>
> > Stefan<br>
> > <br>
> > -----Original message-----<br>
> >> From:nek5000-users@lists.mcs.anl.gov <nek5000-users@lists.mcs.anl.gov><br>
> >> Sent: Tuesday 26th June 2018 15:34<br>
> >> To: nek5000-users@lists.mcs.anl.gov<br>
> >> Subject: Re: [Nek5000-users] Smoothness of the derivatives<br>
> >><br>
> >> Hi Philipp!<br>
> >><br>
> >> Thank you for your answer!<br>
> >><br>
> >> 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.<br>
> >><br>
> >> 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.<br>
> >> 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.<br>
> >><br>
> >> Best regards,<br>
> >> Vlad<br>
> >><br>
> >><br>
> >><br>
> >><br>
> >>     Понедельник, 25 июня 2018, 23:05 +07:00 от nek5000-users@lists.mcs.anl.gov:<br>
> >>     <br>
> >> Hi,<br>
> >> I guess your only chance is to increase the resolution, which will make<br>
> >> the discontinuities of the derivatives decrease. This is one of the<br>
> >> characteristics of spectral methods; you will see a lack of resolution<br>
> >> directly in the fields. Similar resolution with other methods will not<br>
> >> give you more accurate results, but they appear nicer (smoother).<br>
> >><br>
> >> Indeed, filtering does not help much. But if you want to try, make sure<br>
> >> you use a filter that actually goes beyond one element (e.g. using a<br>
> >> Laplace operator).<br>
> >> Philipp<br>
> >><br>
> >> On 2018-06-25 17:54, nek5000-users@lists.mcs.anl.gov <<a href="mailto:nek5000-users@lists.mcs.anl.gov">mailto:nek5000-users@lists.mcs.anl.gov</a>> wrote:<br>
> >>> Because I need to analyze the dissipation field<br>
> >>><br>
> >>> понедельник, 25 июня 2018г., 20:58 +07:00 от<br>
> >>> nek5000-users@lists.mcs.anl.gov <<a href="mailto:nek5000-users@lists.mcs.anl.gov">mailto:nek5000-users@lists.mcs.anl.gov</a>> <<a href="mailto:nek5000-users@lists.mcs.anl.gov">mailto:nek5000-users@lists.mcs.anl.gov</a>>:<br>
> >>><br>
> >>>      This is correct, derivatives in SEM are not C0. Your code forces the<br>
> >>>      field to be C0 but it does not make it smooth across elements.<br>
> >>>      Typically filtering doesn’t help. Why do you want a smooth<br>
> >>>      derivative field?<br>
> >>><br>
> >>><br>
> >>>       > On 25 Jun 2018, at 12:55, "nek5000-users@lists.mcs.anl.gov <<a href="mailto:nek5000-users@lists.mcs.anl.gov">mailto:nek5000-users@lists.mcs.anl.gov</a>><br>
> >>>      <<a href="mailto:nek5000-users@lists.mcs.anl.gov">mailto:nek5000-users@lists.mcs.anl.gov</a>>"<br>
> >>>      <nek5000-users@lists.mcs.anl.gov <<a href="mailto:nek5000-users@lists.mcs.anl.gov">mailto:nek5000-users@lists.mcs.anl.gov</a>><br>
> >>>      <<a href="mailto:nek5000-users@lists.mcs.anl.gov">mailto:nek5000-users@lists.mcs.anl.gov</a>>> wrote:<br>
> >>>       ><br>
> >>>       > Hi, Neks!<br>
> >>>       ><br>
> >>>       > 1) I am doing a DNS study of turbulent pipe jets and looking at<br>
> >>>      turbulent kinetic energy budgets.<br>
> >>>       ><br>
> >>>       > I take derivatives via gradm1 subroutine, for example:<br>
> >>>       ><br>
> >>>       > call gradm1(uxdx,uxdy,uxdz,ux)<br>
> >>>       ><br>
> >>>       > After all, if I look at my dissipation field (via outpost), I see<br>
> >>>      some wrong values on the surface between spectral elements.<br>
> >>>       > I want to filter them using:<br>
> >>>       ><br>
> >>>       > call col2(uxdx,bm1,ntot)<br>
> >>>       > call dssum(uxdx,lx1,ly1,lz1)<br>
> >>>       > call col2(uxdx,binvm1,ntot)<br>
> >>>       ><br>
> >>>       > call dsavg(dxux)<br>
> >>>       ><br>
> >>>       > for every array. But conversely it leads to an increase in gaps.<br>
> >>>      What am I doing wrong?<br>
> >>>       ><br>
> >>>       > 2) How does a filter-function in dssum look and how much points<br>
> >>>      does it use for filtering? <br>
> >>>       ><br>
> >>>       > Best regards,<br>
> >>>       > Vlad.<br>
> >>>       > _______________________________________________<br>
> >>>       ><br>
> >>>       > Nek5000-users mailing list<br>
> >>>       ><br>
> >>>       > Nek5000-users@lists.mcs.anl.gov <<a href="mailto:Nek5000-users@lists.mcs.anl.gov">mailto:Nek5000-users@lists.mcs.anl.gov</a>><br>
> >>>      <<a href="mailto:Nek5000-users@lists.mcs.anl.gov">mailto:Nek5000-users@lists.mcs.anl.gov</a>><br>
> >>>       ><br>
> >>>       > <a href="https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users">
https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users</a> <<a href="https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users">https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users</a>><br>
> >>>       ><br>
> >>><br>
> >>>      _______________________________________________<br>
> >>>      Nek5000-users mailing list<br>
> >>>      Nek5000-users@lists.mcs.anl.gov <<a href="mailto:Nek5000-users@lists.mcs.anl.gov">mailto:Nek5000-users@lists.mcs.anl.gov</a>> <<a href="mailto:Nek5000-users@lists.mcs.anl.gov">mailto:Nek5000-users@lists.mcs.anl.gov</a>><br>
> >>>      <a href="https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users">https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users</a> <<a href="https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users">https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users</a>><br>
> >>><br>
> >>><br>
> >>><br>
> >>> _______________________________________________<br>
> >>> Nek5000-users mailing list<br>
> >>> Nek5000-users@lists.mcs.anl.gov <<a href="mailto:Nek5000-users@lists.mcs.anl.gov">mailto:Nek5000-users@lists.mcs.anl.gov</a>><br>
> >>> <a href="https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users">https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users</a> <<a href="https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users">https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users</a>><br>
> >>><br>
> >> _______________________________________________<br>
> >> Nek5000-users mailing list<br>
> >> Nek5000-users@lists.mcs.anl.gov <<a href="mailto:Nek5000-users@lists.mcs.anl.gov">mailto:Nek5000-users@lists.mcs.anl.gov</a>><br>
> >> <a href="https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users">https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users</a> <<a href="https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users">https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users</a>><br>
> >><br>
> >><br>
> >> -- <br>
> >> С уважением,<br>
> >><br>
> >> Иващенко Владислав, ИТ СО РАН<br>
> >> _______________________________________________<br>
> >> Nek5000-users mailing list<br>
> >> Nek5000-users@lists.mcs.anl.gov<br>
> >> <a href="https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users">https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users</a><br>
> > _______________________________________________<br>
> > Nek5000-users mailing list<br>
> > Nek5000-users@lists.mcs.anl.gov<br>
> > <a href="https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users">https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users</a><br>
> > <br>
> _______________________________________________<br>
> Nek5000-users mailing list<br>
> Nek5000-users@lists.mcs.anl.gov<br>
> <a href="https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users">https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users</a><br>
> <br>
_______________________________________________<br>
Nek5000-users mailing list<br>
Nek5000-users@lists.mcs.anl.gov<br>
<a href="https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users">https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users</a><br>
</div>
</span></font></div>
</body>
</html>