[Nek5000-users] Add/subtract 1d-mean profile

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Mon Mar 12 08:12:37 CDT 2012



Hi Jan,

I've added a routine, "no_y_profile(u)" to the current version
of the repo (navier5.f).

Usage is of the form shown below.

If you want the y_profile in an array, just look at the navier5.f
source and you can see the correct calling sequence.

Paul


c-----------------------------------------------------------------------
       subroutine userchk
       include 'SIZE'
       include 'TOTAL'

       parameter (ll=lx1*ly1*lz1*lelt)
       common /mystufr/ u(ll),v(ll),w(ll)

       call opcopy(u,v,w,vx,vy,vz)
       call no_y_profile(u)
       call no_y_profile(v)
       call no_y_profile(w)

       if (istep.gt.0.and.mod(istep,iostep).eq.0)
      $   call outpost(u,v,w,pr,t,'noy')


       return
       end
c-----------------------------------------------------------------------

Paul




On Sun, 11 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote:

> Hi Paul,
>
> first of all thanks for the quick reply!
>
>
> I guess my first question is the following.  When you say you
> want to
>
> "add or subtract this profile which is given on the global nodes
> to each point of the field"
>
> it seems we need to be talking in the context of some software
> that is going to read the field in and then process the data.
>
> At present, I know of only 3 codes to do that: nek, VisIt, and postnek
> (though there have been custom, one-off, codes written
> in the past).
>
> I want to do the whole post-processing in nek. With VisIt I only visualize
> my data generated with nek (the post-processed data as well as the raw
> simulation data). With postnek I haven't worked until now and I think
> postnek is not what I'm looking for.
>
>
> Second question is --- What do you want to do with this field
> after you have subtracted the mean profile?   Do you want to
> write it to disk, visualize it, use it in a calculation, analyze it with
> more statistics, or....?
>
> I want to analyze the statistics, calculate higher order moments of the
> fluctuation field (to compare it with the channel data of Robert D. Moser,
> John Kim and Nagi N. Mansour,
> Physics of Fluids, vol 11(4), for example the skewness or the flatness of
> the field) or the gradients of the fluctuation field du'_i/dx_j to get
> (fluctuation based) \omega'_k or the (fluctuation based) strain rate tensor
> s'_ij = 1/2*(du'_i/dx_j + du'_j/dx_i).
> These are only few examples on what I would like to do...
>
> But for all these things I need the fluctuation field and that means u' = u
> - <u>.
> In this context <u> would be (for example if I don't have the temporal
> avg_all() means) the spatial (y-) mean over the full channel domain.
>
> When I do my production run with the code I can obtain the temporal
> averages by calling avg_all() every timestep and then write it to disk,
> thats clear to me.
>
> But my question aims on how to get the fluctuation field without having the
> temporal averages. Based on only a single velocity filed (as described
> above).
>
>
> In any case, it seems likely that processing in nek is the
> way to go because it has the ability to read the data, write
> the data, and readily compute statistics.   In this mode, you
> simply are using nek as a post-processor and not for timestepping.
>
> Please advise if that's the path you wish to take, or if you
> had something else in mind.
>
> Yes, thats the way I want  to do my post-processing (and already do it
> right now...).
>
> Regards
> Jan F.
>



More information about the Nek5000-users mailing list