@@ -11818,7 +11818,7 @@ SUBROUTINE READ_VENT
1181811818INTEGER :: N,N_TOTAL,NM,NNN,IOR,I1,I2,J1,J2,K1,K2,RGB(3),N_EDDY,II,JJ,KK,OBST_INDEX,N_EXPLICIT,N_IMPLICIT_VENTS,I_MODE,&
1181911819 N_ORIGINAL_VENTS,IC0,IC1,IC
1182011820REAL(EB) :: SPREAD_RATE,TRANSPARENCY,XYZ(3),TMP_EXTERIOR,DYNAMIC_PRESSURE,XB_USER(6),XB_MESH(6), &
11821- REYNOLDS_STRESS(3,3),L_EDDY,VEL, VEL_RMS,L_EDDY_IJ(3,3),UVW(3),RADIUS
11821+ REYNOLDS_STRESS(3,3),L_EDDY,VEL_RMS,L_EDDY_IJ(3,3),UVW(3),RADIUS
1182211822CHARACTER(LABEL_LENGTH) :: ID,DEVC_ID,CTRL_ID,SURF_ID,PRESSURE_RAMP,TMP_EXTERIOR_RAMP,MULT_ID,OBST_ID
1182311823CHARACTER(25) :: COLOR
1182411824TYPE(MULTIPLIER_TYPE), POINTER :: MR
@@ -11969,12 +11969,12 @@ SUBROUTINE READ_VENT
1196911969
1197011970 ! Check that the vent is properly specified
1197111971
11972- IF (ABS(XB(3)-XB(4))<=SPACING(XB(4)) .AND. TWO_D .AND. N_TOTAL>N_IMPLICIT_VENTS) THEN
11972+ IF (ABS(XB(3)-XB(4))<=SPACING(XB(4)) .AND. TWO_D .AND. N_TOTAL>N_IMPLICIT_VENTS) THEN
1197311973 WRITE(MESSAGE,'(3A)') 'ERROR(809): VENT ',TRIM(ID),' cannot be specified on a y boundary in a 2D calc.'
1197411974 CALL SHUTDOWN(MESSAGE,PROCESS_0_ONLY=.FALSE.) ; RETURN
1197511975 ENDIF
1197611976
11977- IF (ABS(XB(1)-XB(2))>SPACING(XB(2)) .AND. ABS(XB(3)-XB(4))>SPACING(XB(4)).AND.ABS(XB(5)-XB(6))>SPACING(XB(6)) ) THEN
11977+ IF (ABS(XB(1)-XB(2))>SPACING(XB(2)).AND.ABS(XB(3)-XB(4))>SPACING(XB(4)).AND.ABS(XB(5)-XB(6))>SPACING(XB(6))) THEN
1197811978 WRITE(MESSAGE,'(3A)') 'ERROR(810): VENT ',TRIM(ID),' must be a plane.'
1197911979 CALL SHUTDOWN(MESSAGE,PROCESS_0_ONLY=.FALSE.) ; RETURN
1198011980 ENDIF
@@ -12112,6 +12112,10 @@ SUBROUTINE READ_VENT
1211212112 IF (BLOCKED) REJECT_VENT = .TRUE.
1211312113 ENDIF
1211412114
12115+ ! If the VENT is on a GEOM do not reject (further setup in READ_GEOM)
12116+
12117+ IF (GEOM) REJECT_VENT = .FALSE.
12118+
1211512119 ! If the VENT is rejected, cycle
1211612120
1211712121 IF (REJECT_VENT) THEN
@@ -12413,7 +12417,7 @@ SUBROUTINE READ_VENT
1241312417 ENDDO
1241412418 ENDIF
1241512419
12416- IF (VT%IOR==0) THEN
12420+ IF (VT%IOR==0 .AND. .NOT.VT%GEOM ) THEN
1241712421 WRITE(MESSAGE,'(3A)') 'ERROR(818): VENT ',TRIM(VT%ID),' requires an orientation index, IOR.'
1241812422 CALL SHUTDOWN(MESSAGE,PROCESS_0_ONLY=.FALSE.) ; RETURN
1241912423 ENDIF
@@ -12461,7 +12465,7 @@ SUBROUTINE READ_VENT
1246112465
1246212466 ! Check UVW
1246312467
12464- IF (ABS(VT%UVW(ABS(VT%IOR))) < TWO_EPSILON_EB) THEN
12468+ IF (ABS(VT%UVW(ABS(VT%IOR))) < TWO_EPSILON_EB .AND. .NOT.VT%GEOM ) THEN
1246512469 WRITE(MESSAGE,'(3A)') 'ERROR(821): VENT ',TRIM(VT%ID),' cannot have normal component of UVW equal to 0.'
1246612470 CALL SHUTDOWN(MESSAGE,PROCESS_0_ONLY=.FALSE.) ; RETURN
1246712471 ENDIF
@@ -12560,7 +12564,6 @@ SUBROUTINE SET_VENT_DEFAULTS
1256012564TMP_EXTERIOR_RAMP = 'null'
1256112565TRANSPARENCY = 1._EB
1256212566UVW = -1.E12_EB
12563- VEL = -1.E12_EB ! experimental (rjm)
1256412567VEL_RMS = 0._EB
1256512568XYZ = -1.E6_EB
1256612569
0 commit comments