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 InitAirflowNetwork
! SUBROUTINE INFORMATION:
! AUTHOR Lixing Gu
! DATE WRITTEN Aug. 2003
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This subroutine initializes variables of additional zone loads caused by ADS.
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
! na
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
! na
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
LOGICAL,SAVE :: OneTimeFlag = .True.
LOGICAL, SAVE :: MyEnvrnFlag = .true.
INTEGER I
if (OneTimeFlag) then
ALLOCATE(AirflowNetworkExchangeData(NumOfZones)) ! AirflowNetwork exchange data due to air-forced system
If (SupplyFanType .EQ. FanType_SimpleOnOff) then
ALLOCATE(AirflowNetworkMultiExchangeData(NumOfZones))
End If
OneTimeFlag = .False.
IF (Contaminant%CO2Simulation) Then
DO i=1, NumOfZOnes
CALL SetupOutputVariable('AFN Zone Outdoor Air Mass Flow Rate [kg/s]',AirflowNetworkExchangeData(i)%SumMHr, &
'System','Average',Zone(i)%Name)
CALL SetupOutputVariable('AFN Zone Mixing Mass Flow Rate [kg/s]',AirflowNetworkExchangeData(i)%SumMMHr, &
'System','Average',Zone(i)%Name)
CALL SetupOutputVariable('AFN Zone Outdoor Air CO2 Mass Flow Rate [kg/s]',AirflowNetworkExchangeData(i)%SumMHrCO, &
'System','Average',Zone(i)%Name)
CALL SetupOutputVariable('AFN Zone Mixing CO2 Mass Flow Rate [kg/s]',AirflowNetworkExchangeData(i)%SumMMHrCO, &
'System','Average',Zone(i)%Name)
CALL SetupOutputVariable('AFN Zone Total CO2 Mass Flow Rate [kg/s]',AirflowNetworkExchangeData(i)%TotalCO2, &
'System','Average',Zone(i)%Name)
END DO
END IF
IF (Contaminant%GenericContamSimulation) Then
DO i=1, NumOfZOnes
IF (.NOT. Contaminant%CO2Simulation) Then
CALL SetupOutputVariable('AFN Zone Outdoor Air Mass Flow Rate [kg/s]',AirflowNetworkExchangeData(i)%SumMHr, &
'System','Average',Zone(i)%Name)
CALL SetupOutputVariable('AFN Zone Mixing Mass Flow Rate [kg/s]',AirflowNetworkExchangeData(i)%SumMMHr, &
'System','Average',Zone(i)%Name)
End If
CALL SetupOutputVariable('AFN Zone Outdoor Air Generic Air Contaminant Mass Flow Rate [kg/s]', &
AirflowNetworkExchangeData(i)%SumMHrGC,'System','Average',Zone(i)%Name)
CALL SetupOutputVariable('AFN Zone Mixing Generic Air Contaminant Mass Flow Rate [kg/s]', &
AirflowNetworkExchangeData(i)%SumMMHrGC,'System','Average',Zone(i)%Name)
CALL SetupOutputVariable('AFN Zone Total Generic Air Contaminant Mass Flow Rate [kg/s]', &
AirflowNetworkExchangeData(i)%TotalGC,'System','Average',Zone(i)%Name)
END DO
END IF
end if
IF (BeginEnvrnFlag .and. MyEnvrnFlag) THEN
! Assign node values
DO I=1,AirflowNetworkNumOfNodes
AirflowNetworkNodeSimu(I)%TZ = 23.0d0
AirflowNetworkNodeSimu(I)%WZ = 0.00084d0
AirflowNetworkNodeSimu(I)%PZ = 0.0d0
IF (Contaminant%CO2Simulation) AirflowNetworkNodeSimu(I)%CO2Z = OutdoorCO2
IF (Contaminant%GenericContamSimulation) AirflowNetworkNodeSimu(I)%GCZ = OutdoorGC
END DO
DO I=1,AirflowNetworkNumOfLinks
AirflowNetworkLinkSimu(I)%flow = 0.0d0
AirflowNetworkLinkSimu(I)%flow2 = 0.0d0
END DO
DO I=1,NumOfZones
ANZT(I) = MAT(I)
ANZW(I) = ZoneAirHumRat(I)
IF (Contaminant%CO2Simulation) ANCO(I) = ZoneAirCO2(I)
IF (Contaminant%GenericContamSimulation) ANGC(I) = ZoneAirGC(I)
End Do
MyEnvrnFlag=.false.
ENDIF
IF (.not. BeginEnvrnFlag) THEN
MyEnvrnFlag=.true.
if (SimulateAirflowNetwork .gt. AirflowNetworkControlSimple) then
If (RollBackFlag) then
DO I=1,NumOfZones
ANZT(I) = XMAT(I)
ANZW(I) = WZoneTimeMinus1(I)
IF (Contaminant%CO2Simulation) ANCO(I) = CO2ZoneTimeMinus1(I)
IF (Contaminant%GenericContamSimulation) ANGC(I) = GCZoneTimeMinus1(I)
End Do
else
DO I=1,NumOfZones
ANZT(I) = MAT(I)
ANZW(I) = ZoneAirHumRat(I)
IF (Contaminant%CO2Simulation) ANCO(I) = ZoneAirCO2(I)
IF (Contaminant%GenericContamSimulation) ANGC(I) = ZoneAirGC(I)
End Do
end if
DO I=1,AirflowNetworkNumOfNodes
if (AirflowNetworkNodeData(i)%EPlusZoneNum > 0) then
AirflowNetworkNodeSimu(I)%TZ = ANZT(AirflowNetworkNodeData(i)%EPlusZoneNum)
AirflowNetworkNodeSimu(I)%WZ = ANZW(AirflowNetworkNodeData(i)%EPlusZoneNum)
IF (Contaminant%CO2Simulation) AirflowNetworkNodeSimu(I)%CO2Z = ANCO(AirflowNetworkNodeData(i)%EPlusZoneNum)
IF (Contaminant%GenericContamSimulation) AirflowNetworkNodeSimu(I)%GCZ = ANGC(AirflowNetworkNodeData(i)%EPlusZoneNum)
end if
if (AirflowNetworkNodeData(i)%ExtNodeNum > 0) then
AirflowNetworkNodeSimu(I)%TZ = OutDryBulbTempAt(AirflowNetworkNodeData(i)%NodeHeight)
AirflowNetworkNodeSimu(I)%WZ = OutHumRat
IF (Contaminant%CO2Simulation) AirflowNetworkNodeSimu(I)%CO2Z = OutdoorCO2
IF (Contaminant%GenericContamSimulation) AirflowNetworkNodeSimu(I)%GCZ = OutdoorGC
end if
END DO
End If
ENDIF
AirflowNetworkExchangeData%TotalSen = 0.0d0
AirflowNetworkExchangeData%TotalLat = 0.0d0
AirflowNetworkExchangeData%MultiZoneSen = 0.0d0
AirflowNetworkExchangeData%MultiZoneLat = 0.0d0
AirflowNetworkExchangeData%LeakSen = 0.0d0
AirflowNetworkExchangeData%LeakLat = 0.0d0
AirflowNetworkExchangeData%CondSen = 0.0d0
AirflowNetworkExchangeData%DiffLat = 0.0d0
IF (Contaminant%CO2Simulation) AirflowNetworkExchangeData%TotalCO2 = 0.0d0
IF (Contaminant%GenericContamSimulation) AirflowNetworkExchangeData%TotalGC = 0.0d0
RETURN
END SUBROUTINE InitAirflowNetwork