Skip to content

Commit

Permalink
Merge pull request #13889 from rmcdermo/master
Browse files Browse the repository at this point in the history
FDS Source: update to FLUX_LIMITER_MW_CORRECTION
  • Loading branch information
rmcdermo authored Dec 13, 2024
2 parents ded0f4e + 8ac5ae6 commit 44bc019
Show file tree
Hide file tree
Showing 11 changed files with 302 additions and 141 deletions.
14 changes: 7 additions & 7 deletions Source/ccib.f90
Original file line number Diff line number Diff line change
Expand Up @@ -8130,13 +8130,13 @@ SUBROUTINE SET_EXIMRHOZZLIM_3D(NM,N)

! Local Variables:
INTEGER :: I,J,K,X1AXIS
REAL(EB), POINTER, DIMENSION(:,:,:) :: FX_ZZ=>NULL(),FY_ZZ=>NULL(),FZ_ZZ=>NULL()
REAL(EB), POINTER, DIMENSION(:,:,:,:) :: FX_ZZ=>NULL(),FY_ZZ=>NULL(),FZ_ZZ=>NULL()
INTEGER :: IFACE,IW
TYPE(CC_REGFACEZ_TYPE), POINTER, DIMENSION(:) :: REGFACE_Z=>NULL()

FX_ZZ=>WORK2
FY_ZZ=>WORK3
FZ_ZZ=>WORK4
FX_ZZ=>SWORK1
FY_ZZ=>SWORK2
FZ_ZZ=>SWORK3

AXIS_DO : DO X1AXIS = IAXIS,KAXIS
SELECT CASE(X1AXIS)
Expand Down Expand Up @@ -8164,11 +8164,11 @@ SUBROUTINE SET_EXIMRHOZZLIM_3D(NM,N)
ELSE
SELECT CASE(X1AXIS)
CASE(IAXIS)
REGFACE_Z(IFACE)%FN_ZZ(N) = FX_ZZ(I,J,K)
REGFACE_Z(IFACE)%FN_ZZ(N) = FX_ZZ(I,J,K,N)
CASE(JAXIS)
REGFACE_Z(IFACE)%FN_ZZ(N) = FY_ZZ(I,J,K)
REGFACE_Z(IFACE)%FN_ZZ(N) = FY_ZZ(I,J,K,N)
CASE(KAXIS)
REGFACE_Z(IFACE)%FN_ZZ(N) = FZ_ZZ(I,J,K)
REGFACE_Z(IFACE)%FN_ZZ(N) = FZ_ZZ(I,J,K,N)
END SELECT
ENDIF
ENDDO IFACE_DO
Expand Down
2 changes: 1 addition & 1 deletion Source/cons.f90
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ MODULE GLOBAL_CONSTANTS
LOGICAL :: TENSOR_DIFFUSIVITY=.FALSE. !< If true, use experimental tensor diffusivity model for spec and tmp
LOGICAL :: OXPYRO_MODEL=.FALSE. !< Flag to use oxidative pyrolysis mass transfer model
LOGICAL :: OUTPUT_WALL_QUANTITIES=.FALSE. !< Flag to force call to WALL_MODEL
LOGICAL :: TEST_FLUX_LIMITER_FACE_CORRECTION=.FALSE.
LOGICAL :: FLUX_LIMITER_MW_CORRECTION=.FALSE.

INTEGER, ALLOCATABLE, DIMENSION(:) :: CHANGE_TIME_STEP_INDEX !< Flag to indicate if a mesh needs to change time step
INTEGER, ALLOCATABLE, DIMENSION(:) :: SETUP_PRESSURE_ZONES_INDEX !< Flag to indicate if a mesh needs to keep searching for ZONEs
Expand Down
341 changes: 250 additions & 91 deletions Source/divg.f90

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion Source/fire.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1616,7 +1616,7 @@ SUBROUTINE CONDENSATION_EVAPORATION(DT,NM)

CALL POINT_TO_MESH(NM)

