Skip to content

Commit f5f4508

Browse files
committed
FDS Source: Issue #13963. Clean up exterior patch logic
1 parent a65f26f commit f5f4508

File tree

2 files changed

+9
-24
lines changed

2 files changed

+9
-24
lines changed

Source/dump.f90

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1510,8 +1510,7 @@ 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,SURF_INDEX,&
1514-
TYPE_INDEX,HI1,HI2,VI1,VI2,FACE_INDEX,VRGB(3),N_CVENT
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
15151514
INTEGER, ALLOCATABLE, DIMENSION(:,:,:) :: VENT_INDICES
15161515
REAL(EB) :: X1,Y1,Z1,X2,Y2,Z2,XX,YY,ZZ,PERT1(4),PERT2(4),XMIN,YMIN,ZMIN,XA,YA,ZA
15171516
TYPE SEGMENT_TYPE
@@ -2288,11 +2287,8 @@ SUBROUTINE WRITE_SMOKEVIEW_FILE
22882287
VT%BOUNDARY_TYPE==PERIODIC_BOUNDARY .OR. &
22892288
VT%TYPE_INDICATOR==2) THEN ! Render this vent invisible in Smokeview
22902289
WHERE (VENT_INDICES(HI1:HI2,VI1:VI2,FACE_INDEX)==0) VENT_INDICES(HI1:HI2,VI1:VI2,FACE_INDEX) = -1
2291-
ELSE ! Make solid color vents invisible (they will be replaced by dummy vents)
2290+
ELSE ! Vent on a solid wall
22922291
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
22962292
ENDIF
22972293

22982294
ENDDO VENT_LOOP
@@ -2363,11 +2359,9 @@ SUBROUTINE WRITE_SMOKEVIEW_FILE
23632359
ENDDO
23642360

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

23732367
DO N=1,M%N_VENT
@@ -2393,15 +2387,8 @@ SUBROUTINE WRITE_SMOKEVIEW_FILE
23932387
DO N=1,M%N_EXTERIOR_PATCH
23942388
COLOR_INDEX = 99
23952389
TYPE_INDEX = 0
2396-
VRGB = -1
23972390
EP => M%EXTERIOR_PATCH(N)
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
2391+
WRITE(MYSTR,'(8I5)') EP%I1,EP%I2,EP%J1,EP%J2,EP%K1,EP%K2,COLOR_INDEX,TYPE_INDEX; CALL ADDSTR
24052392
ENDDO
24062393

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

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

24792466
JLOOP: DO J=1,N2
24802467
ILOOP: DO I=1,N1
24812468

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

24852471
ISTP = N1
24862472
JSTP = N2
24872473
JJLOOP: DO JJ=J+1,N2
2488-
IF (VENT_INDICES(I,JJ,FI)/=VENT_INDEX) THEN
2474+
IF (VENT_INDICES(I,JJ,FI)/=0) THEN
24892475
JSTP = JJ-1
24902476
EXIT JJLOOP
24912477
ENDIF
24922478
ENDDO JJLOOP
24932479

24942480
IILOOP: DO II=I+1,N1
24952481
JJLOOP2: DO JJ=J,JSTP
2496-
IF (VENT_INDICES(II,JJ,FI)/=VENT_INDEX) THEN
2482+
IF (VENT_INDICES(II,JJ,FI)/=0) THEN
24972483
ISTP = II-1
24982484
EXIT IILOOP
24992485
ENDIF
@@ -2518,7 +2504,6 @@ SUBROUTINE DUMMY_VENTS(FI,N1,N2)
25182504
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
25192505
EP%KG1=EP%K1 ; EP%KG2=EP%K2 ; EP%IG1=I ; EP%IG2=ISTP; EP%JG1=J ; EP%JG2=JSTP
25202506
END SELECT
2521-
EP%VENT_INDEX = VENT_INDEX
25222507

25232508
ENDDO ILOOP
25242509
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,VENT_INDEX=0,MESH_INDEX=0
1558+
INTEGER :: I1,I2,J1,J2,K1,K2,IG1,IG2,JG1,JG2,KG1,KG2,IOR=0,OBST_INDEX=0,MESH_INDEX=0
15591559
END TYPE PATCH_TYPE
15601560

15611561
TYPE BOUNDARY_FILE_TYPE

0 commit comments

Comments
 (0)