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) | :: | DXCoilNum |
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 UpdateVarSpeedCoil(DXCoilNum)
! SUBROUTINE INFORMATION:
! AUTHOR Bo Shen, based on WatertoAirHeatPumpSimple:UpdateSimpleWSHP
! DATE WRITTEN March 2012
! MODIFIED na
! RE-ENGINEERED na
! 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) :: DXCoilNum
! 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(DXCoilNum)%Simflag=.FALSE.
IF(.NOT. VarSpeedCoil(DXCoilNum)%Simflag)THEN
! Heatpump is off; just pass through conditions
VarSpeedCoil(DXCoilNum)%Power = 0.0d0
VarSpeedCoil(DXCoilNum)%QLoadTotal = 0.0d0
VarSpeedCoil(DXCoilNum)%QSensible = 0.0d0
VarSpeedCoil(DXCoilNum)%QLatent = 0.0d0
VarSpeedCoil(DXCoilNum)%QSource = 0.0d0
VarSpeedCoil(DXCoilNum)%Energy = 0.0d0
VarSpeedCoil(DXCoilNum)%EnergyLoadTotal = 0.0d0
VarSpeedCoil(DXCoilNum)%EnergySensible = 0.0d0
VarSpeedCoil(DXCoilNum)%EnergyLatent = 0.0d0
VarSpeedCoil(DXCoilNum)%EnergySource = 0.0d0
VarSpeedCoil(DXCoilNum)%COP = 0.0d0
VarSpeedCoil(DXCoilNum)%RunFrac = 0.0d0
VarSpeedCoil(DXCoilNum)%PartLoadRatio = 0.0d0
VarSpeedCoil(DXCoilNum)%OutletAirDBTemp = VarSpeedCoil(DXCoilNum)%InletAirDBTemp
VarSpeedCoil(DXCoilNum)%OutletAirHumRat = VarSpeedCoil(DXCoilNum)%InletAirHumRat
VarSpeedCoil(DXCoilNum)%OutletAirEnthalpy = VarSpeedCoil(DXCoilNum)%InletAirEnthalpy
VarSpeedCoil(DXCoilNum)%OutletWaterTemp = VarSpeedCoil(DXCoilNum)%InletWaterTemp
VarSpeedCoil(DXCoilNum)%OutletWaterEnthalpy = VarSpeedCoil(DXCoilNum)%InletWaterEnthalpy
END IF
AirInletNode = VarSpeedCoil(DXCoilNum)%AirInletNodeNum
WaterInletNode = VarSpeedCoil(DXCoilNum)%WaterInletNodeNum
AirOutletNode = VarSpeedCoil(DXCoilNum)%AirOutletNodeNum
WaterOutletNode = VarSpeedCoil(DXCoilNum)%WaterOutletNodeNum
! Set the air outlet nodes of the WatertoAirHPSimple
Node(AirOutletNode)%MassFlowRate = Node(AirInletNode)%MassFlowRate !LoadSideMassFlowRate
Node(AirOutletNode)%Temp = VarSpeedCoil(DXCoilNum)%OutletAirDBTemp
Node(AirOutletNode)%HumRat = VarSpeedCoil(DXCoilNum)%OutletAirHumRat
Node(AirOutletNode)%Enthalpy = VarSpeedCoil(DXCoilNum)%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
IF(WaterInletNode /=0 .AND. WaterOutletNode /=0) THEN
CALL SafeCopyPlantNode(WaterInletNode , WaterOutletNode)
Node(WaterOutletNode)%Temp = VarSpeedCoil(DXCoilNum)%OutletWaterTemp
Node(WaterOutletNode)%Enthalpy = VarSpeedCoil(DXCoilNum)%OutletWaterEnthalpy
END IF
ReportingConstant = TimeStepSys*SecInHour
VarSpeedCoil(DXCoilNum)%Energy = VarSpeedCoil(DXCoilNum)%Power*ReportingConstant
VarSpeedCoil(DXCoilNum)%EnergyLoadTotal = VarSpeedCoil(DXCoilNum)%QLoadTotal*ReportingConstant
VarSpeedCoil(DXCoilNum)%EnergySensible = VarSpeedCoil(DXCoilNum)%QSensible*ReportingConstant
VarSpeedCoil(DXCoilNum)%EnergyLatent = VarSpeedCoil(DXCoilNum)%QLatent*ReportingConstant
VarSpeedCoil(DXCoilNum)%EnergySource = VarSpeedCoil(DXCoilNum)%QSource*ReportingConstant
IF (Contaminant%CO2Simulation) Then
Node(AirOutletNode)%CO2 = Node(AirInletNode)%CO2
End If
RETURN
END SUBROUTINE UpdateVarSpeedCoil