incomp-flame-post/code/m_parameters.f90
2019-04-21 06:59:32 +09:00

151 lines
3.1 KiB
Fortran

module m_parameters
implicit none
integer :: nxp,nyp,nzp
real :: hxp,hyp,hzp
real :: l_0
integer :: startnum,endnum,skipnum,shiftnum
real :: scp,prp,lep,vis0p,rod
real :: prof_wr,min_wr,min_fsd,min_c,refwr
real :: pre,ac,bc,c_cut,c_ref
integer :: syp,eyp,twod
real :: SL_u
integer :: omitnum
integer, allocatable :: omit_t(:,:)
real, parameter :: pi=3.14159265358979323846
real, parameter :: me=1.00e-20
contains
logical function to_omit(num)
integer, intent(in) :: num
integer :: i
to_omit=.false.
do i=1,omitnum
if (num.ge.omit_t(i,1).and.num.le.omit_t(i,2)) then
to_omit=.true.
endif
enddo
end function to_omit
subroutine read_intro
character(LEN=10) :: cdum
integer :: ierr,i
integer :: first_file
real*8 :: tmp1, tmp2, tmp3
open (100, FILE='post-edge-cold-bc-hybrid-intro')
open (101, FILE='otape')
read (100,*) cdum,l_0
write(101,*) cdum,l_0
read (100,*) cdum,startnum
write(101,*) cdum,startnum
read (100,*) cdum,endnum
write(101,*) cdum,endnum
read (100,*) cdum,skipnum
write(101,*) cdum,skipnum
read (100,*) cdum,shiftnum
write(101,*) cdum,shiftnum
read (100,*) cdum,vis0p
write(101,*) cdum,vis0p
read (100,*) cdum,scp
write(101,*) cdum,scp
read (100,*) cdum,lep
write(101,*) cdum,lep
read (100,*) cdum,min_wr
write(101,*) cdum,min_wr
read (100,*) cdum,prof_wr
write(101,*) cdum,prof_wr
read (100,*) cdum,min_fsd
write(101,*) cdum,min_fsd
read (100,*) cdum,min_c
write(101,*) cdum,min_c
read (100,*) cdum,pre
write(101,*) cdum,pre
read (100,*) cdum,ac
write(101,*) cdum,ac
read (100,*) cdum,bc
write(101,*) cdum,bc
read (100,*) cdum,c_cut
write(101,*) cdum,c_cut
read (100,*) cdum,c_ref
write(101,*) cdum,c_ref
read (100,*) cdum,syp
write(101,*) cdum,syp
read (100,*) cdum,eyp
write(101,*) cdum,eyp
read (100,*) cdum,SL_u
write(101,*) cdum,SL_u
read (100,*) cdum,omitnum
write(101,*) cdum,omitnum
if (omitnum.gt.0) THEN
allocate (omit_t(omitnum,2), stat=ierr)
do i=1,omitnum
read (100,*) cdum,omit_t(i,1) ! begining fullsave number
write(101,*) cdum,omit_t(i,1)
read (100,*) cdum,omit_t(i,2) ! ending fullsave number
write(101,*) cdum,omit_t(i,2)
enddo
endif
prp=scp/lep
refwr=pre*1.*exp(-ac/(1.+bc*c_ref)) ! wrate at c_ref
rod=vis0p/prp/lep ! vis0p dynamic viscosity, rod= density*mass diffusivity = rho*D
close (100)
close (101)
first_file = startnum
fileloop: DO i=startnum,endnum,skipnum
IF ( .not. to_omit(i) ) THEN
first_file = i
exit fileloop
ENDIF
ENDDO fileloop
OPEN(first_file,FORM='unformatted',STATUS='unknown')
READ(first_file) tmp1,nxp,nyp,nzp,tmp2,tmp3
CLOSE(first_file)
hyp=l_0*pi/REAL(nyp)
hxp=hyp
hzp=hyp
end subroutine read_intro
end module m_parameters