Skip to content

Commit 3acd03b

Browse files
authored
Merge pull request #15581 from drjfloyd/master
FDS Source: Add back Flux MW
2 parents 663d2a5 + 184305a commit 3acd03b

File tree

9 files changed

+541
-227
lines changed

9 files changed

+541
-227
lines changed

Source/cons.f90

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,7 @@ MODULE GLOBAL_CONSTANTS
278278
LOGICAL :: STORE_FIRE_RESIDENCE=.FALSE. !< Flag for tracking residence time of spreading fire front over a surface
279279
LOGICAL :: STORE_LS_SPREAD_RATE=.FALSE. !< Flag for outputting local level set spread rate magnitude
280280
LOGICAL :: TEST_NEW_CHAR_MODEL=.FALSE. !< Flag to envoke new char model
281+
LOGICAL :: FLUX_LIMITER_MW_CORRECTION=.TRUE. !< Flag for MW correction ensure consistent equation of state at face
281282

282283
INTEGER, ALLOCATABLE, DIMENSION(:) :: CHANGE_TIME_STEP_INDEX !< Flag to indicate if a mesh needs to change time step
283284
INTEGER, ALLOCATABLE, DIMENSION(:) :: SETUP_PRESSURE_ZONES_INDEX !< Flag to indicate if a mesh needs to keep searching for ZONEs

Source/data.f90

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1360,42 +1360,6 @@ SUBROUTINE DEFINE_OUTPUT_QUANTITIES
13601360
OUTPUT_QUANTITY(553)%UNITS = 'm/s'
13611361
OUTPUT_QUANTITY(553)%SHORT_NAME = 'V_LS'
13621362

1363-
OUTPUT_QUANTITY(560)%NAME = 'BFX'
1364-
OUTPUT_QUANTITY(560)%UNITS = ''
1365-
OUTPUT_QUANTITY(560)%SHORT_NAME = 'bfx'
1366-
OUTPUT_QUANTITY(560)%CELL_POSITION = CELL_FACE
1367-
OUTPUT_QUANTITY(560)%IOR = 1
1368-
1369-
OUTPUT_QUANTITY(561)%NAME = 'BFY'
1370-
OUTPUT_QUANTITY(561)%UNITS = ''
1371-
OUTPUT_QUANTITY(561)%SHORT_NAME = 'bfy'
1372-
OUTPUT_QUANTITY(561)%CELL_POSITION = CELL_FACE
1373-
OUTPUT_QUANTITY(561)%IOR = 2
1374-
1375-
OUTPUT_QUANTITY(562)%NAME = 'BFZ'
1376-
OUTPUT_QUANTITY(562)%UNITS = ''
1377-
OUTPUT_QUANTITY(562)%SHORT_NAME = 'bfz'
1378-
OUTPUT_QUANTITY(562)%CELL_POSITION = CELL_FACE
1379-
OUTPUT_QUANTITY(562)%IOR = 3
1380-
1381-
OUTPUT_QUANTITY(563)%NAME = 'BFX MINUS'
1382-
OUTPUT_QUANTITY(563)%UNITS = ''
1383-
OUTPUT_QUANTITY(563)%SHORT_NAME = 'bfx-'
1384-
OUTPUT_QUANTITY(563)%CELL_POSITION = CELL_FACE
1385-
OUTPUT_QUANTITY(563)%IOR = 1
1386-
1387-
OUTPUT_QUANTITY(564)%NAME = 'BFY MINUS'
1388-
OUTPUT_QUANTITY(564)%UNITS = ''
1389-
OUTPUT_QUANTITY(564)%SHORT_NAME = 'bfy-'
1390-
OUTPUT_QUANTITY(564)%CELL_POSITION = CELL_FACE
1391-
OUTPUT_QUANTITY(564)%IOR = 2
1392-
1393-
OUTPUT_QUANTITY(565)%NAME = 'BFZ MINUS'
1394-
OUTPUT_QUANTITY(565)%UNITS = ''
1395-
OUTPUT_QUANTITY(565)%SHORT_NAME = 'bfz-'
1396-
OUTPUT_QUANTITY(565)%CELL_POSITION = CELL_FACE
1397-
OUTPUT_QUANTITY(565)%IOR = 3
1398-
13991363
! Boundary Quantities (Negative indices)
14001364

14011365
OUTPUT_QUANTITY(-1)%NAME = 'RADIATIVE HEAT FLUX'

Source/divg.f90

Lines changed: 145 additions & 69 deletions
Large diffs are not rendered by default.

