Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FDS Source: update to FLUX_LIMITER_MW_CORRECTION #13889

Merged
merged 1 commit into from
Dec 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading