[Nek5000-users] does load_fld() work with .f00* files ?? (default binary files)
nek5000-users at lists.mcs.anl.gov
nek5000-users at lists.mcs.anl.gov
Mon Mar 12 04:22:06 CDT 2012
Hi everyone, i am trying to post process some data but it seems load_fld
doesn't load the velocity field correctly.
My binary files are default .f00* files (param(66)=param(67)=0)
I want to recalculate the vortex size (aa in my code) in a 2D case.
So here is what i want my userchk() to do
Open one by one .f00* files,
Calculate the vorticity field from velocity field
Restrain the domain to avoid Boundary conditions
Calculate the circulation
Calculate The vorticity barycenter coordinates
Calculate The vorticity Size (aa)
Output to "Rayon_Circulation_domaine_entier" file the quantity sqrt(aa)
Does load_fld() work only with .fld files ?? Because with this i got
only negative values for the vorticity size and the circulation value is
not good
B.regards
Can
My post-precessing part in my userchk() is like
! read file-list
if (nid.eq.0) then
open(unit=199,file='file.list',form='formatted',status='old')
read(199,*) nfiles
read(199,'(A80)') (filename(j),j=1,nfiles)
close(199)
endif
call bcast(nfiles,isize)
call bcast(filename,nfiles*80)
do j = 1,nfiles
call load_fld(filename(j))
call comp_vort3(vort,work1,work2,vx,vy,vz)
do i=1, ntot
if((abs(xm1(i,1,1,1))<14.9) .and. (abs(ym1(i,1,1,1))<14.9))
& then
x_new(i)=xm1(i,1,1,1)
y_new(i)=ym1(i,1,1,1)
rId(i)=1.0
else
x_new(i)=0.0
y_new(i)=0.0
rId(i)=0.0
endif
enddo
circ=glsc3(rId,bm1,vort(1,1),ntot)
x_c=glsc3(x_new,bm1,vort(1,1),ntot)/circ !
Calculation of vorticity barrycenter
y_c=glsc3(y_new,bm1,vort(1,1),ntot)/circ
do i=1, ntot
if((abs(xm1(i,1,1,1))<14.9) .and. (abs(ym1(i,1,1,1))<14.9))
& then
rr(i)=(xm1(i,1,1,1)-x_c(1))**2 + (ym1(i,1,1,1)
& -y_c(1))**2
else
rr(i)=0.0
endif
enddo
aa=glsc3(rr,bm1,vort(1,1),ntot)/circ
! Calculation of vorticity size
print*,'aa=',aa
if (nid.eq.0) then
open(UNIT=1,FILE='Rayon_Circulation_domaine_entier',STATUS='unknown')
!Output to 'Rayon_Circulation_domaine_entier' file
write(1,'(1p20E15.7)') time,sqrt(aa),circ
endif
enddo
!we are done
call exitt
c
=================================================================================================================
More information about the Nek5000-users
mailing list