Source/dump.f90

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8583,20 +8583,7 @@ REAL(EB) RECURSIVE FUNCTION GAS_PHASE_OUTPUT(T,DT,NM,II,JJ,KK,IND,IND2,Y_INDEX,Z
85838583
CASE(553) ! V_LS
85848584
GAS_PHASE_OUTPUT_RES = V_LS(II,JJ)
85858585

8586-
CASE(560) ! BFX
8587-
GAS_PHASE_OUTPUT_RES = BFX(II,JJ,KK)
8588-
CASE(561) ! BFY
8589-
GAS_PHASE_OUTPUT_RES = BFY(II,JJ,KK)
8590-
CASE(562) ! BFZ
8591-
GAS_PHASE_OUTPUT_RES = BFZ(II,JJ,KK)
8592-
CASE(563) ! BFX MINUS
8593-
GAS_PHASE_OUTPUT_RES = BFX(MAX(0,II-1),JJ,KK)
8594-
CASE(564) ! BFY MINUS
8595-
GAS_PHASE_OUTPUT_RES = BFY(II,MAX(0,JJ-1),KK)
8596-
CASE(565) ! BFZ MINUS
8597-
GAS_PHASE_OUTPUT_RES = BFZ(II,JJ,MAX(0,KK-1))
8598-
8599-
END SELECT IND_SELECT
8586+
END SELECT IND_SELECT
86008587

86018588
! Fill GAS_PHASE_OUTPUT for CUT_CELLs.
86028589
! Some variables have already been filled in fire.f90

Source/init.f90

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,7 @@ SUBROUTINE INITIALIZE_MESH_VARIABLES_1(DT,NM)
499499
USE RADCONS, ONLY: UIIDIM
500500
USE CONTROL_VARIABLES
501501
USE MATH_FUNCTIONS, ONLY: EVALUATE_RAMP
502-
INTEGER :: N,I,J,K,IZERO,NS,IW
502+
INTEGER :: N,I,J,K,IZERO,N_LOWER_SCALARS,NS,IW
503503
REAL(EB), INTENT(IN) :: DT
504504
INTEGER, INTENT(IN) :: NM
505505
REAL(EB) :: MU_N,CS,DELTA
@@ -595,6 +595,20 @@ SUBROUTINE INITIALIZE_MESH_VARIABLES_1(DT,NM)
595595

596596
ALLOCATE(M%RSUM(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO) ; CALL ChkMemErr('INIT','RSUM',IZERO) ; M%RSUM=RSUM0
597597

598+
! Allocate scalar face values
599+
600+
! Required for cell face density correction for multicomponent mixtures
601+
602+
IF (FLUX_LIMITER_MW_CORRECTION) THEN
603+
N_LOWER_SCALARS=0
604+
ELSE
605+
N_LOWER_SCALARS=1
606+
ENDIF
607+
608+
ALLOCATE( M%FX(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO); CALL ChkMemErr('INIT','FX',IZERO) ; M%FX=0._EB
609+
ALLOCATE( M%FY(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO); CALL ChkMemErr('INIT','FY',IZERO) ; M%FY=0._EB
610+
ALLOCATE( M%FZ(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO); CALL ChkMemErr('INIT','FZ',IZERO) ; M%FZ=0._EB
611+
598612
! Allocate storage for scalar total fluxes
599613

600614
IF (STORE_SPECIES_FLUX) THEN
@@ -682,9 +696,9 @@ SUBROUTINE INITIALIZE_MESH_VARIABLES_1(DT,NM)
682696
ALLOCATE(M%WORK9(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO) ; CALL ChkMemErr('INIT','WORK9',IZERO)
683697

684698
ALLOCATE(M%IWORK1(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO) ; CALL ChkMemErr('INIT','IWORK1',IZERO)
685-
ALLOCATE(M%SWORK1(0:IBP1,0:JBP1,0:KBP1,1:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SWORK1',IZERO)
686-
ALLOCATE(M%SWORK2(0:IBP1,0:JBP1,0:KBP1,1:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SWORK2',IZERO)
687-
ALLOCATE(M%SWORK3(0:IBP1,0:JBP1,0:KBP1,1:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SWORK3',IZERO)
699+
ALLOCATE(M%SWORK1(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SWORK1',IZERO)
700+
ALLOCATE(M%SWORK2(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SWORK2',IZERO)
701+
ALLOCATE(M%SWORK3(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SWORK3',IZERO)
688702
ALLOCATE(M%SWORK4(0:IBP1,0:JBP1,0:KBP1,1:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SWORK4',IZERO)
689703
M%IWORK1=0
690704
M%SWORK1=0._EB
@@ -819,23 +833,6 @@ SUBROUTINE INITIALIZE_MESH_VARIABLES_1(DT,NM)
819833
M%ZZS(:,:,:,N) = INITIAL_UNMIXED_FRACTION
820834
ENDDO
821835

822-
! Allocate scalar face values
823-
824-
ALLOCATE( M%FX(0:IBP1,0:JBP1,0:KBP1,1:N_TOTAL_SCALARS),STAT=IZERO); CALL ChkMemErr('INIT','FX',IZERO) ; M%FX=0._EB
825-
ALLOCATE( M%FY(0:IBP1,0:JBP1,0:KBP1,1:N_TOTAL_SCALARS),STAT=IZERO); CALL ChkMemErr('INIT','FY',IZERO) ; M%FY=0._EB
826-
ALLOCATE( M%FZ(0:IBP1,0:JBP1,0:KBP1,1:N_TOTAL_SCALARS),STAT=IZERO); CALL ChkMemErr('INIT','FZ',IZERO) ; M%FZ=0._EB
827-
DO N=1,N_TRACKED_SPECIES
828-
M%FX(:,:,:,N)=RHOA*SPECIES_MIXTURE(N)%ZZ0
829-
M%FY(:,:,:,N)=RHOA*SPECIES_MIXTURE(N)%ZZ0
830-
M%FZ(:,:,:,N)=RHOA*SPECIES_MIXTURE(N)%ZZ0
831-
ENDDO
832-
833-
! Allocate flux limiter coefficients
834-
835-
ALLOCATE( M%BFX(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO); CALL ChkMemErr('INIT','BFX',IZERO) ; M%BFX=0._EB
836-
ALLOCATE( M%BFY(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO); CALL ChkMemErr('INIT','BFY',IZERO) ; M%BFY=0._EB
837-
ALLOCATE( M%BFZ(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO); CALL ChkMemErr('INIT','BFZ',IZERO) ; M%BFZ=0._EB
838-
839836
! Allocate and Initialize Mesh-Dependent Radiation Arrays
840837

841838
M%QR = 0._EB

0 commit comments

Comments
 (0)