[Nek5000-users] hpts and pressure

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Tue Jun 14 10:45:26 CDT 2011


Hello,

It appears my hypothesis was correct.  I post the following for
reference to any users who run into the same issue in the future (and
I apologize in advance if this question has already been answered
before, I didn't see anything in my search, but that doesn't mean it
wasn't there).

1)  I included the following in the variable declarations of userchk()

      common /scrcg/ pm1(lx1,ly1,lz1,lelv)  ! Mapped pressure
      real pa(lx1,ly2,lz2), pb(lx1,ly1,lz2) ! Working arrays for mappr

2) Then, before I call hpts, I call mappr

      if (mod(istep,10).eq.0) then   ! Only call this every 10th step
         call mappr(pm1,pr,pa,pb)   ! Map pressure first
         call hpts
      endif

For my case, I didn't want to call hpts every time step to prevent
hpts.out from becoming too large.

I haven't run this for too long, but on a preliminary basis the
results look good.  It seems that the scrcg common block must be
included in userchk for this to work, as pm1 isn't a part of any of
the standard "include" files.

Developers and other users, feel free to chime in if there is a more
efficient or elegant solution to this problem.

Thanks,

Josh

On Mon, Jun 13, 2011 at 6:42 PM,  <nek5000-users at lists.mcs.anl.gov> wrote:
> Hi Josh,
>
> Yes, it seems to me that either htps() needs modification for Pn-Pn-2 pressure points or pr() should be mapped to pm1() before calling htps() as you suggested -- something along the lines for .not.ifsplit in prepot.f:219
>
>         if (ifsplit) then
>            call copy(pm1,pr,ntot1)
>         else
>            do 1000 e=1,nelv
>               call mxm (ixm21,nx1,pr(1,1,1,e),nx2,pa(1,1,1),nyz2)
>               do 100 iz=1,nz2
>                  call mxm (pa(1,1,iz),nx1,iytm21,ny2,pb(1,1,iz),ny1)
>  100          continue
>               call mxm (pb(1,1,1),nxy1,iztm21,nz2,pm1(1,1,1,e),nz1)
>  1000       continue
>         endif
>
> Best,
> Aleks
>
>
> ----- Original Message -----
> From: nek5000-users at lists.mcs.anl.gov
> To: "nek5000-users" <nek5000-users at lists.mcs.anl.gov>
> Sent: Monday, June 13, 2011 5:29:50 PM
> Subject: [Nek5000-users] hpts and pressure
>
> Hello Neks,
>
> I am trying to output pressure data at various points using the hpts routine.
>
> The values that are output for the first time step look ok, but all
> subsequent time steps seem to give garbage (i.e. the pressures given
> in hpts.out are way different that what is given by visualizing
> pressure in VisIt).  I know previously that this was an issue for
> someone and it was thought that passive scalars may be messing the
> hpts output up, but in my case I don't output temperature or pressure.
>
> I looked at the hpts routine and noticed that it uses pm1 when it is
> stacking the field variables into the working array.  Since I am using
> a Pn-Pn-2 formulation for my case, do I need to use the mappr
> subroutine in my usrchk to map the pressure from mesh 2 to mesh 1
> before calling hpts()?
>
> I'm assuming the issue arises because I am calling hpts more
> frequently than I am outputing field files, and thus perhaps pm1 isn't
> properly being updated (or perhaps it may have already been
> destroyed).
>
> Thanks,
>
> --
> Josh Camp
>
> "All that is necessary for the triumph of evil is that good men do
> nothing" -- Edmund Burke
> _______________________________________________
> 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
>



-- 
Josh Camp

"All that is necessary for the triumph of evil is that good men do
nothing" -- Edmund Burke



More information about the Nek5000-users mailing list