48 use discretelement
, only: des_continuum_coupled
49 use discretelement
, only: discrete_element
50 use discretelement
, only: print_des_data
76 double precision,
allocatable :: array1(:)
77 double precision,
allocatable :: array2(:)
89 CHARACTER(LEN=50),
DIMENSION(1) :: LINE
90 double precision,
dimension(:),
allocatable :: TMP_VAR
112 READ (uspx + l, rec=3) next_rec, num_rec
114 WRITE (uspx + l, rec=next_rec)
REAL(TIME), NSTEP
115 next_rec = next_rec + 1
121 IF(discrete_element .AND. .NOT.des_continuum_coupled)
THEN 133 call out_bin_r(uspx+l,tmp_var,
size(tmp_var),next_rec)
142 num_rec = next_rec - num_rec
143 WRITE (uspx + l, rec=3) next_rec, num_rec
144 if(unit_add == 0)
CALL flush_bin (uspx + l)
150 IF(discrete_element.AND.print_des_data)
THEN 161 READ (uspx + l, rec=3) next_rec, num_rec
163 WRITE (uspx + l, rec=next_rec)
REAL(TIME), NSTEP
164 next_rec = next_rec + 1
169 call out_bin_r(uspx+l,tmp_var,
size(tmp_var),next_rec)
171 call out_bin_r(uspx+l,tmp_var,
size(tmp_var),next_rec)
183 num_rec = next_rec - num_rec
184 WRITE (uspx + l, rec=3) next_rec, num_rec
185 if(unit_add == 0)
CALL flush_bin (uspx + l)
193 READ (uspx + l, rec=3) next_rec, num_rec
195 WRITE (uspx + l, rec=next_rec)
REAL(TIME), NSTEP
196 next_rec = next_rec + 1
201 call out_bin_r(uspx+l,tmp_var,
size(tmp_var),next_rec)
203 call out_bin_r(uspx+l,tmp_var,
size(tmp_var),next_rec)
205 call out_bin_r(uspx+l,tmp_var,
size(tmp_var),next_rec)
220 num_rec = next_rec - num_rec
221 WRITE (uspx + l, rec=3) next_rec, num_rec
222 if(unit_add == 0)
CALL flush_bin (uspx + l)
230 READ (uspx + l, rec=3) next_rec, num_rec
232 WRITE (uspx + l, rec=next_rec)
REAL(TIME), NSTEP
233 next_rec = next_rec + 1
239 call out_bin_r(uspx+l,tmp_var,
size(tmp_var),next_rec)
241 call out_bin_r(uspx+l,tmp_var,
size(tmp_var),next_rec)
243 call out_bin_r(uspx+l,tmp_var,
size(tmp_var),next_rec)
263 num_rec = next_rec - num_rec
264 WRITE (uspx + l, rec=3) next_rec, num_rec
265 if(unit_add == 0)
CALL flush_bin (uspx + l)
273 READ (uspx + l, rec=3) next_rec, num_rec
275 WRITE (uspx + l, rec=next_rec)
REAL(TIME), NSTEP
276 next_rec = next_rec + 1
282 call out_bin_r(uspx+l,tmp_var,
size(tmp_var),next_rec)
296 num_rec = next_rec - num_rec
297 WRITE (uspx + l, rec=3) next_rec, num_rec
298 if(unit_add == 0)
CALL flush_bin (uspx + l)
306 READ (uspx + l, rec=3) next_rec, num_rec
308 WRITE (uspx + l, rec=next_rec)
REAL(TIME), NSTEP
309 next_rec = next_rec + 1
314 call out_bin_r(uspx+l,tmp_var,
size(tmp_var),next_rec)
317 call out_bin_r(uspx+l,tmp_var,
size(tmp_var), next_rec)
336 num_rec = next_rec - num_rec
337 WRITE (uspx + l, rec=3) next_rec, num_rec
338 if(unit_add == 0)
CALL flush_bin (uspx + l)
345 READ (uspx + l, rec=3) next_rec, num_rec
347 WRITE (uspx + l, rec=next_rec)
REAL(TIME), NSTEP
348 next_rec = next_rec + 1
354 call out_bin_r(uspx+l,tmp_var,
size(tmp_var),next_rec)
359 call out_bin_r(uspx+l,tmp_var,
size(tmp_var), next_rec
393 num_rec = next_rec - num_rec
394 WRITE (uspx + l, rec=3) next_rec, num_rec
395 if(unit_add == 0)
CALL flush_bin (uspx + l)
403 READ (uspx + l, rec=3) next_rec, num_rec
405 WRITE (uspx + l, rec=next_rec)
REAL(TIME), NSTEP
406 next_rec = next_rec + 1
412 call out_bin_r(uspx+l,tmp_var,
size(tmp_var),next_rec)
428 num_rec = next_rec - num_rec
429 WRITE (uspx + l, rec=3) next_rec, num_rec
430 if(unit_add == 0)
CALL flush_bin (uspx + l)
438 READ (uspx + l, rec=3) next_rec, num_rec
440 WRITE (uspx + l, rec=next_rec)
REAL(TIME), NSTEP
441 next_rec = next_rec + 1
447 call out_bin_r(uspx+l,tmp_var,
size(tmp_var),next_rec)
463 num_rec = next_rec - num_rec
464 WRITE (uspx + l, rec=3) next_rec, num_rec
465 if(unit_add == 0)
CALL flush_bin (uspx + l)
472 READ (uspx + l, rec=3) next_rec, num_rec
474 WRITE (uspx + l, rec=next_rec)
REAL(TIME), NSTEP
475 next_rec = next_rec + 1
481 call out_bin_r(uspx+l,tmp_var,
size(tmp_var),next_rec)
497 num_rec = next_rec - num_rec
498 WRITE (uspx + l, rec=3) next_rec, num_rec
499 if(unit_add == 0)
CALL flush_bin (uspx + l)
506 READ (uspx + l, rec=3) next_rec, num_rec
508 WRITE (uspx + l, rec=next_rec)
REAL(TIME), NSTEP
509 next_rec = next_rec + 1
515 call out_bin_r(uspx+l,tmp_var,
size(tmp_var),next_rec)
517 call out_bin_r(uspx+l,tmp_var,
size(tmp_var),next_rec)
532 num_rec = next_rec - num_rec
533 WRITE (uspx + l, rec=3) next_rec, num_rec
534 if(unit_add == 0)
CALL flush_bin (uspx + l)
540 line(1) =
'Unknown SPx file index' 564 integer uspxL, NEXT_REC
565 double precision,
dimension(ijkmax2) :: array1
566 double precision,
dimension(ijkmax3) :: array2
567 double precision,
dimension(DIMENSION_3) :: VAR
568 double precision,
dimension(:),
allocatable :: TMP_VAR
595 nx,ny,nz,ijkmax2_use , ijkmax3_use)
608 integer :: ncid , varid , nx,ny,nz , ijkmax2_use , ijkmax3_use
609 integer :: ii , jj , kk , ijk
611 double precision :: arr1(ijkmax2_use)
612 double precision :: arr2(ijkmax3_use)
613 double precision :: arr4d(nx,ny,nz,1)
625 arr4d(ii,jj,kk,1) = arr1(ijk)
640 varid , nx,ny,nz,ijkmax2_use , ijkmax3_use)
653 integer :: ncid , varid , nx,ny,nz , ijkmax2_use , ijkmax3_use
654 integer :: ii , jj , kk , ijk
656 integer :: arr1(ijkmax2_use)
657 integer :: arr2(ijkmax3_use)
658 integer :: arr4d(nx,ny,nz,1)
670 arr4d(ii,jj,kk,1) = arr1(ijk)
685 integer :: nx , ny , nz
686 double precision :: darr(*)
687 real :: rarr(nx,ny,*)
688 integer :: i , j , k , ijk
697 rarr(i,j,k) =
real(darr(ijk))
730 integer :: ncid , x_dimid , y_dimid , z_dimid , t_dimid
731 integer :: varid_x , varid_y , varid_z , L , dimids(4)
732 integer :: varid_flag , coords_dimid , varid_coords , coords
734 character(LEN=80) :: fname
736 double precision,
dimension(:) ,
allocatable :: xloc
737 double precision,
dimension(:) ,
allocatable :: yloc
738 double precision,
dimension(:) ,
allocatable :: zloc
740 integer,
dimension(:) ,
allocatable :: arr1
741 integer,
dimension(:) ,
allocatable :: arr2
742 integer,
dimension(:,:,:,:) ,
allocatable :: arr4d
755 allocate ( xloc(
imax2) )
756 allocate ( yloc(
jmax2) )
757 allocate ( zloc(
kmax2) )
761 allocate ( arr4d(1,1,1,1))
770 xloc(l) = xloc(l-1) +
dx(l)
775 yloc(l) = yloc(l-1) +
dy(l)
780 zloc(l) = zloc(l-1) +
dz(l)
783 fname = trim(
run_name) //
"_MESH.nc" 792 dimids = (/ x_dimid , y_dimid, z_dimid , t_dimid/)
859 integer :: L , unit_add , I , nn , ii
861 integer :: ncid , x_dimid , y_dimid , z_dimid
863 integer :: dimids(4) , varid_epg , varid_pg
865 integer :: varid_pstar , varid_ug , varid_vg , varid_wg
866 integer :: varid_tg , varid_x , varid_y , varid_z , varid_t
867 integer :: varid_coords , coords_dimid , coords
869 integer :: varid_us(20) , varid_vs(20) , varid_ws(20)
870 integer :: varid_rops(20) , varid_ts(20)
871 integer :: varid_thetam(20)
873 integer :: varid_xg(20)
874 integer :: varid_xs(20,20)
876 integer :: varid_scalar(20)
877 integer :: varid_rr(20)
879 integer :: varid_kturbg , varid_eturbg
882 character(LEN=80) :: fname, var_name
883 character(LEN=9) :: fname_index
885 double precision,
dimension(:) ,
allocatable :: arr1
886 double precision,
dimension(:) ,
allocatable :: arr2
888 double precision,
dimension(:,:,:,:) ,
allocatable :: arr4d
891 double precision,
dimension(:) ,
allocatable :: xloc
892 double precision,
dimension(:) ,
allocatable :: yloc
893 double precision,
dimension(:) ,
allocatable :: zloc
895 double precision :: the_time
896 logical :: file_exists
923 allocate ( xloc(
imax2) )
924 allocate ( yloc(
jmax2) )
925 allocate ( zloc(
kmax2) )
933 allocate (arr4d(1,1,1,1))
945 xloc(ii) = xloc(ii-1) +
dx(ii)
951 yloc(ii) = yloc(ii-1) +
dy(ii)
956 zloc(ii) = zloc(ii-1) +
dz(ii)
964 fname = trim(
run_name) //
'_netcdf_index.txt' 965 inquire (file=fname,exist=file_exists)
967 if (file_exists)
then 968 open (unit=11,file=fname,status=
'old')
976 fname_index =
'_xxxxx.nc' 978 fname = trim(
run_name)// fname_index
983 fname = trim(
run_name) //
'_netcdf_index.txt' 984 open (unit=11,file=fname,status=
'unknown')
1003 dimids = (/ x_dimid , y_dimid, z_dimid , t_dimid/)
1014 var_name =
'U_s_xxx' 1015 write (var_name(5:7),
'(i3.3)') i
1019 write (var_name(5:7),
'(i3.3)') i
1023 write (var_name(5:7),
'(i3.3)') i
1027 write (var_name(7:10),
'(i3.3)') i
1031 write (var_name(5:7),
'(i3.3)') i
1035 write (var_name(9:11),
'(i3.3)') i
1039 var_name =
'X_s_xxx_xxx' 1040 write (var_name(5:7) ,
'(i3.3)') i
1041 write (var_name(9:11),
'(i3.3)') nn
1049 var_name =
'X_g_xxx' 1050 write (var_name(5:7),
'(i3.3)') i
1055 var_name =
'Scalar_xxx' 1056 write (var_name(8:10),
'(i3.3)') i
1061 var_name =
'RRates_xxx' 1062 write (var_name(8:10),
'(i3.3)') i
subroutine comp_mean_fields
subroutine gatherwritespx_netcdf_int(VAR, arr1, arr2, arr4d, ncid
character(len=16) coordinates
double precision, dimension(:,:), allocatable v_s
integer function mfix_nf90_def_dim(ncid, name, len, dimid)
subroutine write_mesh_netcdf
subroutine write_des_data
double precision, dimension(:), allocatable ep_g
integer function mfix_nf90_create(path, cmode, ncid, initialsize, chunksize)
subroutine mfix_check_netcdf(status)
double precision, dimension(:), allocatable k_turb_g
subroutine write_error(NAME, LINE, LMAX)
subroutine flush_bin(iunit)
subroutine write_spx1(L, unit_add)
subroutine gatherwritespx_netcdf(VAR, arr1, arr2, arr4d, ncid, va
double precision, dimension(:,:), allocatable w_s
character(len=60) run_name
double precision, dimension(:), allocatable t_g
integer function mfix_nf90_close(ncid)
subroutine write_netcdf(L, unit_add, the_time)
double precision, dimension(:,:), allocatable scalar
double precision, dimension(0:dim_j) dy
double precision, dimension(:), allocatable p_g
integer nf90_64bit_offset
subroutine convert_to_io_i(arr_internal, arr_io, nn)
double precision, parameter undefined
double precision, dimension(0:dim_k) dz
double precision, dimension(:,:), allocatable u_s
subroutine calc_interp_weights
integer netcdf_file_index
subroutine mfix_exit(myID, normal_termination)
subroutine copy_d_to_r(darr, rarr, nx, ny, nz)
double precision, dimension(:,:,:), allocatable x_s
double precision, dimension(:,:), allocatable t_s
double precision, dimension(:,:), allocatable x_g
logical, dimension(20) bwrite_netcdf
character(len=16) run_type
double precision, dimension(:,:), allocatable theta_m
double precision, dimension(:), allocatable v_g
subroutine gatherwritespx(VAR, array2, array1, uspxL, NEXT_REC)
double precision, dimension(0:dim_i) dx
double precision, dimension(:), allocatable w_g
integer, parameter unit_spx
subroutine particles_in_cell
integer, dimension(0:dim_m) nmax
subroutine out_bin_r(IUNIT, ARRAY, IJKMAX2, NEXT_REC)
double precision, dimension(:,:), allocatable reactionrates
double precision, dimension(:), allocatable p_star
logical function mfix_usingnetcdf()
double precision, dimension(:), allocatable u_g
integer function mfix_nf90_enddef(ncid, h_minfree, v_align, v_minfree, r_align)
double precision, dimension(:,:), allocatable rop_s
integer, dimension(:), allocatable flag
subroutine unshift_dp_array(ARRAY_1, ARRAY_2)
double precision, dimension(:), allocatable e_turb_g
subroutine convert_to_io_dp(arr_internal, arr_io, nn)
double precision, parameter zero
logical bfirst_netcdf_write