refactoring, extract subroutine ALLOCATE_ARRAYS and minor revision conditionals
This commit is contained in:
parent
799676f897
commit
9ca8192e32
1 changed files with 41 additions and 47 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue