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