Skip to content

Commit 44bc019

Browse files
authored
Merge pull request #13889 from rmcdermo/master
FDS Source: update to FLUX_LIMITER_MW_CORRECTION
2 parents ded0f4e + 8ac5ae6 commit 44bc019

File tree

11 files changed

+302
-141
lines changed

11 files changed

+302
-141
lines changed

Source/ccib.f90

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8130,13 +8130,13 @@ SUBROUTINE SET_EXIMRHOZZLIM_3D(NM,N)
81308130

81318131
! Local Variables:
81328132
INTEGER :: I,J,K,X1AXIS
8133-
REAL(EB), POINTER, DIMENSION(:,:,:) :: FX_ZZ=>NULL(),FY_ZZ=>NULL(),FZ_ZZ=>NULL()
8133+
REAL(EB), POINTER, DIMENSION(:,:,:,:) :: FX_ZZ=>NULL(),FY_ZZ=>NULL(),FZ_ZZ=>NULL()
81348134
INTEGER :: IFACE,IW
81358135
TYPE(CC_REGFACEZ_TYPE), POINTER, DIMENSION(:) :: REGFACE_Z=>NULL()
81368136

8137-
FX_ZZ=>WORK2
8138-
FY_ZZ=>WORK3
8139-
FZ_ZZ=>WORK4
8137+
FX_ZZ=>SWORK1
8138+
FY_ZZ=>SWORK2
8139+
FZ_ZZ=>SWORK3
81408140

81418141
AXIS_DO : DO X1AXIS = IAXIS,KAXIS
81428142
SELECT CASE(X1AXIS)
@@ -8164,11 +8164,11 @@ SUBROUTINE SET_EXIMRHOZZLIM_3D(NM,N)
81648164
ELSE
81658165
SELECT CASE(X1AXIS)
81668166
CASE(IAXIS)
8167-
REGFACE_Z(IFACE)%FN_ZZ(N) = FX_ZZ(I,J,K)
8167+
REGFACE_Z(IFACE)%FN_ZZ(N) = FX_ZZ(I,J,K,N)
81688168
CASE(JAXIS)
8169-
REGFACE_Z(IFACE)%FN_ZZ(N) = FY_ZZ(I,J,K)
8169+
REGFACE_Z(IFACE)%FN_ZZ(N) = FY_ZZ(I,J,K,N)
81708170
CASE(KAXIS)
8171-
REGFACE_Z(IFACE)%FN_ZZ(N) = FZ_ZZ(I,J,K)
8171+
REGFACE_Z(IFACE)%FN_ZZ(N) = FZ_ZZ(I,J,K,N)
81728172
END SELECT
81738173
ENDIF
81748174
ENDDO IFACE_DO

Source/cons.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ MODULE GLOBAL_CONSTANTS
270270
LOGICAL :: TENSOR_DIFFUSIVITY=.FALSE. !< If true, use experimental tensor diffusivity model for spec and tmp
271271
LOGICAL :: OXPYRO_MODEL=.FALSE. !< Flag to use oxidative pyrolysis mass transfer model
272272
LOGICAL :: OUTPUT_WALL_QUANTITIES=.FALSE. !< Flag to force call to WALL_MODEL
273-
LOGICAL :: TEST_FLUX_LIMITER_FACE_CORRECTION=.FALSE.
273+
LOGICAL :: FLUX_LIMITER_MW_CORRECTION=.FALSE.
274274

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

Source/divg.f90

Lines changed: 250 additions & 91 deletions
Large diffs are not rendered by default.

Source/fire.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1616,7 +1616,7 @@ SUBROUTINE CONDENSATION_EVAPORATION(DT,NM)
16161616

16171617
CALL POINT_TO_MESH(NM)
16181618

1619-
ZZ_INTERIM=> SCALAR_WORK1
1619+
ZZ_INTERIM=> SWORK1
16201620
ZZ_INTERIM = ZZ
16211621
RHO_INTERIM => WORK1
16221622
RHO_INTERIM = RHO

Source/init.f90

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -188,18 +188,15 @@ SUBROUTINE INITIALIZE_MESH_VARIABLES_1(DT,NM)
188188
! Allocate scalar face values
189189

190190
! Required for cell face density correction for multicomponent mixtures
191-
IF (TEST_FLUX_LIMITER_FACE_CORRECTION .AND. N_TRACKED_SPECIES>2) THEN
191+
IF (FLUX_LIMITER_MW_CORRECTION) THEN
192192
N_LOWER_SCALARS=0
193193
ELSE
194194
N_LOWER_SCALARS=1
195195
ENDIF
196196

