Skip to content

Commit 2116164

Browse files
authored
Merge pull request #14260 from drjfloyd/master
FDS Source: Allow deposition for LEAK_PATH
2 parents 47d0566 + f1cf47e commit 2116164

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

Source/wall.f90

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,9 @@ SUBROUTINE WALL_BC(T,DT,NM)
118118
ENDIF
119119

120120
IF (DEPOSITION .AND. .NOT.INITIALIZATION_PHASE .AND. CORRECTOR .AND. .NOT.SOLID_PHASE_ONLY) THEN
121-
IF (WC%BOUNDARY_TYPE==SOLID_BOUNDARY .AND. B1%NODE_INDEX==0 .AND. ABS(SF%VEL)<TWO_EPSILON_EB .AND. &
122-
ANY(ABS(SF%MASS_FLUX)<TWO_EPSILON_EB) .AND. ABS(SF%VOLUME_FLOW)<TWO_EPSILON_EB) THEN
121+
IF (WC%BOUNDARY_TYPE==SOLID_BOUNDARY .AND. &
122+
(ANY(SF%LEAK_PATH>0) .OR. &
123+
(B1%NODE_INDEX==0 .AND. SF%VEL<TWO_EPSILON_EB .AND. SF%VOLUME_FLOW<TWO_EPSILON_EB))) THEN
123124
CALL CALC_DEPOSITION(DT,BC,B1,B2,WALL_INDEX=IW)
124125
ENDIF
125126
ENDIF
@@ -173,8 +174,9 @@ SUBROUTINE WALL_BC(T,DT,NM)
173174
ENDIF
174175

175176
IF (DEPOSITION .AND. .NOT.INITIALIZATION_PHASE .AND. CORRECTOR .AND. .NOT.SOLID_PHASE_ONLY) THEN
176-
IF (CFA%BOUNDARY_TYPE==SOLID_BOUNDARY .AND. B1%NODE_INDEX==0 .AND. ABS(SF%VEL)<TWO_EPSILON_EB .AND. &
177-
ANY(ABS(SF%MASS_FLUX)<TWO_EPSILON_EB) .AND. ABS(SF%VOLUME_FLOW)<TWO_EPSILON_EB) THEN
177+
IF (CFA%BOUNDARY_TYPE==SOLID_BOUNDARY .AND. &
178+
(ANY(SF%LEAK_PATH>0) .OR. &
179+
(B1%NODE_INDEX==0 .AND. SF%VEL<TWO_EPSILON_EB .AND. SF%VOLUME_FLOW<TWO_EPSILON_EB))) THEN
178180
CALL CALC_DEPOSITION(DT,BC,B1,B2,CFACE_INDEX=ICF)
179181
ENDIF
180182
ENDIF
@@ -1607,19 +1609,28 @@ SUBROUTINE CALC_DEPOSITION(DT,BC,B1,B2,WALL_INDEX,CFACE_INDEX)
16071609
REAL(EB), PARAMETER :: CM3=3._EB*CM,CS2=CS*2._EB,CT2=2._EB*CT
16081610
REAL(EB), PARAMETER :: ZZ_MIN_DEP=1.E-14_EB
16091611
REAL(EB) :: U_THERM,U_TURB,MU_G,Y_AEROSOL,ZZ_GET(1:N_TRACKED_SPECIES),YDEP,K_G,TMP_FILM,ALPHA,DTMPDX,&
1610-
TAU_PLUS,U_GRAV,D_SOLID,MW_RATIO,KN,KN_FAC,RSUM_G,ZZ_G(1:N_TRACKED_SPECIES),TAU_PLUS_C
1612+
TAU_PLUS,U_GRAV,D_SOLID,MW_RATIO,KN,KN_FAC,RSUM_G,ZZ_G(1:N_TRACKED_SPECIES),TAU_PLUS_C,U_NORMAL
16111613
TYPE(BOUNDARY_COORD_TYPE), POINTER :: BC
16121614
TYPE(BOUNDARY_PROP1_TYPE), POINTER :: B1
16131615
TYPE(BOUNDARY_PROP2_TYPE), POINTER :: B2
1616+
TYPE(SURFACE_TYPE), POINTER :: SFD
16141617

16151618
IF (PRESENT(WALL_INDEX)) THEN
1619+
SFD=>SURFACE(WALL(WALL_INDEX)%SURF_INDEX)
16161620
RSUM_G = RSUM(BC%IIG,BC%JJG,BC%KKG)
16171621
ZZ_G(1:N_TRACKED_SPECIES) = ZZ(BC%IIG,BC%JJG,BC%KKG,1:N_TRACKED_SPECIES)
16181622
ELSEIF (PRESENT(CFACE_INDEX)) THEN
1623+
SFD=>SURFACE(CFACE(CFACE_INDEX)%SURF_INDEX)
16191624
RSUM_G= CFACE(CFACE_INDEX)%RSUM_G
16201625
ZZ_G(1:N_TRACKED_SPECIES) = B1%ZZ_G(1:N_TRACKED_SPECIES)
16211626
ENDIF
16221627

1628+
IF (ANY(SFD%LEAK_PATH>0)) THEN
1629+
U_NORMAL = 0._EB
1630+
ELSE
1631+
U_NORMAL = B1%U_NORMAL
1632+
ENDIF
1633+
16231634
SMIX_LOOP: DO N=1,N_TRACKED_SPECIES
16241635

16251636
ZZ_GET(1:N_TRACKED_SPECIES) = MAX(0._EB,ZZ_G(1:N_TRACKED_SPECIES))
@@ -1662,16 +1673,14 @@ SUBROUTINE CALC_DEPOSITION(DT,BC,B1,B2,WALL_INDEX,CFACE_INDEX)
16621673
U_TURB = B2%U_TAU * 0.17_EB
16631674
ENDIF
16641675
ENDIF
1665-
1666-
B2%V_DEP = MAX(0._EB,U_THERM+U_TURB+U_GRAV+B1%U_NORMAL)
1676+
B2%V_DEP = MAX(0._EB,U_THERM+U_TURB+U_GRAV+U_NORMAL)
16671677
IF (B2%V_DEP <= TWO_EPSILON_EB) CYCLE SMIX_LOOP
16681678
ZZ_GET = ZZ_GET * B1%RHO_G
16691679
Y_AEROSOL = ZZ_GET(N)
16701680
YDEP = Y_AEROSOL*MIN(1._EB,(B2%V_DEP)*DT*B1%RDN)
16711681
ZZ_GET(N) = Y_AEROSOL - YDEP
16721682
IF (SM%AWM_INDEX > 0) B1%AWM_AEROSOL(SM%AWM_INDEX)= B1%AWM_AEROSOL(SM%AWM_INDEX)+YDEP/B1%RDN
16731683
IF (SS%AWM_INDEX > 0) B1%AWM_AEROSOL(SS%AWM_INDEX)= B1%AWM_AEROSOL(SS%AWM_INDEX)+YDEP/B1%RDN
1674-
16751684
!$OMP CRITICAL
16761685
D_SOURCE(BC%IIG,BC%JJG,BC%KKG) = D_SOURCE(BC%IIG,BC%JJG,BC%KKG) - MW_RATIO*YDEP / B1%RHO_G / DT
16771686
M_DOT_PPP(BC%IIG,BC%JJG,BC%KKG,N) = M_DOT_PPP(BC%IIG,BC%JJG,BC%KKG,N) - YDEP / DT

0 commit comments

Comments
 (0)