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.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | HPNum |
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 UpdateSimpleWatertoAirHP(HPNum)
! SUBROUTINE INFORMATION:
! AUTHOR Arun Shenoy
! DATE WRITTEN Jan 2004
! MODIFIED na
! RE-ENGINEERED Kenneth Tang (Jan 2005)
! PURPOSE OF THIS SUBROUTINE:
! This subroutine updates the Water to Air Heat Pump outlet nodes.
! METHODOLOGY EMPLOYED:
! Data is moved from the HP data structure to the HP outlet nodes.
! REFERENCES:
! na
! USE STATEMENTS:
USE DataHVACGlobals, ONLY: TimeStepSys
USe PlantUtilities, ONLY: SafeCopyPlantNode
USE DataContaminantBalance, ONLY: Contaminant
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER , INTENT(In) :: HPNum
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: AirInletNode
INTEGER :: WaterInletNode
INTEGER :: AirOutletNode
INTEGER :: WaterOutletNode
REAL(r64) :: ReportingConstant
!WatertoAirHP(HPNum)%Simflag=.FALSE.
IF(.NOT. SimpleWatertoAirHP(HPNum)%Simflag)THEN
! Heatpump is off; just pass through conditions
SimpleWatertoAirHP(HPNum)%Power = 0.0d0
SimpleWatertoAirHP(HPNum)%QLoadTotal = 0.0d0
SimpleWatertoAirHP(HPNum)%QSensible = 0.0d0
SimpleWatertoAirHP(HPNum)%QLatent = 0.0d0
SimpleWatertoAirHP(HPNum)%QSource = 0.0d0
SimpleWatertoAirHP(HPNum)%Energy = 0.0d0
SimpleWatertoAirHP(HPNum)%EnergyLoadTotal = 0.0d0
SimpleWatertoAirHP(HPNum)%EnergySensible = 0.0d0
SimpleWatertoAirHP(HPNum)%EnergyLatent = 0.0d0
SimpleWatertoAirHP(HPNum)%EnergySource = 0.0d0
SimpleWatertoAirHP(HPNum)%COP = 0.0d0
SimpleWatertoAirHP(HPNum)%RunFrac = 0.0d0
SimpleWatertoAirHP(HPNum)%PartLoadRatio = 0.0d0
SimpleWatertoAirHP(HPNum)%OutletAirDBTemp = SimpleWatertoAirHP(HPNum)%InletAirDBTemp
SimpleWatertoAirHP(HPNum)%OutletAirHumRat = SimpleWatertoAirHP(HPNum)%InletAirHumRat
SimpleWatertoAirHP(HPNum)%OutletAirEnthalpy = SimpleWatertoAirHP(HPNum)%InletAirEnthalpy
SimpleWatertoAirHP(HPNum)%OutletWaterTemp = SimpleWatertoAirHP(HPNum)%InletWaterTemp
SimpleWatertoAirHP(HPNum)%OutletWaterEnthalpy = SimpleWatertoAirHP(HPNum)%InletWaterEnthalpy
END IF
AirInletNode = SimpleWatertoAirHP(HPNum)%AirInletNodeNum
WaterInletNode = SimpleWatertoAirHP(HPNum)%WaterInletNodeNum
AirOutletNode = SimpleWatertoAirHP(HPNum)%AirOutletNodeNum
WaterOutletNode = SimpleWatertoAirHP(HPNum)%WaterOutletNodeNum
! Set the air outlet nodes of the WatertoAirHPSimple
Node(AirOutletNode)%MassFlowRate = Node(AirInletNode)%MassFlowRate !LoadSideMassFlowRate
Node(AirOutletNode)%Temp = SimpleWatertoAirHP(HPNum)%OutletAirDBTemp
Node(AirOutletNode)%HumRat = SimpleWatertoAirHP(HPNum)%OutletAirHumRat
Node(AirOutletNode)%Enthalpy = SimpleWatertoAirHP(HPNum)%OutletAirEnthalpy
! Set the air outlet nodes for properties that just pass through & not used
Node(AirOutletNode)%Quality = Node(AirInletNode)%Quality
Node(AirOutletNode)%Press = Node(AirInletNode)%Press
Node(AirOutletNode)%MassFlowRateMin = Node(AirInletNode)%MassFlowRateMin
Node(AirOutletNode)%MassFlowRateMax = Node(AirInletNode)%MassFlowRateMax !LoadSideMassFlowRate
Node(AirOutletNode)%MassFlowRateMinAvail = Node(AirInletNode)%MassFlowRateMinAvail
Node(AirOutletNode)%MassFlowRateMaxAvail = Node(AirInletNode)%MassFlowRateMaxAvail !LoadSideMassFlowRate
! Set the water outlet node of the WatertoAirHPSimple
! Set the water outlet nodes for properties that just pass through & not used
CALL SafeCopyPlantNode(WaterInletNode , WaterOutletNode)
Node(WaterOutletNode)%Temp = SimpleWatertoAirHP(HPNum)%OutletWaterTemp
Node(WaterOutletNode)%Enthalpy = SimpleWatertoAirHP(HPNum)%OutletWaterEnthalpy
ReportingConstant = TimeStepSys*SecInHour
SimpleWatertoAirHP(HPNum)%Energy = SimpleWatertoAirHP(HPNum)%Power*ReportingConstant
SimpleWatertoAirHP(HPNum)%EnergyLoadTotal = SimpleWatertoAirHP(HPNum)%QLoadTotal*ReportingConstant
SimpleWatertoAirHP(HPNum)%EnergySensible = SimpleWatertoAirHP(HPNum)%QSensible*ReportingConstant
SimpleWatertoAirHP(HPNum)%EnergyLatent = SimpleWatertoAirHP(HPNum)%QLatent*ReportingConstant
SimpleWatertoAirHP(HPNum)%EnergySource = SimpleWatertoAirHP(HPNum)%QSource*ReportingConstant
IF (Contaminant%CO2Simulation) Then
Node(AirOutletNode)%CO2 = Node(AirInletNode)%CO2
End If
IF (Contaminant%GenericContamSimulation) Then
Node(AirOutletNode)%GenContam = Node(AirInletNode)%GenContam
End If
RETURN
END SUBROUTINE UpdateSimpleWatertoAirHP