ZZ_INTERIM=> SCALAR_WORK1
ZZ_INTERIM=> SWORK1
ZZ_INTERIM = ZZ
RHO_INTERIM => WORK1
RHO_INTERIM = RHO
Expand Down
29 changes: 13 additions & 16 deletions Source/init.f90
Original file line number Diff line number Diff line change
Expand Up @@ -188,18 +188,15 @@ SUBROUTINE INITIALIZE_MESH_VARIABLES_1(DT,NM)
! Allocate scalar face values

! Required for cell face density correction for multicomponent mixtures
IF (TEST_FLUX_LIMITER_FACE_CORRECTION .AND. N_TRACKED_SPECIES>2) THEN
IF (FLUX_LIMITER_MW_CORRECTION) THEN
N_LOWER_SCALARS=0
ELSE
N_LOWER_SCALARS=1
ENDIF

ALLOCATE( M%FX(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO)
CALL ChkMemErr('INIT','FX',IZERO)
ALLOCATE( M%FY(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO)
CALL ChkMemErr('INIT','FY',IZERO)
ALLOCATE( M%FZ(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO)
CALL ChkMemErr('INIT','FZ',IZERO)
ALLOCATE( M%FX(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO); CALL ChkMemErr('INIT','FX',IZERO)
ALLOCATE( M%FY(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO); CALL ChkMemErr('INIT','FY',IZERO)
ALLOCATE( M%FZ(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO); CALL ChkMemErr('INIT','FZ',IZERO)
M%FX = 0._EB
M%FY = 0._EB
M%FZ = 0._EB
Expand Down Expand Up @@ -306,16 +303,16 @@ SUBROUTINE INITIALIZE_MESH_VARIABLES_1(DT,NM)
ALLOCATE(M%WORK8(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO) ; CALL ChkMemErr('INIT','WORK8',IZERO)
ALLOCATE(M%WORK9(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO) ; CALL ChkMemErr('INIT','WORK9',IZERO)

ALLOCATE(M%IWORK1(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO) ; CALL ChkMemErr('INIT','IWORK1',IZERO)
ALLOCATE(M%SCALAR_WORK1(0:IBP1,0:JBP1,0:KBP1,1:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SCALAR_WORK1',IZERO)
ALLOCATE(M%SCALAR_WORK2(0:IBP1,0:JBP1,0:KBP1,1:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SCALAR_WORK2',IZERO)
ALLOCATE(M%SCALAR_WORK3(0:IBP1,0:JBP1,0:KBP1,1:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SCALAR_WORK3',IZERO)
ALLOCATE(M%SCALAR_WORK4(0:IBP1,0:JBP1,0:KBP1,1:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SCALAR_WORK4',IZERO)
ALLOCATE(M%IWORK1(0:IBP1,0:JBP1,0:KBP1),STAT=IZERO) ; CALL ChkMemErr('INIT','IWORK1',IZERO)
ALLOCATE(M%SWORK1(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SWORK1',IZERO)
ALLOCATE(M%SWORK2(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SWORK2',IZERO)
ALLOCATE(M%SWORK3(0:IBP1,0:JBP1,0:KBP1,N_LOWER_SCALARS:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SWORK3',IZERO)
ALLOCATE(M%SWORK4(0:IBP1,0:JBP1,0:KBP1,1:N_TOTAL_SCALARS),STAT=IZERO) ; CALL ChkMemErr('INIT','SWORK4',IZERO)
M%IWORK1=0
M%SCALAR_WORK1=0._EB
M%SCALAR_WORK2=0._EB
M%SCALAR_WORK3=0._EB
M%SCALAR_WORK4=0._EB
M%SWORK1=0._EB
M%SWORK2=0._EB
M%SWORK3=0._EB
M%SWORK4=0._EB

IF (STRATIFICATION) THEN

Expand Down
4 changes: 2 additions & 2 deletions Source/mass.f90
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ SUBROUTINE MASS_FINITE_DIFFERENCES(NM)

ENDDO SPECIES_LOOP

FACE_CORRECTION_IF: IF (TEST_FLUX_LIMITER_FACE_CORRECTION) THEN
FACE_CORRECTION_IF: IF (FLUX_LIMITER_MW_CORRECTION) THEN

! Repeat the above for DENSITY

Expand Down Expand Up @@ -375,7 +375,7 @@ SUBROUTINE DENSITY(T,DT,NM)
UU=>WORK1
VV=>WORK2
WW=>WORK3
DEL_RHO_D_DEL_Z__0=>SCALAR_WORK4
DEL_RHO_D_DEL_Z__0=>SWORK4

PREDICTOR_STEP: SELECT CASE (PREDICTOR)

Expand Down
18 changes: 9 additions & 9 deletions Source/mesh.f90
Original file line number Diff line number Diff line change
Expand Up @@ -107,10 +107,10 @@ MODULE MESH_VARIABLES

! Work arrays

REAL(EB), ALLOCATABLE, DIMENSION(:,:,:,:) :: SCALAR_WORK1
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:,:) :: SCALAR_WORK2
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:,:) :: SCALAR_WORK3
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:,:) :: SCALAR_WORK4
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:,:) :: SWORK1
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:,:) :: SWORK2
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:,:) :: SWORK3
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:,:) :: SWORK4
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:) :: WORK1,WORK2,WORK3,WORK4,WORK5,WORK6,WORK7,WORK8,WORK9
INTEGER, ALLOCATABLE, DIMENSION(:,:,:) :: IWORK1
REAL(EB), ALLOCATABLE, DIMENSION(:,:,:) :: PWORK1,PWORK2,PWORK3,PWORK4
Expand Down Expand Up @@ -349,7 +349,7 @@ MODULE MESH_POINTERS
MU,MU_DNS,TMP,Q,KAPPA_GAS,CHI_R,QR,QR_W,UII,RSUM,D_SOURCE, &
CSD2,MTR,MSR,WEM,MIX_TIME,CHEM_SUBIT,STRAIN_RATE,D_Z_MAX,PP_RESIDUAL,LES_FILTER_WIDTH
REAL(EB), POINTER, DIMENSION(:,:,:,:) :: ZZ,ZZS,REAC_SOURCE_TERM,DEL_RHO_D_DEL_Z,FX,FY,FZ, &
SCALAR_WORK1,SCALAR_WORK2,SCALAR_WORK3,SCALAR_WORK4, &
SWORK1,SWORK2,SWORK3,SWORK4, &
Q_REAC,AVG_DROP_DEN,AVG_DROP_TMP,AVG_DROP_RAD,AVG_DROP_AREA,M_DOT_PPP, &
ADV_FX,ADV_FY,ADV_FZ,DIF_FX,DIF_FY,DIF_FZ,DIF_FXS,DIF_FYS,DIF_FZS
INTEGER, POINTER, DIMENSION(:,:) :: CHEM_ACTIVE_CELLS
Expand Down Expand Up @@ -551,10 +551,10 @@ SUBROUTINE POINT_TO_MESH(NM)
DIF_FXS=>M%DIF_FXS
DIF_FYS=>M%DIF_FYS
DIF_FZS=>M%DIF_FZS
SCALAR_WORK1=>M%SCALAR_WORK1
SCALAR_WORK2=>M%SCALAR_WORK2
SCALAR_WORK3=>M%SCALAR_WORK3
SCALAR_WORK4=>M%SCALAR_WORK4
SWORK1=>M%SWORK1
SWORK2=>M%SWORK2
SWORK3=>M%SWORK3
SWORK4=>M%SWORK4
WORK=>M%WORK
LSAVE=>M%LSAVE
LWORK=>M%LWORK
Expand Down
2 changes: 1 addition & 1 deletion Source/part.f90
Original file line number Diff line number Diff line change
Expand Up @@ -3634,7 +3634,7 @@ SUBROUTINE PARTICLE_MASS_ENERGY_TRANSFER(T,DT,NM)

RHO_INTERIM => WORK1 ; RHO_INTERIM = RHO
TMP_INTERIM => WORK2 ; TMP_INTERIM = TMP
ZZ_INTERIM => SCALAR_WORK1 ; ZZ_INTERIM = ZZ
ZZ_INTERIM => SWORK1 ; ZZ_INTERIM = ZZ

ENDIF

Expand Down
9 changes: 7 additions & 2 deletions Source/read.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1745,7 +1745,7 @@ SUBROUTINE READ_MISC
RAMP_UX,RAMP_UY,RAMP_UZ,RAMP_VX,RAMP_VY,RAMP_VZ,RAMP_WX,RAMP_WY,RAMP_WZ,&
RESTART,RESTART_CHID,SC,&
RND_SEED,SIMULATION_MODE,SMOKE3D_16,SMOKE_ALBEDO,SOLID_PHASE_ONLY,SOOT_DENSITY,SOOT_OXIDATION,&
TAU_DEFAULT,TENSOR_DIFFUSIVITY,TERRAIN_IMAGE,TEST_FLUX_LIMITER_FACE_CORRECTION,TEXTURE_ORIGIN,&
TAU_DEFAULT,TENSOR_DIFFUSIVITY,TERRAIN_IMAGE,FLUX_LIMITER_MW_CORRECTION,TEXTURE_ORIGIN,&
THERMOPHORETIC_DEPOSITION,THERMOPHORETIC_SETTLING,THICKEN_OBSTRUCTIONS,&
TMPA,TURBULENCE_MODEL,TURBULENT_DEPOSITION,UVW_FILE,&
VERBOSE,VISIBILITY_FACTOR,VN_MAX,VN_MIN,Y_CO2_INFTY,Y_O2_INFTY,&
Expand Down Expand Up @@ -2823,7 +2823,12 @@ SUBROUTINE READ_SPEC
N_TRACKED_SPECIES = N_LUMPED + N_COPY + N_TOTAL_BINS + N_PREDEFINED_SMIX + N_CONDENSATION
N_TOTAL_SCALARS = N_TRACKED_SPECIES + N_PASSIVE_SCALARS

! Allocate the primitive species array.
! Only allow use of flux limiter molecular weight correction if N_TRACKED_SPECIES>2

IF (N_TRACKED_SPECIES<=2) FLUX_LIMITER_MW_CORRECTION=.FALSE.

! Allocate the primitive species array

ALLOCATE(SPECIES(N_SPECIES),STAT=IZERO)
CALL ChkMemErr('READ','SPECIES',IZERO)
ALLOCATE(Y_INDEX(N_SPECIES))
Expand Down
6 changes: 3 additions & 3 deletions Source/turb.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1651,9 +1651,9 @@ SUBROUTINE TENSOR_DIFFUSIVITY_MODEL(NM,OPT_N)
! SGS scalar flux
! CAUTION: The flux arrays must point to the same work arrays used in DIVERGENCE_PART_1
! Note: Do not reinitialize! RHO_D_DZDX, etc., already store molecular diffusive flux
RHO_D_DZDX=>SCALAR_WORK1
RHO_D_DZDY=>SCALAR_WORK2
RHO_D_DZDZ=>SCALAR_WORK3
RHO_D_DZDX=>SWORK1
RHO_D_DZDY=>SWORK2
RHO_D_DZDZ=>SWORK3

IF (PREDICTOR) THEN
UU=>U
Expand Down
16 changes: 8 additions & 8 deletions Source/wall.f90
Original file line number Diff line number Diff line change
Expand Up @@ -653,7 +653,7 @@ SUBROUTINE SURFACE_HEAT_TRANSFER(NM,T,SF,BC,B1,WALL_INDEX,CFACE_INDEX,PARTICLE_I

! Correction for variable molecular weights

IF (TEST_FLUX_LIMITER_FACE_CORRECTION) THEN
IF (FLUX_LIMITER_MW_CORRECTION) THEN
ZZ_GET(1:N_TRACKED_SPECIES) = ZZP(BC%IIG,BC%JJG,BC%KKG,1:N_TRACKED_SPECIES); CALL GET_MOLECULAR_WEIGHT(ZZ_GET,MW_G)
ZZ_GET(1:N_TRACKED_SPECIES) = ZZP(BC%II,BC%JJ,BC%KK,1:N_TRACKED_SPECIES) ; CALL GET_MOLECULAR_WEIGHT(ZZ_GET,MW_OTHER)
IF (SECOND_ORDER_INTERPOLATED_BOUNDARY) THEN
Expand Down Expand Up @@ -692,7 +692,7 @@ SUBROUTINE SURFACE_HEAT_TRANSFER(NM,T,SF,BC,B1,WALL_INDEX,CFACE_INDEX,PARTICLE_I
RHO_OTHER_2 = OM_RHOP(IIO-1,JJO,KKO)
ENDIF
Z_TEMP(0:3,1,1) = (/RHO_OTHER_2,RHO_OTHER,B1%RHO_G,RHO_G_2/)
IF (TEST_FLUX_LIMITER_FACE_CORRECTION) Z_TEMP(0:3,1,1) = Z_TEMP(0:3,1,1)/(/MW_OTHER_2,MW_OTHER,MW_G,MW_G_2/)
IF (FLUX_LIMITER_MW_CORRECTION) Z_TEMP(0:3,1,1) = Z_TEMP(0:3,1,1)/(/MW_OTHER_2,MW_OTHER,MW_G,MW_G_2/)
U_TEMP(1,1,1) = UU(BC%II,BC%JJ,BC%KK)
CALL GET_SCALAR_FACE_VALUE(U_TEMP,Z_TEMP,F_TEMP,1,1,1,1,1,1,1,I_FLUX_LIMITER)
B1%RHO_F = F_TEMP(1,1,1)
Expand All @@ -702,7 +702,7 @@ SUBROUTINE SURFACE_HEAT_TRANSFER(NM,T,SF,BC,B1,WALL_INDEX,CFACE_INDEX,PARTICLE_I
RHO_OTHER_2 = OM_RHOP(IIO+1,JJO,KKO)
ENDIF
Z_TEMP(0:3,1,1) = (/RHO_G_2,B1%RHO_G,RHO_OTHER,RHO_OTHER_2/)
IF (TEST_FLUX_LIMITER_FACE_CORRECTION) Z_TEMP(0:3,1,1) = Z_TEMP(0:3,1,1)/(/MW_G_2,MW_G,MW_OTHER,MW_OTHER_2/)
IF (FLUX_LIMITER_MW_CORRECTION) Z_TEMP(0:3,1,1) = Z_TEMP(0:3,1,1)/(/MW_G_2,MW_G,MW_OTHER,MW_OTHER_2/)
U_TEMP(1,1,1) = UU(BC%II-1,BC%JJ,BC%KK)
CALL GET_SCALAR_FACE_VALUE(U_TEMP,Z_TEMP,F_TEMP,1,1,1,1,1,1,1,I_FLUX_LIMITER)
B1%RHO_F = F_TEMP(1,1,1)
Expand All @@ -712,7 +712,7 @@ SUBROUTINE SURFACE_HEAT_TRANSFER(NM,T,SF,BC,B1,WALL_INDEX,CFACE_INDEX,PARTICLE_I
RHO_OTHER_2 = OM_RHOP(IIO,JJO-1,KKO)
ENDIF
Z_TEMP(1,0:3,1) = (/RHO_OTHER_2,RHO_OTHER,B1%RHO_G,RHO_G_2/)
IF (TEST_FLUX_LIMITER_FACE_CORRECTION) Z_TEMP(1,0:3,1) = Z_TEMP(1,0:3,1)/(/MW_OTHER_2,MW_OTHER,MW_G,MW_G_2/)
IF (FLUX_LIMITER_MW_CORRECTION) Z_TEMP(1,0:3,1) = Z_TEMP(1,0:3,1)/(/MW_OTHER_2,MW_OTHER,MW_G,MW_G_2/)
U_TEMP(1,1,1) = VV(BC%II,BC%JJ,BC%KK)
CALL GET_SCALAR_FACE_VALUE(U_TEMP,Z_TEMP,F_TEMP,1,1,1,1,1,1,2,I_FLUX_LIMITER)
B1%RHO_F = F_TEMP(1,1,1)
Expand All @@ -722,7 +722,7 @@ SUBROUTINE SURFACE_HEAT_TRANSFER(NM,T,SF,BC,B1,WALL_INDEX,CFACE_INDEX,PARTICLE_I
RHO_OTHER_2 = OM_RHOP(IIO,JJO+1,KKO)
ENDIF
Z_TEMP(1,0:3,1) = (/RHO_G_2,B1%RHO_G,RHO_OTHER,RHO_OTHER_2/)
IF (TEST_FLUX_LIMITER_FACE_CORRECTION) Z_TEMP(1,0:3,1) = Z_TEMP(1,0:3,1)/(/MW_G_2,MW_G,MW_OTHER,MW_OTHER_2/)
IF (FLUX_LIMITER_MW_CORRECTION) Z_TEMP(1,0:3,1) = Z_TEMP(1,0:3,1)/(/MW_G_2,MW_G,MW_OTHER,MW_OTHER_2/)
U_TEMP(1,1,1) = VV(BC%II,BC%JJ-1,BC%KK)
CALL GET_SCALAR_FACE_VALUE(U_TEMP,Z_TEMP,F_TEMP,1,1,1,1,1,1,2,I_FLUX_LIMITER)
B1%RHO_F = F_TEMP(1,1,1)
Expand All @@ -732,7 +732,7 @@ SUBROUTINE SURFACE_HEAT_TRANSFER(NM,T,SF,BC,B1,WALL_INDEX,CFACE_INDEX,PARTICLE_I
RHO_OTHER_2 = OM_RHOP(IIO,JJO,KKO-1)
ENDIF
Z_TEMP(1,1,0:3) = (/RHO_OTHER_2,RHO_OTHER,B1%RHO_G,RHO_G_2/)
IF (TEST_FLUX_LIMITER_FACE_CORRECTION) Z_TEMP(1,1,0:3) = Z_TEMP(1,1,0:3)/(/MW_OTHER_2,MW_OTHER,MW_G,MW_G_2/)
IF (FLUX_LIMITER_MW_CORRECTION) Z_TEMP(1,1,0:3) = Z_TEMP(1,1,0:3)/(/MW_OTHER_2,MW_OTHER,MW_G,MW_G_2/)
U_TEMP(1,1,1) = WW(BC%II,BC%JJ,BC%KK)
CALL GET_SCALAR_FACE_VALUE(U_TEMP,Z_TEMP,F_TEMP,1,1,1,1,1,1,3,I_FLUX_LIMITER)
B1%RHO_F = F_TEMP(1,1,1)
Expand All @@ -742,7 +742,7 @@ SUBROUTINE SURFACE_HEAT_TRANSFER(NM,T,SF,BC,B1,WALL_INDEX,CFACE_INDEX,PARTICLE_I
RHO_OTHER_2 = OM_RHOP(IIO,JJO,KKO+1)
ENDIF
Z_TEMP(1,1,0:3) = (/RHO_G_2,B1%RHO_G,RHO_OTHER,RHO_OTHER_2/)
IF (TEST_FLUX_LIMITER_FACE_CORRECTION) Z_TEMP(1,1,0:3) = Z_TEMP(1,1,0:3)/(/MW_G_2,MW_G,MW_OTHER,MW_OTHER_2/)
IF (FLUX_LIMITER_MW_CORRECTION) Z_TEMP(1,1,0:3) = Z_TEMP(1,1,0:3)/(/MW_G_2,MW_G,MW_OTHER,MW_OTHER_2/)
U_TEMP(1,1,1) = WW(BC%II,BC%JJ,BC%KK-1)
CALL GET_SCALAR_FACE_VALUE(U_TEMP,Z_TEMP,F_TEMP,1,1,1,1,1,1,3,I_FLUX_LIMITER)
B1%RHO_F = F_TEMP(1,1,1)
Expand Down Expand Up @@ -825,7 +825,7 @@ SUBROUTINE SURFACE_HEAT_TRANSFER(NM,T,SF,BC,B1,WALL_INDEX,CFACE_INDEX,PARTICLE_I

! Correction for variable molecular weights

IF (TEST_FLUX_LIMITER_FACE_CORRECTION) THEN
IF (FLUX_LIMITER_MW_CORRECTION) THEN
N=MAXLOC(RHO_ZZ_F(1:N_TRACKED_SPECIES),1)
MW_G = SPECIES_MIXTURE(N)%MW
RHO_ZZ_F(N) = MW_G*MAX( 0._EB, B1%RHO_F &
Expand Down

0 comments on commit 44bc019

Please sign in to comment.