[Nek5000-users] Monitor points, location probe

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Sun Jun 15 07:12:33 CDT 2014


Hi,

You can make it much simpler! Simply do for instance:

real work1(lx1,ly1,lz1,lelt), work2(lx1,ly1,lz1,lelt),
work3(lx1,ly1,lz1,lelt)

... compute your dtdx dtdy dtdz

call opcopy(work1,work2,work3,vx,vy,vz)    ! Save vx vy vz for later
call opcopy(vx,vy,vz,dtdx,dtdy,dtdz)           ! Save dtdx into vx for the
hpts output
call hpts
call opcopy(vx,vy,vz,work1,work2,work3)    ! Restore vx vy vz

That should do the trick I guess.

Cheers,
JC


2014-06-15 9:07 GMT+02:00 <nek5000-users at lists.mcs.anl.gov>:

>
> I need to monitor scalar gradient (scalar is modelled with temperature as
> in examples.pdf).
> So I have inserted in USERCHK
>      parameter (lt=lx1*ly1*lz1*lelt)
>      common /ilgrad/ dtdx(lt),dtdy(lt),dtdz(lt)
>      if ((mod(istep,iostep).eq.0).and.(istep.ge.iostep)) then
>      call gradm1(dtdx,dtdy,dtdz,t)
>      endif
>      call hpts()
>
> Next there are two options to monitor a quantity
> 1. in .rea file like
>  ***** HISTORY AND INTEGRAL DATA *****
> 001   POINTS.  Hcode, I,J,H,IEL
> UV PT    H      3    3    1    1
>
> But I dont know how to tell it that I want instead of UV, and also I don't
> know how to calculate number of element IEL from physical location.
>
> 2. hpts.in file
> you can input physical coordinates of a location, but in hpts.out only the
> following variables # time  vx  vy  [vz]  pr  T  PS1  PS2  ...
> are being stored.
>
> So I tried to modify nek5000/branches/mvmesh/postpro.f in the following
> way:
> first I put      parameter (lt=lx1*ly1*lz1*lelt)
>      common /ilgrad/ dtdx(lt),dtdy(lt),dtdz(lt)
> in the beginning of subroutine hpts
>
> and later in this routine changed the code:
>
>
>      ! pack working array
>      nflds = 0
>      if(ifvo) then
>        call copy(wrk(1,1),vx,ntot)
>        call copy(wrk(1,2),vy,ntot)
>        if(if3d) call copy(wrk(1,3),vz,ntot)
>        nflds = ndim
>      endif
>      if(ifpo) then
>        nflds = nflds + 1
>        call copy(wrk(1,nflds),pm1,ntot)
>      endif
>      if(ifto) then
>        nflds = nflds + 1
>        call copy(wrk(1,nflds),t,ntot)
>      endif
>        nflds = nflds + 1                        !!!!!!!!!inserted
>        call copy(wrk(1,nflds),dtdx,ntot)        !!!!!!!!!inserted
>        nflds = nflds + 1                        !!!!!!!!!inserted
>        call copy(wrk(1,nflds),dtdy,ntot)        !!!!!!!!!inserted
>      do i = 1,ldimt
>         if(ifpsco(i)) then
>           nflds = nflds + 1
>           call copy(wrk(1,nflds),T(1,1,1,1,i+1),ntot)
>         endif
>      enddo
>      It was compiled without problem, but running the program yielded no
> change in hpts.out,
> as before there are only 5 columns
> # time  vx  vy  [vz]  pr  T
> Please help
>
>
> _______________________________________________
> Nek5000-users mailing list
> Nek5000-users at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>



-- 
Jean-Christophe Loiseau
Homepage <https://sites.google.com/site/loiseaujc/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/nek5000-users/attachments/20140615/29745102/attachment.html>


More information about the Nek5000-users mailing list