[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