Skip to content

Commit aa92241

Browse files
committed
FDS Source: Fix HVAC leakage errors from adding GEOM
1 parent 501a73d commit aa92241

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

Source/hvac.f90

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ MODULE HVAC_ROUTINES
3838
LOGICAL :: DUCT_NODE_INIT !< Flag indicating duct nodes have been initialized
3939
LOGICAL :: TRANSPORT_PARTICLES !< Flag indicating particles should be transferred across a localized leak path
4040

41-
PUBLIC HVAC_CALC,READ_HVAC,PROC_HVAC,HVAC_BC_IN,FIND_NETWORKS,COLLAPSE_HVAC_BC,SET_INIT_HVAC,INIT_DUCT_NODE
41+
PUBLIC HVAC_CALC,READ_HVAC,PROC_HVAC,HVAC_BC_IN,FIND_NETWORKS,COLLAPSE_HVAC_BC,SET_INIT_HVAC,INIT_DUCT_NODE,LEAKAGE_HVAC
4242

4343
REAL(EB),PUBLIC, ALLOCATABLE, DIMENSION(:):: NODE_AREA_EX !< Contain sum of area over all MESHES of all VENTs assigned to each NODE
4444
REAL(EB),PUBLIC, ALLOCATABLE, DIMENSION(:):: NODE_TMP_EX
@@ -812,7 +812,6 @@ SUBROUTINE PROC_HVAC
812812
TNOW=CURRENT_TIME()
813813

814814
IF (.NOT. HVAC_SOLVE) RETURN
815-
IF (LEAK_DUCTS > 0) CALL LEAKAGE_HVAC
816815

817816
DUCT_LOOP: DO ND = 1, N_DUCTS
818817
DU => DUCT(ND)
@@ -1069,6 +1068,7 @@ SUBROUTINE PROC_HVAC
10691068

10701069
NODE_LOOP_2: DO NN=1,N_DUCTNODES
10711070
DN=> DUCTNODE(NN)
1071+
IF (DN%LEAKAGE) CYCLE NODE_LOOP_2
10721072
IF (DN%N_DUCTS==1 .AND. .NOT. (DN%VENT .OR. DN%AMBIENT .OR. DN%GEOM) ) THEN
10731073
WRITE(MESSAGE,'(A,I5,A,A)') 'ERROR(547): Internal ductnode must have at least two attached ducts. Ductnode:',NN,&
10741074
', Ductnode ID:',TRIM(DN%ID)
@@ -3311,11 +3311,15 @@ END SUBROUTINE SET_INIT_HVAC_MASS_TRANSPORT
33113311
SUBROUTINE LEAKAGE_HVAC
33123312

33133313
USE PHYSICAL_FUNCTIONS, ONLY: GET_ENTHALPY
3314-
REAL(EB) :: ZZ_GET(1:N_TRACKED_SPECIES),HGAS
3314+
REAL(EB) :: ZZ_GET(1:N_TRACKED_SPECIES),HGAS,TNOW
33153315
INTEGER :: I_DUCT,I_DUCTNODE,NZ1,NZ2
33163316
TYPE (DUCTNODE_TYPE), POINTER:: DN1,DN2
33173317
TYPE (DUCT_TYPE), POINTER:: DU
33183318

3319+
IF (LEAK_DUCTS==0) RETURN
3320+
3321+
TNOW=CURRENT_TIME()
3322+
33193323
I_DUCT = N_DUCTS - LEAK_DUCTS
33203324
I_DUCTNODE = N_DUCTNODES - 2 * LEAK_DUCTS
33213325

@@ -3380,6 +3384,8 @@ SUBROUTINE LEAKAGE_HVAC
33803384
ENDDO
33813385
ENDDO
33823386

3387+
T_USED(13)=T_USED(13)+CURRENT_TIME()-TNOW
3388+
33833389
END SUBROUTINE LEAKAGE_HVAC
33843390

33853391
!> \brief Updates filter loading and filter flow loss

Source/read.f90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ MODULE READ_INPUT
1616
USE MEMORY_FUNCTIONS, ONLY: ChkMemErr,REALLOCATE2D,REALLOCATE
1717
USE COMP_FUNCTIONS, ONLY: GET_INPUT_FILE
1818
USE MISC_FUNCTIONS, ONLY: SEARCH_CONTROLLER,WRITE_SUMMARY_INFO,GET_RAMP_INDEX,GET_SPEC_OR_SMIX_INDEX
19-
USE HVAC_ROUTINES, ONLY: READ_HVAC!,PROC_HVAC
19+
USE HVAC_ROUTINES, ONLY: READ_HVAC,LEAKAGE_HVAC
2020
USE COMPLEX_GEOMETRY, ONLY: READ_GEOM
2121
USE MPI_F08
2222
USE THERMO_PROPS
@@ -146,7 +146,7 @@ SUBROUTINE READ_DATA(DT)
146146
CALL PROC_REAC_2 ; CALL CHECK_STOP_STATUS ; IF (STOP_STATUS/=NO_STOP) RETURN
147147
CALL PROC_MATL ; CALL CHECK_STOP_STATUS ; IF (STOP_STATUS/=NO_STOP) RETURN
148148
CALL PROC_SURF_2 ; CALL CHECK_STOP_STATUS ; IF (STOP_STATUS/=NO_STOP) RETURN
149-
!CALL PROC_HVAC ; CALL CHECK_STOP_STATUS ; IF (STOP_STATUS/=NO_STOP) RETURN
149+
IF (HVAC_SOLVE) CALL LEAKAGE_HVAC ; CALL CHECK_STOP_STATUS ; IF (STOP_STATUS/=NO_STOP) RETURN
150150
CALL READ_CLIP ; CALL CHECK_STOP_STATUS ; IF (STOP_STATUS/=NO_STOP) RETURN
151151
CALL PROC_WALL ; CALL CHECK_STOP_STATUS ; IF (STOP_STATUS/=NO_STOP) RETURN
152152
CALL PROC_PART ; CALL CHECK_STOP_STATUS ; IF (STOP_STATUS/=NO_STOP) RETURN

0 commit comments

Comments
 (0)