diff --git a/Manuals/FDS_User_Guide/FDS_User_Guide.tex b/Manuals/FDS_User_Guide/FDS_User_Guide.tex index 2e81958e49..1dd7284c81 100644 --- a/Manuals/FDS_User_Guide/FDS_User_Guide.tex +++ b/Manuals/FDS_User_Guide/FDS_User_Guide.tex @@ -11794,7 +11794,7 @@ \chapter{Alphabetical List of Input Parameters} % ignore namelist/keyword combinations % ignorenamelistkw: /BNDF/DEBUG -% ignorenamelistkw: /COMB/FUEL_ID_FOR_AFT, /COMB/USE_MIXED_ZN_AFT_TMP +% ignorenamelistkw: /COMB/FUEL_ID_FOR_AFT, /COMB/USE_MIXED_ZN_AFT_TMP, /COMB/VARIABLE_CFT % ignorenamelistkw: /DEVC/ELEM_ID, /DEVC/STATISTICS % ignorenamelistkw: /DUMP/MMS_TIMER, /DUMP/TURB_INIT_CLOCK, /DUMP/GET_CUTCELLS_VERBOSE, /DUMP/WRITE_CVODE_SUBSTEPS % ignorenamelistkw: /HVAC/DEBUG diff --git a/Source/cons.f90 b/Source/cons.f90 index 627eacab7d..670ea821b3 100644 --- a/Source/cons.f90 +++ b/Source/cons.f90 @@ -448,6 +448,7 @@ MODULE GLOBAL_CONSTANTS LOGICAL :: OUTPUT_CHEM_IT=.FALSE. LOGICAL :: REAC_SOURCE_CHECK=.FALSE. LOGICAL :: COMPUTE_ADIABATIC_FLAME_TEMPERATURE=.FALSE. !< Report adiabatic flame temperature per REAC in LU_OUTPUT +LOGICAL :: VARIABLE_CFT=.FALSE. !< Experimental critical flame temp concept REAL(EB) :: RSUM0 !< Initial specific gas constant, \f$ R \sum_i Z_{i,0}/W_i \f$ diff --git a/Source/fire.f90 b/Source/fire.f90 index d9a3f562a9..36052b18e5 100644 --- a/Source/fire.f90 +++ b/Source/fire.f90 @@ -996,7 +996,7 @@ SUBROUTINE COMBUSTION_MODEL(T,DT,ZZ_GET,Q_OUT,MIX_TIME_OUT,CHI_R_OUT,CHEM_SUBIT_ IF (SUPPRESSION .AND. .NOT.EXTINCT) THEN SELECT CASE(EXTINCT_MOD) CASE(EXTINCTION_1); CALL EXTINCT_1(EXTINCT,ZZ_0,TMP_IN) - CASE(EXTINCTION_2); CALL EXTINCT_2(EXTINCT,ZZ_0,ZZ_MIXED,TMP_IN) + CASE(EXTINCTION_2); CALL EXTINCT_2(EXTINCT,ZZ_0,ZZ_MIXED,TMP_IN,TAU_MIX) END SELECT ENDIF @@ -1417,10 +1417,10 @@ END SUBROUTINE EXTINCT_1 !> \param ZZ_IN Array of lumped species mass fractions in the mixed part of the grid cell at the end of the time step !> \param TMP_IN Initial temperature of the grid cell -SUBROUTINE EXTINCT_2(EXTINCT,ZZ_0,ZZ_IN,TMP_IN) +SUBROUTINE EXTINCT_2(EXTINCT,ZZ_0,ZZ_IN,TMP_IN,TAU_MIX) USE PHYSICAL_FUNCTIONS, ONLY: GET_ENTHALPY -REAL(EB),INTENT(IN) :: TMP_IN,ZZ_IN(1:N_TRACKED_SPECIES),ZZ_0(1:N_TRACKED_SPECIES) +REAL(EB),INTENT(IN) :: TMP_IN,ZZ_IN(1:N_TRACKED_SPECIES),ZZ_0(1:N_TRACKED_SPECIES),TAU_MIX LOGICAL, INTENT(INOUT) :: EXTINCT REAL(EB) :: ZZ_HAT_0(1:N_TRACKED_SPECIES),ZZ_HAT(1:N_TRACKED_SPECIES),H_0,H_CRIT,PHI_TILDE,CFT INTEGER :: NS,NR @@ -1443,7 +1443,11 @@ SUBROUTINE EXTINCT_2(EXTINCT,ZZ_0,ZZ_IN,TMP_IN) RETURN ENDIF -CFT = SUM_CFT/SUM_ZZ +IF (VARIABLE_CFT) THEN + CFT = 1522.1_EB*(1000._EB*TAU_MIX)**(-0.038_EB) ! Experimental mechanism, U of Ghent +ELSE + CFT = SUM_CFT/SUM_ZZ +ENDIF ! Compute the modified cell equivalence ratio diff --git a/Source/read.f90 b/Source/read.f90 index 783befa6bb..ee53476d49 100644 --- a/Source/read.f90 +++ b/Source/read.f90 @@ -4522,7 +4522,7 @@ SUBROUTINE READ_COMB EXTINCTION_MODEL,FINITE_RATE_MIN_TEMP, FIXED_MIX_TIME,FREE_BURN_TEMPERATURE, & FUEL_ID_FOR_AFT,INITIAL_UNMIXED_FRACTION, MAX_CHEMISTRY_SUBSTEPS, MAX_EQUIV_RATIO, MIN_EQUIV_RATIO, & N_FIXED_CHEMISTRY_SUBSTEPS, ODE_MIN_ATOL,ODE_REL_ERROR,ODE_SOLVER,SUPPRESSION,TAU_CHEM, & - TAU_FLAME,TURBULENT_FLAME_SPEED,RAMP_ZETA_0,USE_MIXED_ZN_AFT_TMP,ZZ_MIN_GLOBAL + TAU_FLAME,TURBULENT_FLAME_SPEED,RAMP_ZETA_0,USE_MIXED_ZN_AFT_TMP,VARIABLE_CFT,ZZ_MIN_GLOBAL ODE_SOLVER = 'null' ODE_REL_ERROR = -1._EB