Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 21 additions & 29 deletions Source/hvac.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1378,6 +1378,11 @@ SUBROUTINE HVAC_CALC(T,DT,FIRST_PASS)

TNOW = CURRENT_TIME()

IF (N_ZONE > 0) THEN
IF (.NOT. ALLOCATED(DPSTAR)) ALLOCATE(DPSTAR(0:N_ZONE))
DPSTAR = 0._EB
ENDIF

IF (.NOT. ALLOCATED(LHS)) ALLOCATE(LHS(N_DUCTS+N_DUCTNODES,N_DUCTS+N_DUCTNODES))
IF (.NOT. ALLOCATED(RHS)) ALLOCATE(RHS(N_DUCTS+N_DUCTNODES))

Expand Down Expand Up @@ -1451,11 +1456,7 @@ SUBROUTINE HVAC_CALC(T,DT,FIRST_PASS)

ITER = 0

IF (N_ZONE>0) THEN
ALLOCATE(DPSTAR(1:N_ZONE))
DPSTAR = 0._EB
CALL DPSTARCALC
ENDIF
IF (N_ZONE>0) CALL DPSTARCALC

DUCTNODE%P = DUCTNODE%P - P_INF

Expand Down Expand Up @@ -1517,10 +1518,6 @@ SUBROUTINE HVAC_CALC(T,DT,FIRST_PASS)

DUCTNODE%P = DUCTNODE%P + P_INF

!CALL UPDATE_NODE_BC

IF (ALLOCATED(DPSTAR)) DEALLOCATE(DPSTAR)

T_USED(13)=T_USED(13)+CURRENT_TIME()-TNOW

END SUBROUTINE HVAC_CALC
Expand Down Expand Up @@ -2638,8 +2635,7 @@ END SUBROUTINE DETERMINE_FIXED_ELEMENTS

SUBROUTINE FIND_NETWORKS(CHANGE,T)
INTEGER:: NZ,NN,ND,DUCT_COUNTER(N_DUCTS),NODE_COUNTER(N_DUCTNODES),COUNTER,COUNTER2,ZONE_COUNTER(N_ZONE),&
CONNECTED_ZONES2(0:N_ZONE,0:N_ZONE)
INTEGER, DIMENSION(:), ALLOCATABLE :: NETWORK_DCOUNTER,NETWORK_NCOUNTER,RENUMBER
CONNECTED_ZONES2(0:N_ZONE,0:N_ZONE),NETWORK_DCOUNTER(N_DUCTS),NETWORK_NCOUNTER(N_DUCTS),RENUMBER(N_DUCTNODES)
LOGICAL, INTENT(OUT) :: CHANGE
LOGICAL :: CHANGE2
REAL(EB), INTENT(IN):: T
Expand Down Expand Up @@ -2723,7 +2719,6 @@ SUBROUTINE FIND_NETWORKS(CHANGE,T)
ENDIF
END DO

ALLOCATE(RENUMBER(MAXVAL(NODE_COUNTER)))
RENUMBER = 0
N_NETWORKS = 0
DO NN = 1,N_DUCTNODES
Expand All @@ -2738,14 +2733,11 @@ SUBROUTINE FIND_NETWORKS(CHANGE,T)
DO ND = 1,N_DUCTS
DUCT_COUNTER(ND) = RENUMBER(DUCT_COUNTER(ND))
ENDDO
DEALLOCATE(RENUMBER)

ALLOCATE(NETWORK(N_NETWORKS))
NETWORK%N_DUCTS=0
NETWORK%N_DUCTNODES=0
ALLOCATE(NETWORK_DCOUNTER(N_NETWORKS))
NETWORK_DCOUNTER=0
ALLOCATE(NETWORK_NCOUNTER(N_NETWORKS))
NETWORK_NCOUNTER=0
COUNTER = 0
DO ND = 1, N_DUCTS
Expand All @@ -2771,8 +2763,6 @@ SUBROUTINE FIND_NETWORKS(CHANGE,T)
DUCTNODE_NE(NN) = NETWORK_NCOUNTER(NODE_COUNTER(NN))
ENDDO

DEALLOCATE(NETWORK_DCOUNTER)
DEALLOCATE(NETWORK_NCOUNTER)
CALL SETUP_SOLUTION_POINTERS

END SUBROUTINE FIND_NETWORKS
Expand Down Expand Up @@ -3626,12 +3616,20 @@ SUBROUTINE UPDATE_HVAC_MASS_TRANSPORT(DT,NR)
USE PHYSICAL_FUNCTIONS,ONLY: GET_TEMPERATURE, GET_ENTHALPY
REAL(EB), INTENT(IN) :: DT
INTEGER, INTENT(IN) :: NR
INTEGER :: N_SUBSTEPS,ND,NS,NC
INTEGER :: N_SUBSTEPS,ND,NS,NC,MAX_CELLS
TYPE(DUCT_TYPE),POINTER :: DU
REAL(EB) :: DT_CFL,DT_DUCT,MASS_FLUX,ZZ_GET(N_TRACKED_SPECIES),HGAS
REAL(EB), ALLOCATABLE, DIMENSION(:) :: CPT_C,CPT_F,RHOCPT_C
REAL(EB), ALLOCATABLE, DIMENSION(:,:) :: RHOZZ_C,ZZ_F

MAX_CELLS = MAXVAL(DUCT(:)%N_CELLS)

ALLOCATE(ZZ_F(0:MAX_CELLS,N_TRACKED_SPECIES))
ALLOCATE(CPT_F(0:MAX_CELLS))
ALLOCATE(CPT_C(MAX_CELLS))
ALLOCATE(RHOCPT_C(MAX_CELLS))
ALLOCATE(RHOZZ_C(MAX_CELLS,N_TRACKED_SPECIES))

DUCT_LOOP: DO ND = 1,DUCTRUN(NR)%N_DUCTS
DU => DUCT(DUCTRUN(NR)%DUCT_INDEX(ND))
IF (DU%N_CELLS == 0 ) CYCLE DUCT_LOOP
Expand All @@ -3646,11 +3644,6 @@ SUBROUTINE UPDATE_HVAC_MASS_TRANSPORT(DT,NR)
DT_DUCT = DT/REAL(N_SUBSTEPS,EB)

! Set upwind face indices and allocate flux arrays
ALLOCATE(ZZ_F(0:DU%N_CELLS,N_TRACKED_SPECIES))
ALLOCATE(CPT_F(0:DU%N_CELLS))
ALLOCATE(CPT_C(DU%N_CELLS))
ALLOCATE(RHOCPT_C(DU%N_CELLS))
ALLOCATE(RHOZZ_C(DU%N_CELLS,N_TRACKED_SPECIES))

SUBSTEP_LOOP: DO NS = 1,N_SUBSTEPS

Expand Down Expand Up @@ -3690,14 +3683,13 @@ SUBROUTINE UPDATE_HVAC_MASS_TRANSPORT(DT,NR)

ENDDO SUBSTEP_LOOP

DEALLOCATE(RHOZZ_C)
DEALLOCATE(ZZ_F)
DEALLOCATE(CPT_F)
DEALLOCATE(CPT_C)
DEALLOCATE(RHOCPT_C)

ENDDO DUCT_LOOP

DEALLOCATE(RHOZZ_C)
DEALLOCATE(ZZ_F)
DEALLOCATE(CPT_F)
DEALLOCATE(CPT_C)
DEALLOCATE(RHOCPT_C)

END SUBROUTINE UPDATE_HVAC_MASS_TRANSPORT

Expand Down
Loading