make parameter of number of scalar equations

This commit is contained in:
park0d 2017-09-27 04:38:07 +09:00
parent e14bb9dd14
commit 16ec6d36e9
2 changed files with 20 additions and 13 deletions

View file

@ -65,7 +65,6 @@ subroutine io_write_4
wmax = maxval(w_(1:nx,1:ny,1:nz_all))
wmin = minval(w_(1:nx,1:ny,1:nz_all))
call write_tp_field
call write_vel_max ( umax,vmax,wmax,umin,vmin,wmin )
endif

View file

@ -40,6 +40,8 @@ module m_fdm_calc
integer(kind=MPI_INTEGER_KIND) :: fh
integer(kind=MPI_OFFSET_KIND) :: offset
integer :: header_length
write(fname,"('fort.',i4)") restartnum
if (myid.eq.master) then
@ -107,18 +109,20 @@ module m_fdm_calc
call MPI_INFO_CREATE(mpi_info, mpi_err)
call MPI_FILE_OPEN(MPI_COMM_TASK,fname,MPI_MODE_RDONLY,mpi_info,fh,mpi_err)
header_length = 2*4+6*8 + 2*4+3*8 + 3*(2*4+2*8)
count = nx * ny * nz
offset = 2*4+6*8 + 2*4+3*8 + 3*(2*4+2*8) + 4 + 0*nx*ny*nz_all*8 + myid*nx*ny*nz*8
offset = header_length + 4 + 0*nx*ny*nz_all*8 + myid*nx*ny*nz*8
call MPI_FILE_READ_AT_ALL(fh, offset, u_, count, MPI_REAL8, mpi_status, mpi_err)
offset = 2*4+6*8 + 2*4+3*8 + 3*(2*4+2*8) + 4 + 1*nx*ny*nz_all*8 + myid*nx*ny*nz*8
offset = header_length + 4 + 1*nx*ny*nz_all*8 + myid*nx*ny*nz*8
call MPI_FILE_READ_AT_ALL(fh, offset, v_, count, MPI_REAL8, mpi_status, mpi_err)
offset = 2*4+6*8 + 2*4+3*8 + 3*(2*4+2*8) + 4 + 2*nx*ny*nz_all*8 + myid*nx*ny*nz*8
offset = header_length + 4 + 2*nx*ny*nz_all*8 + myid*nx*ny*nz*8
call MPI_FILE_READ_AT_ALL(fh, offset, w_, count, MPI_REAL8, mpi_status, mpi_err)
count = 2 * nx * ny * nz
offset = 2*4+6*8 + 2*4+3*8 + 3*(2*4+2*8) + 4 + 3*nx*ny*nz_all*8 + myid*2*nx*ny*nz*8
count = neq * nx * ny * nz
offset = header_length + 4 + 3*nx*ny*nz_all*8 + myid*neq*nx*ny*nz*8
call MPI_FILE_READ_AT_ALL(fh, offset, y1, count, MPI_REAL8, mpi_status, mpi_err)
call MPI_FILE_CLOSE(fh, mpi_err)
@ -129,6 +133,8 @@ module m_fdm_calc
subroutine fdm_restart_write
integer(kind=MPI_INTEGER_KIND) :: fh
integer(kind=MPI_OFFSET_KIND) :: offset
integer :: header_length
! --------------- writing process ------------------
if (myid.eq.0) write(*,*) '======================================================='
@ -182,18 +188,20 @@ module m_fdm_calc
end if
header_length = 2*4+6*8 + 2*4+3*8 + 3*(2*4+2*8)
count = nx * ny * nz
offset = 2*4+6*8 + 2*4+3*8 + 3*(2*4+2*8) + 4 + 0*nx*ny*nz_all*8 + myid*nx*ny*nz*8
offset = header_length + 4 + 0*nx*ny*nz_all*8 + myid*nx*ny*nz*8
call MPI_FILE_WRITE_AT(fh, offset, u_, count, MPI_REAL8, mpi_status, mpi_err)
offset = 2*4+6*8 + 2*4+3*8 + 3*(2*4+2*8) + 4 + 1*nx*ny*nz_all*8 + myid*nx*ny*nz*8
offset = header_length + 4 + 1*nx*ny*nz_all*8 + myid*nx*ny*nz*8
call MPI_FILE_WRITE_AT(fh, offset, v_, count, MPI_REAL8, mpi_status, mpi_err)
offset = 2*4+6*8 + 2*4+3*8 + 3*(2*4+2*8) + 4 + 2*nx*ny*nz_all*8 + myid*nx*ny*nz*8
offset = header_length + 4 + 2*nx*ny*nz_all*8 + myid*nx*ny*nz*8
call MPI_FILE_WRITE_AT(fh, offset, w_, count, MPI_REAL8, mpi_status, mpi_err)
count = 2 * nx * ny * nz
offset = 2*4+6*8 + 2*4+3*8 + 3*(2*4+2*8) + 4 + 3*nx*ny*nz_all*8 + myid*2*nx*ny*nz*8
count = neq * nx * ny * nz
offset = header_length + 4 + 3*nx*ny*nz_all*8 + myid*neq*nx*ny*nz*8
call MPI_FILE_WRITE_AT(fh, offset, y1, count, MPI_REAL8, mpi_status, mpi_err)
@ -243,8 +251,8 @@ module m_fdm_calc
allocate(y2(neq,nx,ny,nz))
allocate(yf(neq,nx,ny,nz))
allocate( fz(nd1*nx*ny,nz))
allocate(dfz(nd1*nx*ny,nz))
allocate( fz (nd1*nx*ny,nz))
allocate(dfz (nd1*nx*ny,nz))
allocate( fzz(nd2*nx*ny,nz))
allocate(dfzz(nd2*nx*ny,nz))