155 lines
4.1 KiB
Fortran
155 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 :: d_turb
|
|
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
|
|
integer :: fctrl_species=1
|
|
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) ! n grid points
|
|
CALL READ_PARAMETER (l_0) ! domain length
|
|
CALL READ_PARAMETER (int_pr) ! print interval
|
|
CALL READ_PARAMETER (tar_lo) ! target flame location
|
|
CALL READ_PARAMETER (dt) ! time step size
|
|
CALL READ_PARAMETER (sc) ! Schmidt Number
|
|
CALL READ_PARAMETER (vis) ! viscosity
|
|
|
|
CALL READ_PARAMETER (pre) ! 1-step chemistry
|
|
CALL READ_PARAMETER (ac) ! 1-step chemistry
|
|
CALL READ_PARAMETER (bc) ! 1-step chemistry
|
|
|
|
CALL READ_PARAMETER (u0) ! inlet velocity
|
|
CALL READ_PARAMETER (tf) ! end time
|
|
CALL READ_PARAMETER (dt_uf) ! flame control time step
|
|
CALL READ_PARAMETER (ctmp) ! unburned c value
|
|
|
|
CALL READ_PARAMETER (c_cut) ! reaction rate profile parameter
|
|
CALL READ_PARAMETER (c_ref) ! reaction rate profile parameter
|
|
CALL READ_PARAMETER (min_wr) ! reaction rate profile parameter
|
|
CALL READ_PARAMETER (prof_wr) ! reaction rate profile parameter
|
|
|
|
CALL READ_PARAMETER (lewis) ! Lewis number
|
|
|
|
CALL READ_PARAMETER (lambda1) ! 2-step chemistry
|
|
CALL READ_PARAMETER (lambda2) ! 2-step chemistry
|
|
CALL READ_PARAMETER (beta1) ! 2-step chemistry
|
|
CALL READ_PARAMETER (hrp) ! 2-step chemistry
|
|
CALL READ_PARAMETER (le_a) ! 2-step chemistry
|
|
CALL READ_PARAMETER (le_x) ! 2-step chemistry
|
|
|
|
CALL READ_PARAMETER (nsp) ! number of species
|
|
CALL READ_PARAMETER (nrxn) ! number of reactions
|
|
|
|
CALL READ_PARAMETER (d_turb) ! turbulent diffusivity
|
|
|
|
! 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
|