Skip to content

Commit 3fa1491

Browse files
authored
Merge pull request #13972 from mcgratta/master
Revert "FDS Source: Issue #13963. Clean up exterior patch logic"
2 parents df49d9e + 45f3ae0 commit 3fa1491

File tree

2 files changed

+24
-9
lines changed

2 files changed

+24
-9
lines changed

Source/dump.f90

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1510,7 +1510,8 @@ SUBROUTINE WRITE_SMOKEVIEW_FILE
15101510
USE HVAC_ROUTINES, ONLY: N_DUCT_QUANTITY,N_NODE_QUANTITY, DUCT_QUANTITY_ARRAY,NODE_QUANTITY_ARRAY
15111511
USE TRAN, ONLY: TRAN_TYPE,TRANS
15121512
USE MISC_FUNCTIONS, ONLY : ACCUMULATE_STRING
1513-
INTEGER :: N,NN,I,J,K,NM,NX,NY,NZ,NIN,NXL,NYL,NZL,COLOR_INDEX,IZERO,STATE_INDEX,TYPE_INDEX,HI1,HI2,VI1,VI2,FACE_INDEX,N_CVENT
1513+
INTEGER :: N,NN,I,J,K,NM,NX,NY,NZ,NIN,NXL,NYL,NZL,COLOR_INDEX,IZERO,STATE_INDEX,SURF_INDEX,&
1514+
TYPE_INDEX,HI1,HI2,VI1,VI2,FACE_INDEX,VRGB(3),N_CVENT
15141515
INTEGER, ALLOCATABLE, DIMENSION(:,:,:) :: VENT_INDICES
15151516
REAL(EB) :: X1,Y1,Z1,X2,Y2,Z2,XX,YY,ZZ,PERT1(4),PERT2(4),XMIN,YMIN,ZMIN,XA,YA,ZA
15161517
TYPE SEGMENT_TYPE
@@ -2287,8 +2288,11 @@ SUBROUTINE WRITE_SMOKEVIEW_FILE
22872288
VT%BOUNDARY_TYPE==PERIODIC_BOUNDARY .OR. &
22882289
VT%TYPE_INDICATOR==2) THEN ! Render this vent invisible in Smokeview
22892290
WHERE (VENT_INDICES(HI1:HI2,VI1:VI2,FACE_INDEX)==0) VENT_INDICES(HI1:HI2,VI1:VI2,FACE_INDEX) = -1
2290-
ELSE ! Vent on a solid wall
2291+
ELSE ! Make solid color vents invisible (they will be replaced by dummy vents)
22912292
WHERE (VENT_INDICES(HI1:HI2,VI1:VI2,FACE_INDEX)==0) VENT_INDICES(HI1:HI2,VI1:VI2,FACE_INDEX) = N
2293+
VT%COLOR_INDICATOR = 8
2294+
VT%TYPE_INDICATOR = -2
2295+
VT%TRANSPARENCY = 0._EB
22922296
ENDIF
22932297

22942298
ENDDO VENT_LOOP
@@ -2359,9 +2363,11 @@ SUBROUTINE WRITE_SMOKEVIEW_FILE
23592363
ENDDO
23602364

23612365
DO N=1,M%N_EXTERIOR_PATCH
2366+
SURF_INDEX = DEFAULT_SURF_INDEX
23622367
EP => M%EXTERIOR_PATCH(N)
2368+
IF (EP%VENT_INDEX>0) SURF_INDEX = M%VENTS(EP%VENT_INDEX)%SURF_INDEX
23632369
WRITE(MYSTR,'(6F14.5,I6,I4)') M%X(EP%I1),M%X(EP%I2),M%Y(EP%J1),M%Y(EP%J2), &
2364-
M%Z(EP%K1),M%Z(EP%K2),M%N_VENT+N,DEFAULT_SURF_INDEX; CALL ADDSTR
2370+
M%Z(EP%K1),M%Z(EP%K2),M%N_VENT+N,SURF_INDEX; CALL ADDSTR
23652371
ENDDO
23662372

