Skip to content

Consistency between code and documentation of mixing time #15306

@mcgratta

Description

@mcgratta

The combustion mixing time is described in the Tech Guide:

Image

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:

  1. Could the code reflect what is written in the guide, assuming we do not unnecessarily add to CPU time?
  2. 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?

Metadata

Metadata

Assignees

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions