Index of /raw_database/Channels

[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory   -  
[DIR]Re180/ 2015-04-28 17:42 -  
[DIR]Re350/ 2015-04-28 17:42 -  
[DIR]Re550/ 2015-04-28 17:42 -  
[DIR]Re950/ 2015-04-28 17:41 -  
[DIR]Re1880/ 2015-04-28 17:42 -  
[DIR]Re2000/ 2015-04-28 17:43 -  
[DIR]Re4000/ 2015-04-28 17:42 -  
[DIR]TOOLS/ 2015-04-30 10:56 -  

=================================================================================
 Turbulent Channel Flows at Several Reynolds numbers and box sizes 
=================================================================================

The raw data is organized according with the Reynolds numbers and its
box-size measured as (Lx/h,Lz/h), with Ly/h==2. The channel half-width
is h.

---------------------------------------------------------------------------
		Nomenclature for the folders for each Re-XXXX case
---------------------------------------------------------------------------

   Snapshots_binary: Binary file containing {Omega_y, Phi=Lap(v)}.
   Snapshots_hdf5:   The above binary file in HDF5 format.

The next files, when available, are written in binary:
  
   U_Snapshot: Streamwise-direction velocity.
   V_Snapshot: Wall-normal velocity.
   W_Snapshot: Spanwise-direction velocity.
  
   D_Snapshot: Discriminant of the velocity gradient tensor.
  
   Ox_Snapshot: Streamwise-direction vorticity.
   Oy_Snapshot: Wall-normal vorticity.
   Oz_Snapshot: Spanwise-direction vorticity.

---------------------------------------------------------------------------
		STRUCTURE OF THE FILES:
---------------------------------------------------------------------------

//////////////////////////////////////// /////////////////////// 
/////////////////////// Snapshots_binary /////////////////////// 
//////////////////////////////////////// /////////////////////// 

           Stored as XZY: FOURIER-FOURIER-CHEVISHEV									 

//////////////////////////////////////// /////////////////////// 
Number of collocated points:
   Re180 /12pi4pi  (Mgalx = 768  , Mgalz = 512 , My = 97 )		
   Re350 /8pi3pi   (Mgalx = 1024 , Mgalz = 768 , My = 193)  	
   Re550 /2pipi	   (Mgalx = 384  , Mgalz = 384 , My = 257)  	
   Re550 /8pi4pi   (Mgalx = 1536 , Mgalz = 1536, My = 257)  	
   Re550 /8pi3pi   (Mgalx = 1536 , Mgalz = 1536, My = 257)  	
   Re550 /60pi6pi  (Mgalx = 12288, Mgalz = 3072, My = 257)  	
   Re950 /pipi2	   (Mgalx = 384  , Mgalz = 384 , My = 385)  	
   Re950 /2pipi	   (Mgalx = 768  , Mgalz = 768 , My = 385)  	
   Re950 /8pi3pi   (Mgalx = 3072 , Mgalz = 2304, My = 385) **** !time <=  Real*8  	
   Re1880/pi2pi4   (Mgalx = 384  , Mgalz = 384,  My = 769)  	
//////////////////////////////////////// /////////////////////// 

The files are written in standard FORTRAN-UNFORMATTED format, the
endianness of the bytes is BIG. The file contains three records:

***RECORD #1: SOME PARAMETERS:  time,Re,alp,bet,a0,mx,my,mz

    time (real, 4 bytes): Cumulative time of the simulation in the
       	    	     	  field. !!!! PLEASE NOTE THAT IN THE CASE
       	    	     	  RE950/8pi3pi, time is instead real*8 !!!!

       Re (real, 4bytes): Inverse of the viscosity used in the code,
       	  	 	  which defines the scaling in which the code
       	  	 	  works.

     alp (real, 4 bytes): Defines the streamwise periodicity Lx of the
      	   	    	  box as Lx=2*pi/alp (it should be 0.25 for
      	   	    	  the retau=550 field). In the present
      	   	    	  notation, the streamwise wavenumber of the
      	   	    	  i-th Fourier mode of a variable is kx=alp*i,
      	   	    	  i=0,...,mx/2-1.

     bet (real, 4 bytes): Defines the spanwise periodicity Lz of the
     	 	       	  box as Lz=2*pi/bet. In the present notation,
     	 	       	  the spanwise wavenumber of the k-th Fourier
     	 	       	  mode of a variable is kz=k*bet, k=
     	 	       	  0,...,(mz-1)/2,(mz-1)/2,......, -1

       a0 (real, 4bytes): Horizontal velocity of the Galilean
       	  	 	  reference frame. 
 
        mx (int, 4bytes): Twice the number of Fourier Gallerkin modes in x.
        my (int, 4bytes): Number of Chebychev modes in y.
        mz (int, 4bytes): Number of Fourier Gallerkin modes in z.

We use the 2/3 dealiasing rule in x and z, so the number of
collocation points in those directions are 3/2 times the number of
Gallerkin modes, and the extra modes are padded with zeroes.
For instance:
    mx = 2*(Mgalx/3) 
    mz = 2*(Mgalz/3)-1)

