diff --git a/code/post.f90 b/code/post.f90 index cae10c8..cb9f511 100644 --- a/code/post.f90 +++ b/code/post.f90 @@ -3,7 +3,7 @@ IMPLICIT NONE PRIVATE INTEGER :: nxp,nyp,nzp,startnum,endnum,skipnum,ncyc - INTEGER :: syp,eyp,startsw,twod + INTEGER :: syp,eyp,twod INTEGER :: omitnum,countnum INTEGER :: shiftnum ! hybrid INTEGER :: num_, dummyu_ ! hybrid @@ -46,32 +46,26 @@ CONTAINS SUBROUTINE main - INTEGER :: fread,i,postsw + INTEGER :: fread,i + LOGICAL :: omitsw CALL READ_INTRO - CALL PREPARE_SAVE + CALL PRINT_BANNER - ! OPEN (210,FILE="ui.dat") - ! WRITE(210,*) 'VARIABLES = "x","y","z","ui"' countnum=0 - DO fread=startnum,endnum,skipnum + fileloop: DO fread=startnum,endnum,skipnum - postsw=1 - IF (omitnum.gt.0) THEN - DO i=1,omitnum + omitsw=.false. + filter_omit: DO i=1,omitnum IF (fread.ge.omit_t(i,1).and.fread.le.omit_t(i,2)) THEN - postsw=-1*i + omitsw=.true. + WRITE(*,'(a47,i7,a4,i5,a3,i5)') ' Current fullsavenum = ', fread, ' || ', (fread-startnum+1), ' / ', (endnum-startnum+1) + WRITE(*,'(a12,i6,a20,i6)') ' Skip. ', omit_t(i,1), ' <= fullsavenum <= ', omit_t(i,2) ENDIF - ENDDO - ENDIF + ENDDO filter_omit - IF (postsw.lt.0) THEN - WRITE(*,'(a47,i7,a4,i5,a3,i5)') ' Current fullsavenum = ',fread,& - ' || ',(fread-startnum+1),' / ',(endnum-startnum+1) - WRITE(*,'(a12,i6,a20,i6)') & - ' Skip. ',omit_t((-1*postsw),1),' <= fullsavenum <= ',omit_t((-1*postsw),2) - ELSEIF (postsw.eq.1) THEN + IF ( .not. omitsw ) THEN countnum=countnum+1 CALL READ_FILE(fread) @@ -84,7 +78,7 @@ CALL SAVE_SUM ! Total sum ENDIF - ENDDO + ENDDO fileloop write(*,*) 'After 1st loop' CALL AVERAGING @@ -169,30 +163,17 @@ END SUBROUTINE READ_INTRO - SUBROUTINE PREPARE_SAVE + SUBROUTINE PRINT_BANNER WRITE(*,*) ' This program, x-edge-cold-bc-5-hybrid, is written by D. Kim, 2018' WRITE(*,*) ' It is to study the statistics of the flame parameters at the leading edge' WRITE(*,*) ' in turbulent premixed flames.' WRITE(*,'(a40,i5,a11,i5,a1)') ' Postprocess will be done from "FORT.',startnum,'" to "FORT.',endnum,'"' + END SUBROUTINE PRINT_BANNER - startsw=0. + SUBROUTINE ALLOCATE_ARRAYS - END SUBROUTINE PREPARE_SAVE + INTEGER :: ierr - SUBROUTINE READ_FILE(num) - INTEGER, INTENT(IN) :: num - INTEGER :: ierr,i,j,k - REAL, DIMENSION(2) :: tmpr - REAL :: tmp1,tmp2 - REAL :: dt,dummyu - - OPEN(num,FORM='unformatted',STATUS='unknown') - READ (num) tnow,nxp,nyp,nzp,tmp1,tmp2 - - IF (startsw.eq.0) THEN -! syp=1 -! eyp=nyp -! Arrays for local values ALLOCATE(m_v(6,nxp,nyp,nzp),STAT=ierr) ; m_v=0. ! Main variables ALLOCATE(m_v_new(nxp,nyp,nzp,2),STAT=ierr) ; m_v_new=0. ! Main variables !ALLOCATE(G_C(3,nxp,nyp,nzp),STAT=ierr) ; G_C=0. @@ -249,7 +230,7 @@ ALLOCATE(RMS_b(4,nxp),STAT=ierr) ; RMS_b=0. ALLOCATE(RMS_u(4,nxp),STAT=ierr) ; RMS_u=0. ALLOCATE(COV(4,nxp),STAT=ierr) ; COV=0. - + ALLOCATE(favg_ndata(nxp),STAT=ierr) ; favg_ndata=0. ALLOCATE(RMS_u_2(4,nxp),STAT=ierr) ; RMS_u_2=0. ALLOCATE(RMS_b_2(4,nxp),STAT=ierr) ; RMS_b_2=0. @@ -271,36 +252,49 @@ hyp=l_0*pi/REAL(nyp-1) ! kwon hxp=hyp; hzp=hyp - CALL ludcmp(nxp,nyp,nzp,1,0,0) ! 1,1,0 - WRITE(*,'(a6,i3,a8,i3,a8,i3)') ' NX = ',nxp,' / NY = ',nyp,' / NZ = ',nzp WRITE(*,*) ' Preparing memory space for COMPACT SCHEME' - + CALL ludcmp(nxp,nyp,nzp,1,0,0) ! 1,1,0 WRITE(*,'(a22,i3,a3,i3,a4,i3)') ' Grid number range : ',syp,' ~ ',eyp,' of ',nyp WRITE(*,*) - twod=0 - IF (nzp.eq.1) twod=1 - startsw=1 + END SUBROUTINE ALLOCATE_ARRAYS + SUBROUTINE READ_FILE(num) + INTEGER, INTENT(IN) :: num + INTEGER :: ierr,i,j,k + REAL, DIMENSION(2) :: tmpr + REAL :: tmp1,tmp2 + REAL :: dt,dummyu + + OPEN(num,FORM='unformatted',STATUS='unknown') + READ (num) tnow,nxp,nyp,nzp,tmp1,tmp2 + + IF (nzp.eq.1) THEN + twod=1 + ELSE + twod=0 + END IF + + IF (.not. ALLOCATED(m_v)) THEN + CALL ALLOCATE_ARRAYS ENDIF - !READ (num) ncyc,tmpr(1:2) READ (num) ncyc,dt,dummyu READ (num) tmpr(1:2) READ (num) tmpr(1:2) READ (num) tmpr(1:2) - WRITE(*,'(a40,f8.3,a2,i7,a2,i5,a4,i5,a3,i5)') ' Current time / NCYC / fullsavenum = ',tnow,& + WRITE(*,'(a40,f8.3,a2,i7,a2,i5,a4,i5,a3,i5)') ' Current time / NCYC / fullsavenum = ',tnow,& ' /',ncyc,' /',num,' || ',(num-startnum+1),' / ',(endnum-startnum+1) WRITE(*,*) ' Reading current data file and processing' m_v(1,:,:,:)=1. ! density is fixed at 1. - + num_=num - IF(num.le.shiftnum) THEN + IF(num.le.shiftnum) THEN WRITE(*,*) ' with an old fort data from Nueman-0X' READ (num) m_v(2,:,:,:),m_v(3,:,:,:),m_v(4,:,:,:),m_v(5:6,:,:,:) ELSE