Index of /turbdata/raw_database/Channels
=================================================================================
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