***RECORD #2: 00-MODES: (u00(j),w00(j),j=1,my)

       u00(j) and w00(j) (real, 4bytes) are respectively the modes of
       the streamwise and spanwise velocity associated to zero
       streamwise and spanwise wavenumbers (infinite wavelengths), and
       to the j-th Chevychev polynomial.

***RECORD #3: OMEGA_Y AND PHI=NABLA^2(V): ((vor(i,k,j),phi(i,k,j),i=1,mx),k=1,mz)

       vor and phi are 4 bytes real arrays, and
       cmplx(vor(2*i-1,k,j),vor(2*i,k,j)) and
       cmplx(phi(2*i-1,k,j),phi(2*i,k,j)) are respectively the i-th
       and k-th complex Fourier coefficients of omega_y and phi
       associated to the j-th Chevychev polynomial.

This formulation is the same of:

       [1] Kim, Moin and Moser, (1987), 
           Journal of Fluid Mechanics vol 177, pp 133-166

The fields were written using a procedure similar to the following one:

      subroutine escribe(mx,my,mz,time,Re,alp,bet,a0,u00,w00,vor,phi)
      integer i,j,k,mx,my,mz
      real time,Re,alp,bet,a0,u00(my),w00(my),vor(mx,mz,my),phi(mx,mz,my)
      open (20,file='field',status='unknown',form='unformatted'); rewind(20)
      write(20) time,Re,alp,bet,a0,mx,my,mz
      write(20) (u00(j),w00(j),j=1,my)
      do j=1,my
         write(20) ((vor(i,k,j),phi(i,k,j),i=1,mx),k=1,mz)
      enddo
      close(20)
      end

//////////////////////////////////////// /////////////////////// 
/////////////////////// Snapshots_binary /////////////////////// 
//////////////////////////////////////// /////////////////////// 

           Stored as YZX: FOURIER-FOURIER-Compact Finite Diff.

//////////////////////////////////////// /////////////////////// 
Number of collocated points:
   Re2000 /8pi3pi   (Nx = 6144 , Nz = 4608 , Ny = 633)  	
   Re4000 /2pipi    (Nx = 3072 , Nz = 3072 , Ny = 1081)  	
//////////////////////////////////////// /////////////////////// 

The files are written in standard FORTRAN-UNFORMATTED format, the
endianness of the bytes is BIG. The file contains three records:

***RECORD #1: SOME PARAMETERS:  time,Re,alp,bet,a0,mx,my,mz,(y(j),fmap(j),j=1,my),(wk1(j),j=1,2*my)
     time (real, 4 bytes)	"as in the above case"
       Re (real, 4 bytes)	"as in the above case"
      alp (real, 4 bytes)	"as in the above case"
      bet (real, 4 bytes)	"as in the above case"
       a0 (real, 4 bytes)	"as in the above case"
       mx (int,  4 bytes)	"as in the above case"
       my (int,  4 bytes): Number of Collocated points
       mz (int,  4 bytes)	"as in the above case"
     y(j) (real, 8 bytes): Grid in the Wall-normal direction. 
   fmap(j)(real, 8 bytes): Auxiliary Y-grid information for our DNS code.  
   wk1(j) (real, 4 bytes): u00(j) and w00(j), as above.
	 	 	   do j=1,my
                                 u00(j) = wk1(2*j-1)
                                 w00(j) = wk1(2*j)
                           enddo

We use the 2/3 dealiasing rule in x and z as well.

