-
Notifications
You must be signed in to change notification settings - Fork 662
Closed
Description
The combustion mixing time is described in the Tech Guide:
It is implemented in the code (fire.f90) like this:
! Determine the mixing time for this cell
IF (FIXED_MIX_TIME>0._EB) THEN
MIX_TIME_OUT=FIXED_MIX_TIME
ELSE
D_F=0._EB
DO NR =1,N_REACTIONS
RN => REACTION(NR)
D_F = MAX(D_F,D_Z(MIN(I_MAX_TEMP-1,NINT(TMP_IN)),RN%FUEL_SMIX_INDEX))
ENDDO
TAU_D = DELTA**2/MAX(D_F,TWO_EPSILON_EB) ! FDS Tech Guide (5.14)
SELECT CASE(SIM_MODE)
CASE DEFAULT
C_U = 0.4_EB*C_DEARDORFF*SQRT(1.5_EB)
TAU_U = C_U*RHO_IN*DELTA**2/MAX(MU_IN,TWO_EPSILON_EB) ! FDS Tech Guide (5.15)
TAU_G = SQRT(2._EB*DELTA/(GRAV+1.E-10_EB)) ! FDS Tech Guide (5.16)
MIX_TIME_OUT= MAX(TAU_CHEM,MIN(TAU_D,TAU_U,TAU_G,TAU_FLAME)) ! FDS Tech Guide (5.13)
CASE (DNS_MODE)
MIX_TIME_OUT= MAX(TAU_CHEM,TAU_D)
END SELECT
ENDIF
Two requests:
- Could the code reflect what is written in the guide, assuming we do not unnecessarily add to CPU time?
- Could the 0.4 constant be made in input?
I don't recall if this was coded in this way for a reason or not, perhaps to save on flops?