23672373
DO N=1,M%N_VENT
@@ -2387,8 +2393,15 @@ SUBROUTINE WRITE_SMOKEVIEW_FILE
23872393
DO N=1,M%N_EXTERIOR_PATCH
23882394
COLOR_INDEX = 99
23892395
TYPE_INDEX = 0
2396+
VRGB = -1
23902397
EP => M%EXTERIOR_PATCH(N)
2391-
WRITE(MYSTR,'(8I5)') EP%I1,EP%I2,EP%J1,EP%J2,EP%K1,EP%K2,COLOR_INDEX,TYPE_INDEX; CALL ADDSTR
2398+
IF (EP%VENT_INDEX>0) VRGB = M%VENTS(EP%VENT_INDEX)%RGB
2399+
IF (VRGB(1)<0) THEN
2400+
WRITE(MYSTR,'(8I5)') EP%I1,EP%I2,EP%J1,EP%J2,EP%K1,EP%K2,COLOR_INDEX,TYPE_INDEX; CALL ADDSTR
2401+
ELSE
2402+
WRITE(MYSTR,'(8I5,4F13.5)') EP%I1,EP%I2,EP%J1,EP%J2,EP%K1,EP%K2,COLOR_INDEX,TYPE_INDEX, &
2403+
REAL(VRGB,FB)/255._FB,1._EB; CALL ADDSTR
2404+
ENDIF
23922405
ENDDO
23932406

23942407
! Write out information about circular vents to Smokeview file
@@ -2461,25 +2474,26 @@ END SUBROUTINE EOL
24612474
SUBROUTINE DUMMY_VENTS(FI,N1,N2)
24622475

24632476
INTEGER, INTENT(IN) :: N1,N2,FI
2464-
INTEGER :: I,J,II,JJ,ISTP,JSTP
2477+
INTEGER :: I,J,II,JJ,ISTP,JSTP,VENT_INDEX
24652478

24662479
JLOOP: DO J=1,N2
24672480
ILOOP: DO I=1,N1
24682481

2469-
IF (VENT_INDICES(I,J,FI)/=0) CYCLE ILOOP
2482+
IF (VENT_INDICES(I,J,FI)==-1) CYCLE ILOOP
2483+
VENT_INDEX = VENT_INDICES(I,J,FI)
24702484

24712485
ISTP = N1
24722486
JSTP = N2
24732487
JJLOOP: DO JJ=J+1,N2
2474-
IF (VENT_INDICES(I,JJ,FI)/=0) THEN
2488+
IF (VENT_INDICES(I,JJ,FI)/=VENT_INDEX) THEN
24752489
JSTP = JJ-1
24762490
EXIT JJLOOP
24772491
ENDIF
24782492
ENDDO JJLOOP
24792493

24802494
IILOOP: DO II=I+1,N1
24812495
JJLOOP2: DO JJ=J,JSTP
2482-
IF (VENT_INDICES(II,JJ,FI)/=0) THEN
2496+
IF (VENT_INDICES(II,JJ,FI)/=VENT_INDEX) THEN
24832497
ISTP = II-1
24842498
EXIT IILOOP
24852499
ENDIF
@@ -2504,6 +2518,7 @@ SUBROUTINE DUMMY_VENTS(FI,N1,N2)
25042518
CASE (6) ; EP%K1=M%KBAR ; EP%K2=M%KBAR ; EP%I1=I-1 ; EP%I2=ISTP ; EP%J1=J-1 ; EP%J2=JSTP ; EP%IOR=-3
25052519
EP%KG1=EP%K1 ; EP%KG2=EP%K2 ; EP%IG1=I ; EP%IG2=ISTP; EP%JG1=J ; EP%JG2=JSTP
25062520
END SELECT
2521+
EP%VENT_INDEX = VENT_INDEX
25072522

25082523
ENDDO ILOOP
25092524
ENDDO JLOOP

Source/type.f90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1555,7 +1555,7 @@ MODULE TYPES
15551555
END TYPE RAD_FILE_TYPE
15561556

15571557
TYPE PATCH_TYPE
1558-
INTEGER :: I1,I2,J1,J2,K1,K2,IG1,IG2,JG1,JG2,KG1,KG2,IOR=0,OBST_INDEX=0,MESH_INDEX=0
1558+
INTEGER :: I1,I2,J1,J2,K1,K2,IG1,IG2,JG1,JG2,KG1,KG2,IOR=0,OBST_INDEX=0,VENT_INDEX=0,MESH_INDEX=0
15591559
END TYPE PATCH_TYPE
15601560

15611561
TYPE BOUNDARY_FILE_TYPE

0 commit comments

Comments
 (0)