reaction rate function

This commit is contained in:
ignis 2019-04-19 16:29:13 +09:00
parent 3265a058f5
commit c35332134a
3 changed files with 28 additions and 22 deletions

View file

@ -107,4 +107,26 @@ contains
end subroutine tp2
real function rxn_rate (c)
real :: c
if (c.le.c_cut) then
rxn_rate = min_wr
else if (c.gt.c_ref) then
rxn_rate = pre*(1.-c)*exp(-ac/(1.+bc*c))
else
rxn_rate = &
((refwr-min_wr)*exp(prof_wr*(c-c_ref)) + min_wr - refwr*exp(prof_wr*(c_cut-c_ref))) &
/ (1.-exp(prof_wr*(c_cut-c_ref)))
endif
end function rxn_rate
end module m_calculate

View file

@ -113,6 +113,10 @@ subroutine read_intro
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)

View file

@ -1,6 +1,7 @@
MODULE post
USE Compact
USE m_parameters
USE m_calculate
USE m_arrays
USE m_terms
@ -184,9 +185,6 @@
SUBROUTINE CAL_Yrs
INTEGER :: i,j,k
REAL :: wrate,yi,rpr
rpr=1./prp/lep ! 1/Sc
refwr=pre*1.*exp(-ac/(1.+bc*c_ref)) ! wrate at c_ref
DO k=1,nzp
DO j=1,nyp
@ -203,30 +201,12 @@
if(c(i,j,k).lt.0.) c(i,j,k)=0. ! 141011
if(c(i,j,k).gt.1.) c(i,j,k)=1. ! 141011
! wrate=pre*yi*exp(-ac/(1.+bcc*(1.-yi))) !wrate
! IF ((1.-yi).le.ccut) THEN
! wrate=pre*yi*exp(-cs/(1.+bcc*(1.-yi))) !wrate
! ENDIF
wrate=pre*yi*exp(-ac/(1.+bc*(1.-yi))) !wrate
! Cold boundary treatment, Kwon ------------------------------------------------
! min_wr=0.
IF (c(i,j,k).le.c_ref) THEN
wrate=min_wr
IF (c(i,j,k).gt.c_cut) wrate=((refwr-min_wr)*exp(prof_wr*(c(i,j,k)-c_ref))+ &
min_wr-refwr*exp(prof_wr*(c_cut-c_ref)))/(1.-exp(prof_wr*(c_cut-c_ref)))
ENDIF
! ------------------------------------------------------------------------------
Wc(i,j,k)=wrate
Wc(i,j,k)=rxn_rate(c(i,j,k))
ENDDO
ENDDO
ENDDO
rod=vis0p*rpr ! vis0p dynamic viscosity, rod= density*mass diffusivity = rho*D
END SUBROUTINE CAL_Yrs
! SUBROUTINE CAL_CGM_N