145 lines
3.3 KiB
Fortran
145 lines
3.3 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 :: nsp, nrxn
|
|
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')
|
|
CALL READ_PARAMETER (nx)
|
|
CALL READ_PARAMETER (l_0)
|
|
CALL READ_PARAMETER (int_pr)
|
|
CALL READ_PARAMETER (tar_lo)
|
|
CALL READ_PARAMETER (dt)
|
|
CALL READ_PARAMETER (sc)
|
|
CALL READ_PARAMETER (vis)
|
|
CALL READ_PARAMETER (pre)
|
|
CALL READ_PARAMETER (ac)
|
|
CALL READ_PARAMETER (bc)
|
|
CALL READ_PARAMETER (u0)
|
|
CALL READ_PARAMETER (tf)
|
|
CALL READ_PARAMETER (dt_uf)
|
|
CALL READ_PARAMETER (ctmp)
|
|
CALL READ_PARAMETER (c_cut)
|
|
CALL READ_PARAMETER (c_ref)
|
|
CALL READ_PARAMETER (min_wr)
|
|
CALL READ_PARAMETER (prof_wr)
|
|
CALL READ_PARAMETER (lewis)
|
|
CALL READ_PARAMETER (lambda1)
|
|
CALL READ_PARAMETER (lambda2)
|
|
CALL READ_PARAMETER (beta1)
|
|
CALL READ_PARAMETER (hrp)
|
|
CALL READ_PARAMETER (le_a)
|
|
CALL READ_PARAMETER (le_x)
|
|
CALL READ_PARAMETER (nsp)
|
|
CALL READ_PARAMETER (nrxn)
|
|
|
|
! 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
|