incomp-flame-1d/code/m_parameters.f90
2019-09-15 02:46:21 +09:00

171 lines
4.1 KiB
Fortran

module m_parameters
implicit none
! Domain Parameter
integer :: nxp,nyp,nzp
integer :: nx
real :: hxp,hyp,hzp
real :: l_0
real :: hx
! Transport Properties
real :: vis,sc,diff
real :: scp,prp,lep,vis0p,rod
real :: lewis, le_a, le_x
! Chemistry Properties
real :: prof_wr,min_wr,min_fsd,min_c,refwr
real :: pre,ac,bc,c_cut,c_ref
real :: lambda1, lambda2, beta1, hrp, beta
character(100) :: reaction_type
! Constants
real, parameter :: pi=3.14159265358979323846d0
! real, parameter :: pi=acos(-1.d0)
real, parameter :: me=1.00e-20
! Flame Control
real :: minf,tar_lo,u0,ctmp,lo_flm=0.
real :: pflame,pflold,oldu
! Solver Control
integer :: ncyc=0,int_pr
real :: absolute_tolerence=1e-8
real :: dt,tf,t_now,t_uf,dt_uf
! Input File
LOGICAL :: read_itape, read_stdin
CHARACTER(100) :: itape_name
integer :: table_size
real :: rate_relaxation (2,100)
CHARACTER(LEN=8) :: cdum
INTEGER :: itape=300, otape=301
contains
SUBROUTINE SET_CHEMISTRY
reaction_type = "twostep"
lambda1 = 100000.
lambda2 = lambda1 * 63.6
beta1 = 9.1
hrp = 0.8136765
END SUBROUTINE SET_CHEMISTRY
SUBROUTINE READ_INTRO
IMPLICIT NONE
INTERFACE READ_PARAMETER
SUBROUTINE READ_INT (x)
integer :: x
END SUBROUTINE READ_INT
SUBROUTINE READ_REAL (x)
real :: x
END SUBROUTINE READ_REAL
END INTERFACE
INTEGER :: i
CALL SET_CHEMISTRY
IF (read_stdin) THEN
itape=5
ELSE
OPEN(itape,FILE=itape_name)
END IF
OPEN(otape,FILE='otape')
!READ(itape,*) cdum,nx
!WRITE(otape,*) cdum,nx
CALL READ_PARAMETER (nx)
READ(itape,*) cdum,l_0
WRITE(otape,*) cdum,l_0
READ(itape,*) cdum,int_pr
WRITE(otape,*) cdum,int_pr
READ(itape,*) cdum,tar_lo
WRITE(otape,*) cdum,tar_lo
READ(itape,*) cdum,dt
WRITE(otape,*) cdum,dt
READ(itape,*) cdum,sc
WRITE(otape,*) cdum,sc
READ(itape,*) cdum,vis
WRITE(otape,*) cdum,vis
READ(itape,*) cdum,pre
WRITE(otape,*) cdum,pre
READ(itape,*) cdum,ac
WRITE(otape,*) cdum,ac
READ(itape,*) cdum,bc
WRITE(otape,*) cdum,bc
READ(itape,*) cdum,u0
WRITE(otape,*) cdum,u0
READ(itape,*) cdum,tf
WRITE(otape,*) cdum,tf
READ(itape,*) cdum,dt_uf
WRITE(otape,*) cdum,dt_uf
READ(itape,*) cdum,ctmp
WRITE(otape,*) cdum,ctmp
READ(itape,*) cdum,c_cut
WRITE(otape,*) cdum,c_cut
! READ(itape,*) cdum,cs
! WRITE(otape,*) cdum,cs
READ(itape,*) cdum,c_ref
WRITE(otape,*) cdum,c_ref
READ(itape,*) cdum,min_wr
WRITE(otape,*) cdum,min_wr
READ(itape,*) cdum,prof_wr
WRITE(otape,*) cdum,prof_wr
READ(itape,*) cdum,lewis
WRITE(otape,*) cdum,lewis
READ(itape,*) cdum,lambda1
WRITE(otape,*) cdum,lambda1
READ(itape,*) cdum,lambda2
WRITE(otape,*) cdum,lambda2
READ(itape,*) cdum,beta1
WRITE(otape,*) cdum,beta1
READ(itape,*) cdum,hrp
WRITE(otape,*) cdum,hrp
READ(itape,*) cdum,le_a
WRITE(otape,*) cdum,le_a
READ(itape,*) cdum,le_x
WRITE(otape,*) cdum,le_x
! READ(itape,*) cdum,table_size
! WRITE(otape,*) cdum,table_size
! do i = 1:table_size
! READ(itape,*) cdum,rate_relaxation(1,i),rate_relaxation(2,i)
! WRITE(otape,*) cdum,rate_relaxation(1,i),rate_relaxation(2,i)
! end do
IF (.not.read_stdin) THEN
CLOSE(itape)
END IF
l_0=l_0*pi
hx=l_0/REAL(nx)
cdum='hx'
WRITE(otape,*) cdum,hx
cdum='Ta/Tu'
WRITE(otape,*) cdum,ac
cdum='Tb/Tu'
WRITE(otape,*) cdum,bc+1
diff=vis/sc
cdum='diff'
WRITE(otape,*) cdum,diff
refwr=pre*1.*exp(-ac/(1.+bc*c_ref))
END SUBROUTINE READ_INTRO
end module m_parameters