[Nek5000-users] History points

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Thu May 6 09:41:50 CDT 2010


excellent - thanks Stefan!



On Thu, 6 May 2010, nek5000-users at lists.mcs.anl.gov wrote:

> I will add this routine including some corrections to the latest repo.
> It should be considered as a first step trying to replace the old history point handling.
>
> Stefan
>
>
> On May 6, 2010, at 3:49 PM, nek5000-users at lists.mcs.anl.gov wrote:
>
>> Hi Guys,
>>
>> yes the history point module needs a major overhaul. I don't like the way it works!
>> In fact we could do a much better job using our interpolation tool.
>>
>> I just coded something up (without testing the code snipplet) very quicky but I think I should work out of the box.
>>
>> How does it work:
>>
>> - create a 'hpts.in' file
>> line 1: number of points
>> line 2:  X,Y,Z coordinates of a point 1
>> ....
>> line n+1: X,Y,Z coordinates of point n
>>
>> - set lpart >= n in the SIZE file
>>
>> - call hpts() in userchk()
>>
>> The results will be written to 'hpts.out' .
>>
>> Enjoy
>> -Stefan
>>
>>
>> ----------------------------------------------------------------------------------------------------------------------
>>
>>      subroutine hpts
>> c
>> c     dump velocity, temperature and ps-scalars for a given list
>> c     of points (read from file hpts.in) into a file (hpts.out)
>> c
>>      INCLUDE 'SIZE'
>>      INCLUDE 'TOTAL'
>>
>>      parameter(nmax=lpart,nfldmax=ldim+ldimt)
>>      parameter(mi=4,mr=1+2*ldim+nfldmax)
>>      real    rTL(mr,nmax)
>>      integer iTL(mi,nmax)
>>      common /itlcb/ iTL
>>      common /rtlcb/ rTL
>>
>>      common /outtmp / wrk(lx1,ly1,lz1,lelt,nfldmax)
>>
>>      character*80 fname
>>      integer icalld,npoints,icount
>>      save icalld,npoints,icount
>>      data icalld  /0/
>>      data npoints /0/
>>      data icount  /0/
>>
>>      nxyz  = nx1*ny1*nz1
>>      ntot  = nxyz*nelt
>>
>>      if(icalld.eq.0) then
>>        icalld = 1
>>        npoints = 0
>>
>>        write(6,*) 'reading hpts.in'
>>        open(50,file='hpts.in',status='old')
>>        read(50,*) npoints
>>        write(6,*) 'found ', npoints, ' points'
>>        do i = 1,npoints
>>           read(50,*) (rTL(1+j,i),j=1,ndim)
>>        enddo
>>        close(50)
>>
>>        bb_tol = 1e-8  ! bounding-box test tolerance
>>        call intpts_setup(bb_tol)
>>
>>        open(50,file='hpts.out',status='new')
>>        write(50,'(A)') '# time  vx  vy  [vz]  T  PS1   PS2 ...'
>>      endif
>>
>>      nflds  = nfield + ndim-1 ! number of fields you want to interpolate
>>
>>      ! pack working array
>>      call copy(wrk(1,1,1,1,1),vx,ntot)
>>      call copy(wrk(1,1,1,1,2),vy,ntot)
>>      if(if3d) call copy(wrk(1,1,1,1,2),vz,ntot)
>>      do i = 1,nfield-1
>>         call copy(wrk(1,1,1,1,ndim+i),T(1,1,1,1,i),ntot)
>>      enddo
>>
>>      ! interpolate
>>      call intpts(wrk,nflds,iTL,mi,rTL,mr,npoints,nmax)
>>
>>      ! write interpolation results to file
>>      if(nid.eq.0) then
>>        do ip = 1,npoints
>>           write(50,'(1p20E15.7)') time,
>>     &      (rTL(1+2*ndim+ifld,ip), ifld=1,nflds)
>>        enddo
>>      endif
>>
>>      return
>>      end
>>
>>
>>
>> On May 6, 2010, at 3:24 PM, nek5000-users at lists.mcs.anl.gov wrote:
>>
>>> P.S.
>>>
>>> Yes, Frank, the exact coordinates of the history points are written only when the code rans.
>>>
>>> But if for history points you choose the collocation points on the boundary of a spectral element -- those that have I,J,K equal to either 1 or lx1 -- than you can find out their coordinates from .rea ASCII file after the line
>>>
>>> *** MESH DATA ***
>>>
>>> where coordinates of the element edges are written.
>>>
>>> Aleks
>>>
>>>
>>>
>>>
>>>
>>> ----- Original Message -----
>>> From: nek5000-users at lists.mcs.anl.gov
>>> To: nek5000-users at lists.mcs.anl.gov
>>> Sent: Wednesday, May 5, 2010 4:45:11 PM GMT -06:00 US/Canada Central
>>> Subject: Re: [Nek5000-users] History points
>>>
>>> Hi Aleks,
>>>
>>> My question is what is the logfile?  Perhaps you mean the output that
>>> NEK writes to the screen?  If so, then one would know the location of
>>> the point at which data is being dumped only after entering the i,j,k
>>> and element # of the point in the *.rea file....
>>>
>>> Cheers,
>>> Frank
>>>
>>> On Wed, 2010-05-05 at 23:37 +0200, nek5000-users at lists.mcs.anl.gov
>>> wrote:
>>>> Thanks Aleks.
>>>> Concerning grep, it is a linux command that searches for the string
>>>> History in the logfile.
>>>> _______________________________________________
>>>> Nek5000-users mailing list
>>>> Nek5000-users at lists.mcs.anl.gov
>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>> --
>>> Frank Herbert Muldoon, Ph.D. Mechanical Engineering
>>> Technische Universität Wien (Technical University of Vienna)
>>> Inst. f. Strömungsmechanik und Wärmeübertragung (Institute of Fluid
>>> Mechanics and Heat Transfer)
>>> Resselgasse 3
>>> 1040 Wien
>>> Tel: +4315880132232
>>> Fax: +4315880132299
>>> Cell:+436765203470
>>> fmuldoo (skype)
>>> http://tetra.fluid.tuwien.ac.at/fmuldoo/public_html/webpage/frank-muldoon.html
>>>
>>> _______________________________________________
>>> 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
>>
>> _______________________________________________
>> 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
>


More information about the Nek5000-users mailing list