[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