Nodes of different colours represent the following:
Solid arrows point from a parent (sub)module to the submodule which is descended from it. Dashed arrows point from a module being used to the module or program unit using it. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
!!! IF(SysVentLoad == 0.0d0)EXIT !!! IF(SysVentLoad == 0.0d0)EXIT
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | AirLoopNum | |||
integer, | intent(in) | :: | BranchNum |
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
SUBROUTINE MatchPlantSys(AirLoopNum,BranchNum)
! SUBROUTINE INFORMATION:
! AUTHOR Dan Fisher
! DATE WRITTEN May 2005
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! calculate and report zone ventilation loads
! METHODOLOGY EMPLOYED:
! calculate energy contribution of outside air through mixing box and pro-rate to
! zones according to zone mass flow rates.
! REFERENCES:
! na
! USE STATEMENTS:
USE DataGlobalConstants
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER, INTENT(IN) :: AirLoopNum !counter for zone air distribution inlets
INTEGER, INTENT(IN) :: BranchNum !counter for zone air distribution inlets
! SUBROUTINE PARAMETER DEFINITIONS:
INTEGER, PARAMETER :: EnergyTrans = 1
INTEGER, PARAMETER :: PrimaryAirLoop = 1
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
CHARACTER(len=MaxNameLength) :: CompType
CHARACTER(len=MaxNameLength) :: CompName
INTEGER :: CompNum !counter for components on air loop branch connected to air distribution unit
INTEGER :: VarNum
INTEGER :: SubCompNum !counter for components on air loop branch connected to air distribution unit
INTEGER :: SubSubCompNum !counter for components on air loop branch connected to air distribution unit
LOGICAL :: MatchFound ! Set to .TRUE. when a match is found
INTEGER :: MatchLoop ! Loop number of the match
INTEGER :: MatchBranch ! Branch number of the match
INTEGER :: MatchComp ! Component number of the match
INTEGER :: MatchLoopType
INTEGER :: Index
DO CompNum = 1, PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%TotalComponents
DO VarNum = 1, PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%NumMeteredVars
IF(PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%MeteredVar(VarNum)%ResourceType == &
iRT_EnergyTransfer)THEN
PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%EnergyTransComp = EnergyTrans
CompType = PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%TypeOf
CompName = PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%Name
Index = 0
CALL FindDemandSideMatch(CompType,CompName,MatchFound,MatchLoopType,MatchLoop,MatchBranch,MatchComp)
IF(MatchFound) &
CALL UpdateAirSysCompPtrArray(Index,AirLoopNum,BranchNum,CompNum,MatchLoopType,MatchLoop,MatchBranch,MatchComp)
PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%AirSysToPlantPtr = Index
EXIT
END IF
END DO
DO SubCompNum = 1, PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%NumSubcomps
!!!!! IF(SysVentLoad == 0.0d0)EXIT
DO VarNum = 1, PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%NumMeteredVars
IF(PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%MeteredVar(VarNum)%ResourceType &
== iRT_EnergyTransfer)THEN
PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%EnergyTransComp = EnergyTrans
CompType = PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%TypeOf
CompName = PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%Name
Index = 0
CALL FindDemandSideMatch(CompType,CompName,MatchFound,MatchLoopType,MatchLoop,MatchBranch,MatchComp)
IF(MatchFound) &
CALL UpdateAirSysSubCompPtrArray(Index,AirLoopNum,BranchNum,CompNum,SubCompNum,MatchLoopType, &
MatchLoop,MatchBranch,MatchComp)
PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%AirSysToPlantPtr = Index
EXIT
END IF
END DO
DO SubSubCompNum = 1, PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%NumSubSubcomps
!!!!! IF(SysVentLoad == 0.0d0)EXIT
DO VarNum = 1, PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)% &
SubSubComp(SubSubCompNum)%NumMeteredVars
IF(PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%SubSubComp(SubSubCompNum)% &
MeteredVar(VarNum)%ResourceType == iRT_EnergyTransfer)THEN
PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)% &
SubSubComp(SubSubCompNum)%EnergyTransComp = EnergyTrans
CompType = PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)% &
SubSubComp(SubSubCompNum)%TypeOf
CompName = PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)% &
SubSubComp(SubSubCompNum)%Name
Index = 0
CALL FindDemandSideMatch(CompType,CompName,MatchFound,MatchLoopType,MatchLoop,MatchBranch,MatchComp)
IF(MatchFound) &
CALL UpdateAirSysSubSubCompPtrArray(Index,AirLoopNum,BranchNum,CompNum,SubCompNum,SubSubCompNum,MatchLoopType, &
MatchLoop,MatchBranch,MatchComp)
PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)% &
SubSubComp(SubSubCompNum)%AirSysToPlantPtr = Index
EXIT
END IF
END DO
END DO
END DO
END DO
END SUBROUTINE MatchPlantSys