diff --git a/Source/wall.f90 b/Source/wall.f90 index f690bdf9dd1..4c75037f015 100644 --- a/Source/wall.f90 +++ b/Source/wall.f90 @@ -118,8 +118,9 @@ SUBROUTINE WALL_BC(T,DT,NM) ENDIF IF (DEPOSITION .AND. .NOT.INITIALIZATION_PHASE .AND. CORRECTOR .AND. .NOT.SOLID_PHASE_ONLY) THEN - IF (WC%BOUNDARY_TYPE==SOLID_BOUNDARY .AND. B1%NODE_INDEX==0 .AND. ABS(SF%VEL)0) .OR. & + (B1%NODE_INDEX==0 .AND. SF%VEL0) .OR. & + (B1%NODE_INDEX==0 .AND. SF%VELSURFACE(WALL(WALL_INDEX)%SURF_INDEX) RSUM_G = RSUM(BC%IIG,BC%JJG,BC%KKG) ZZ_G(1:N_TRACKED_SPECIES) = ZZ(BC%IIG,BC%JJG,BC%KKG,1:N_TRACKED_SPECIES) ELSEIF (PRESENT(CFACE_INDEX)) THEN + SFD=>SURFACE(CFACE(CFACE_INDEX)%SURF_INDEX) RSUM_G= CFACE(CFACE_INDEX)%RSUM_G ZZ_G(1:N_TRACKED_SPECIES) = B1%ZZ_G(1:N_TRACKED_SPECIES) ENDIF +IF (ANY(SFD%LEAK_PATH>0)) THEN + U_NORMAL = 0._EB +ELSE + U_NORMAL = B1%U_NORMAL +ENDIF + SMIX_LOOP: DO N=1,N_TRACKED_SPECIES ZZ_GET(1:N_TRACKED_SPECIES) = MAX(0._EB,ZZ_G(1:N_TRACKED_SPECIES)) @@ -1662,8 +1673,7 @@ SUBROUTINE CALC_DEPOSITION(DT,BC,B1,B2,WALL_INDEX,CFACE_INDEX) U_TURB = B2%U_TAU * 0.17_EB ENDIF ENDIF - - B2%V_DEP = MAX(0._EB,U_THERM+U_TURB+U_GRAV+B1%U_NORMAL) + B2%V_DEP = MAX(0._EB,U_THERM+U_TURB+U_GRAV+U_NORMAL) IF (B2%V_DEP <= TWO_EPSILON_EB) CYCLE SMIX_LOOP ZZ_GET = ZZ_GET * B1%RHO_G Y_AEROSOL = ZZ_GET(N) @@ -1671,7 +1681,6 @@ SUBROUTINE CALC_DEPOSITION(DT,BC,B1,B2,WALL_INDEX,CFACE_INDEX) ZZ_GET(N) = Y_AEROSOL - YDEP IF (SM%AWM_INDEX > 0) B1%AWM_AEROSOL(SM%AWM_INDEX)= B1%AWM_AEROSOL(SM%AWM_INDEX)+YDEP/B1%RDN IF (SS%AWM_INDEX > 0) B1%AWM_AEROSOL(SS%AWM_INDEX)= B1%AWM_AEROSOL(SS%AWM_INDEX)+YDEP/B1%RDN - !$OMP CRITICAL D_SOURCE(BC%IIG,BC%JJG,BC%KKG) = D_SOURCE(BC%IIG,BC%JJG,BC%KKG) - MW_RATIO*YDEP / B1%RHO_G / DT M_DOT_PPP(BC%IIG,BC%JJG,BC%KKG,N) = M_DOT_PPP(BC%IIG,BC%JJG,BC%KKG,N) - YDEP / DT