Skip to content

Commit ac49f13

Browse files
authored
Merge pull request #13743 from drjfloyd/master
FDS Source: Fix bug in hvac DPSTAR when zones merge (Issue 13673)
2 parents 1a9f686 + 8dbeb1b commit ac49f13

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

Source/hvac.f90

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1875,13 +1875,28 @@ SUBROUTINE DPSTARCALC
18751875
IF (IPZ==IOPZ) CYCLE
18761876
IF (CONNECTED_ZONES(IPZ,IOPZ,1)) PSUM_TOT(IPZ) = PSUM_TOT(IPZ) + PSUM(IOPZ,1)
18771877
ENDDO
1878+
ENDDO
1879+
1880+
DO IPZ = 1,N_ZONE
1881+
PZ => P_ZONE(IPZ)
1882+
IF (PZ%N_DUCTNODES==0) CYCLE
18781883
DO NN = 1,PZ%N_DUCTNODES
18791884
DN=>DUCTNODE(PZ%NODE_INDEX(NN))
18801885
DU=>DUCT(DN%DUCT_INDEX(1))
18811886
DPSTAR(IPZ) = DPSTAR(IPZ) - DN%DIR(1) * DU%AREA * DU%VEL(OLD) * DT_HV/PSUM_TOT(IPZ)
18821887
IF (DU%FIXED) DPSTAR(IPZ) = DPSTAR(IPZ) + DN%DIR(1) * DU%AREA * DU%VEL(NEW) * DT_HV/PSUM_TOT(IPZ)
1888+
DO IOPZ = 1, N_ZONE
1889+
IF (IPZ==IOPZ) CYCLE
1890+
IF (P_ZONE(IOPZ)%N_DUCTNODES==0) CYCLE
1891+
IF (CONNECTED_ZONES(IPZ,IOPZ,1)) THEN
1892+
IF (P_ZONE(IPOZ)%N_DUCTNODES==0) CYCLE
1893+
DPSTAR(IOPZ) = DPSTAR(IOPZ) - DN%DIR(1) * DU%AREA * DU%VEL(OLD) * DT_HV/PSUM_TOT(IPZ)
1894+
IF (DU%FIXED) DPSTAR(IOPZ) = DPSTAR(IOPZ) + DN%DIR(1) * DU%AREA * DU%VEL(NEW) * DT_HV/PSUM_TOT(IPZ)
1895+
ENDIF
1896+
ENDDO
18831897
ENDDO
18841898
ENDDO
1899+
18851900
END SUBROUTINE DPSTARCALC
18861901

18871902
!> \brief Builds the right hand side of the HVAC flow matrix for momentum conservation in a duct

0 commit comments

Comments
 (0)