197-
ALLOCATE( M%FX(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO)
198-
CALL ChkMemErr('INIT','FX',IZERO)
199-
ALLOCATE( M%FY(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO)
200-
CALL ChkMemErr('INIT','FY',IZERO)
201-
ALLOCATE( M%FZ(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO)
202-
CALL ChkMemErr('INIT','FZ',IZERO)
197+
ALLOCATE( M%FX(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO); CALL ChkMemErr('INIT','FX',IZERO)
198+
ALLOCATE( M%FY(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO); CALL ChkMemErr('INIT','FY',IZERO)
199+
ALLOCATE( M%FZ(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO); CALL ChkMemErr('INIT','FZ',IZERO)
203200
M%FX = 0._EB
204201
M%FY = 0._EB
205202
M%FZ = 0._EB
@@ -306,16 +303,16 @@ SUBROUTINE INITIALIZE_MESH_VARIABLES_1(DT,NM)
306303
ALLOCATE(M%WORK8(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO) ; CALL ChkMemErr('INIT','WORK8',IZERO)
307304
ALLOCATE(M%WORK9(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO) ; CALL ChkMemErr('INIT','WORK9',IZERO)
308305

309-
ALLOCATE(M%IWORK1(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO) ; CALL ChkMemErr('INIT','IWORK1',IZERO)
310-
ALLOCATE(M%SCALAR_WORK1(0:IBP1,0:JBP1,0:KBP1,1:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SCALAR_WORK1',IZERO)
311-
ALLOCATE(M%SCALAR_WORK2(0:IBP1,0:JBP1,0:KBP1,1:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SCALAR_WORK2',IZERO)
312-
ALLOCATE(M%SCALAR_WORK3(0:IBP1,0:JBP1,0:KBP1,1:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SCALAR_WORK3',IZERO)
313-
ALLOCATE(M%SCALAR_WORK4(0:IBP1,0:JBP1,0:KBP1,1:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SCALAR_WORK4',IZERO)
306+
ALLOCATE(M%IWORK1(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO) ; CALL ChkMemErr('INIT','IWORK1',IZERO)
307+
ALLOCATE(M%SWORK1(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SWORK1',IZERO)
308+
ALLOCATE(M%SWORK2(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SWORK2',IZERO)
309+
ALLOCATE(M%SWORK3(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SWORK3',IZERO)
310+
ALLOCATE(M%SWORK4(0:IBP1,0:JBP1,0:KBP1,1:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SWORK4',IZERO)
314311
M%IWORK1=0
315-
M%SCALAR_WORK1=0._EB
316-
M%SCALAR_WORK2=0._EB
317-
M%SCALAR_WORK3=0._EB
318-
M%SCALAR_WORK4=0._EB
312+
M%SWORK1=0._EB
313+
M%SWORK2=0._EB
314+
M%SWORK3=0._EB
315+
M%SWORK4=0._EB
319316

320317
IF (STRATIFICATION) THEN
321318

Source/mass.f90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ SUBROUTINE MASS_FINITE_DIFFERENCES(NM)
178178

179179
ENDDO SPECIES_LOOP
180180

181-
FACE_CORRECTION_IF: IF (TEST_FLUX_LIMITER_FACE_CORRECTION) THEN
181+
FACE_CORRECTION_IF: IF (FLUX_LIMITER_MW_CORRECTION) THEN
182182

183183
! Repeat the above for DENSITY
184184

@@ -375,7 +375,7 @@ SUBROUTINE DENSITY(T,DT,NM)
375375
UU=>WORK1
376376
VV=>WORK2
377377
WW=>WORK3
378-
DEL_RHO_D_DEL_Z__0=>SCALAR_WORK4
378+
DEL_RHO_D_DEL_Z__0=>SWORK4
379379

380380
PREDICTOR_STEP: SELECT CASE (PREDICTOR)
381381

Source/mesh.f90

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,10 @@ MODULE MESH_VARIABLES
107107

108108
! Work arrays
109109

110-
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:,:) :: SCALAR_WORK1
111-
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:,:) :: SCALAR_WORK2
112-
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:,:) :: SCALAR_WORK3
113-
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:,:) :: SCALAR_WORK4
110+
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:,:) :: SWORK1
111+
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:,:) :: SWORK2
112+
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:,:) :: SWORK3
113+
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:,:) :: SWORK4
114114
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:) :: WORK1,WORK2,WORK3,WORK4,WORK5,WORK6,WORK7,WORK8,WORK9
115115
INTEGER, ALLOCATABLE, DIMENSION(:,:,:) :: IWORK1
116116
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:) :: PWORK1,PWORK2,PWORK3,PWORK4
@@ -349,7 +349,7 @@ MODULE MESH_POINTERS
349349
MU,MU_DNS,TMP,Q,KAPPA_GAS,CHI_R,QR,QR_W,UII,RSUM,D_SOURCE, &
350350
CSD2,MTR,MSR,WEM,MIX_TIME,CHEM_SUBIT,STRAIN_RATE,D_Z_MAX,PP_RESIDUAL,LES_FILTER_WIDTH
351351
REAL(EB), POINTER, DIMENSION(:,:,:,:) :: ZZ,ZZS,REAC_SOURCE_TERM,DEL_RHO_D_DEL_Z,FX,FY,FZ, &
352-
SCALAR_WORK1,SCALAR_WORK2,SCALAR_WORK3,SCALAR_WORK4, &
352+
SWORK1,SWORK2,SWORK3,SWORK4, &
353353
Q_REAC,AVG_DROP_DEN,AVG_DROP_TMP,AVG_DROP_RAD,AVG_DROP_AREA,M_DOT_PPP, &
354354
ADV_FX,ADV_FY,ADV_FZ,DIF_FX,DIF_FY,DIF_FZ,DIF_FXS,DIF_FYS,DIF_FZS
355355
INTEGER, POINTER, DIMENSION(:,:) :: CHEM_ACTIVE_CELLS
@@ -551,10 +551,10 @@ SUBROUTINE POINT_TO_MESH(NM)
551551
DIF_FXS=>M%DIF_FXS
552552
DIF_FYS=>M%DIF_FYS
553553
DIF_FZS=>M%DIF_FZS
554-
SCALAR_WORK1=>M%SCALAR_WORK1
555-
SCALAR_WORK2=>M%SCALAR_WORK2
556-
SCALAR_WORK3=>M%SCALAR_WORK3
557-
SCALAR_WORK4=>M%SCALAR_WORK4
554+
SWORK1=>M%SWORK1
555+
SWORK2=>M%SWORK2
556+
SWORK3=>M%SWORK3
557+
SWORK4=>M%SWORK4
558558
WORK=>M%WORK
559559
LSAVE=>M%LSAVE
560560
LWORK=>M%LWORK

Source/part.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3634,7 +3634,7 @@ SUBROUTINE PARTICLE_MASS_ENERGY_TRANSFER(T,DT,NM)
36343634

36353635
RHO_INTERIM => WORK1 ; RHO_INTERIM = RHO
36363636
TMP_INTERIM => WORK2 ; TMP_INTERIM = TMP
3637-
ZZ_INTERIM => SCALAR_WORK1 ; ZZ_INTERIM = ZZ
3637+
ZZ_INTERIM => SWORK1 ; ZZ_INTERIM = ZZ
36383638

36393639
ENDIF
36403640

Source/read.f90

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1745,7 +1745,7 @@ SUBROUTINE READ_MISC
17451745
RAMP_UX,RAMP_UY,RAMP_UZ,RAMP_VX,RAMP_VY,RAMP_VZ,RAMP_WX,RAMP_WY,RAMP_WZ,&
17461746
RESTART,RESTART_CHID,SC,&
17471747
RND_SEED,SIMULATION_MODE,SMOKE3D_16,SMOKE_ALBEDO,SOLID_PHASE_ONLY,SOOT_DENSITY,SOOT_OXIDATION,&
1748-
TAU_DEFAULT,TENSOR_DIFFUSIVITY,TERRAIN_IMAGE,TEST_FLUX_LIMITER_FACE_CORRECTION,TEXTURE_ORIGIN,&
1748+
TAU_DEFAULT,TENSOR_DIFFUSIVITY,TERRAIN_IMAGE,FLUX_LIMITER_MW_CORRECTION,TEXTURE_ORIGIN,&
17491749
THERMOPHORETIC_DEPOSITION,THERMOPHORETIC_SETTLING,THICKEN_OBSTRUCTIONS,&
17501750
TMPA,TURBULENCE_MODEL,TURBULENT_DEPOSITION,UVW_FILE,&
17511751
VERBOSE,VISIBILITY_FACTOR,VN_MAX,VN_MIN,Y_CO2_INFTY,Y_O2_INFTY,&
@@ -2823,7 +2823,12 @@ SUBROUTINE READ_SPEC
28232823
N_TRACKED_SPECIES = N_LUMPED + N_COPY + N_TOTAL_BINS + N_PREDEFINED_SMIX + N_CONDENSATION
28242824
N_TOTAL_SCALARS = N_TRACKED_SPECIES + N_PASSIVE_SCALARS
28252825

2826-
! Allocate the primitive species array.
2826+
! Only allow use of flux limiter molecular weight correction if N_TRACKED_SPECIES>2
2827+
2828+
IF (N_TRACKED_SPECIES<=2) FLUX_LIMITER_MW_CORRECTION=.FALSE.
2829+
2830+
! Allocate the primitive species array
2831+
28272832
ALLOCATE(SPECIES(N_SPECIES),STAT=IZERO)
28282833
CALL ChkMemErr('READ','SPECIES',IZERO)
28292834
ALLOCATE(Y_INDEX(N_SPECIES))

Source/turb.f90

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1651,9 +1651,9 @@ SUBROUTINE TENSOR_DIFFUSIVITY_MODEL(NM,OPT_N)
16511651
! SGS scalar flux
16521652
! CAUTION: The flux arrays must point to the same work arrays used in DIVERGENCE_PART_1
16531653
! Note: Do not reinitialize! RHO_D_DZDX, etc., already store molecular diffusive flux
1654-
RHO_D_DZDX=>SCALAR_WORK1
1655-
RHO_D_DZDY=>SCALAR_WORK2
1656-
RHO_D_DZDZ=>SCALAR_WORK3
1654+
RHO_D_DZDX=>SWORK1
1655+
RHO_D_DZDY=>SWORK2
1656+
RHO_D_DZDZ=>SWORK3
16571657

16581658
IF (PREDICTOR) THEN
16591659
UU=>U

0 commit comments

Comments
 (0)