***RECORD #2: OMEGA_Y AND PHI=NABLA^2(V): (wk1(j),j=1,ntotr)
       ntotr=4*(my*mz)	  
       vor and phi are 4 bytes real arrays, and
       cmplx(vor(2*j-1,k,i),vor(2*j,k,i)) and
       cmplx(phi(2*j-1,k,i),phi(2*j,k,i)) are respectively the i-th
       and k-th complex Fourier coefficients of omega_y and phi
       associated to the j-th collocation point. 
       * See main.F @ TOOLS/CONVERSOR-BINARY-TO-HDF5/ for more details.

/////////////////////////////////////////////////////////////// 
///////////////////////  Snapshots_hdf5 /////////////////////// 
/////////////////////////////////////////////////////////////// 

The above binary file format can be converted to HDF5 using the tools
provided at the folder TOOLS/CONVERSOR-BINARY-TO-HDF5/, that contain,

  [1]	channel_2_hdf5_CFD_version.tar.gz --------> Compact-Finite-Diff Channels.	
  [2]	channel_2_hdf5_TCHEBISHEV_version.tar.gz--> Tchebishev Channels.

Example of those hdf5 files:

 --------------------------------------------------------------------------
	COMPACT-FINITE-DIFF.	   ||		TCHEBISHEV		 ||
 --------------------------------------------------------------------------
 # h5ls chan2000.525.h5		   ||	# h5ls Re950.015.h5 		 ||		   
 Re    Dataset {1}		   ||  	Re     Dataset {1}		 ||  
 a0    Dataset {1}		   ||  	a0     Dataset {1}		 ||  
 alpha Dataset {1}		   ||  	alpha  Dataset {1}		 ||  
 beta  Dataset {1}		   ||  	beta   Dataset {1}		 ||  
 mx    Dataset {1}		   ||  	mx     Dataset {1}		 ||  
 my    Dataset {1}		   ||  	my     Dataset {1}		 ||  
 mz    Dataset {1}		   ||  	mz     Dataset {1}		 ||  
 phi   Dataset {2048, 3071, 1266}  ||	phi    Dataset {385, 1535, 2048} ||
 time  Dataset {1}		   ||  	time   Dataset {1}		 ||  
 u00   Dataset {633}		   ||  	u00    Dataset {385}		 ||  
 vor   Dataset {2048, 3071, 1266}  ||	vor    Dataset {385, 1535, 2048} ||
 w00   Dataset {633}		   ||  	w00    Dataset {385}		 ||  
 y     Dataset {633}		   ||  	y      Dataset {385}             ||
 fmap  Dataset {633}		   ||  					 ||
---------------------------------------------------------------------------


//////////////////////////////////////////////////////////////// 
//////////////// {U,V,W,D,...}_Snapshots /////////////////////// 
//////////////////////////////////////////////////////////////// 

              Stored as XZY: Physical Fields
        (TCHEBISHEV & Compact Finite Diff codes)
//////////////////////////////////////////////////////////////// 

The files are written in standard FORTRAN-UNFORMATTED format, the
endianness of the bytes is BIG. The file contains a single record.

After specifying the {Mgalx,My,Mgalz} dimensions (see above), the file can be read
as follow:

    open(1,file="file",action='read',form='unformatted',access='stream',status='old',convert='big_endian')
    read(1) (((U(i,k,j),i=1,nx),k=1,nz),j=0,ny); close(1)
    
      !Parameters (in some cases, in others those are zero)                                                                    
        time = U(1,1,0)
        Re   = U(2,1,0) 
        alp  = U(3,1,0)
        bet  = U(4,1,0)
        a0   = U(5,1,0)
      !Mean profile                                                                                                          
        do j=1,ny
           Um(j) = sum(U(:,:,j))/(nx*nz)
        end do
      
 The Y-Grid is generated for the Tchebishev case as:

      !y mesh, x and z are uniform                                                                             
        do j=1,ny
	   y(j) = 1-cos(pi*(j-1)/(ny-1))
	end do

And in the case of the Compact Finite Diff is directly read from file, "y-mesh"
       open(2,file='y-mesh',action='read',form='unformatted',access='stream',status='old',convert='big_endian')
       read(2) y; close(2)

Scripts to read those files can be found @ "TOOLS/READ-PHYSICAL-SPACE-SNAPSHOTS"


-----------------------------------------------------------------------
                     CONTACT:
-----------------------------------------------------------------------
Please report any problems with the data, queries or doubts to
J.A. Sillero, sillero@torroja.dmt.upm.es