[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