Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | PTUnitNum | |||
real(kind=r64), | intent(in) | :: | PartLoadFrac | |||
real(kind=r64), | intent(inout) | :: | OnOffAirFlowRatio |
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 SetOnOffMassFlowRate(PTUnitNum, PartLoadFrac, OnOffAirFlowRatio)
! SUBROUTINE INFORMATION:
! AUTHOR Richard Raustad
! DATE WRITTEN November 2008
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This subroutine is for initializations of the operating flow rates.
! METHODOLOGY EMPLOYED:
! Set cooling or heating and no cooling or heating flow rate.
! Set mass flow rate using PLR and call to Subroutine SetAverageAirFlow.
! REFERENCES:
! na
! USE STATEMENTS:
! na
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER, INTENT (IN) :: PTUnitNum ! number of the current PTHP unit being simulated
REAL(r64), INTENT (IN) :: PartLoadFrac ! coil operating part-load ratio
REAL(r64), INTENT (INOUT) :: OnOffAirFlowRatio ! ratio of coil on to coil off air flow rate
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
! na
! Set the operating air mass flow rate
IF (PTUnit(PTUnitNum)%OpMode .EQ. ContFanCycCoil) THEN
! constant fan mode
IF (HeatingLoad) THEN
CompOnMassFlow = PTUnit(PTUnitNum)%MaxHeatAirMassFlow
CompOnFlowRatio = PTUnit(PTUnitNum)%HeatingSpeedRatio
OACompOnMassFlow = PTUnit(PTUnitNum)%HeatOutAirMassFlow
PTUnit(PTUnitNum)%LastMode = HeatingMode
ELSE IF (CoolingLoad) THEN
CompOnMassFlow = PTUnit(PTUnitNum)%MaxCoolAirMassFlow
CompOnFlowRatio = PTUnit(PTUnitNum)%CoolingSpeedRatio
OACompOnMassFlow = PTUnit(PTUnitNum)%CoolOutAirMassFlow
PTUnit(PTUnitNum)%LastMode = CoolingMode
ELSE
CompOnMassFlow = PTUnit(PTUnitNum)%MaxNoCoolHeatAirMassFlow
CompOnFlowRatio = PTUnit(PTUnitNum)%NoHeatCoolSpeedRatio
OACompOnMassFlow = PTUnit(PTUnitNum)%NoCoolHeatOutAirMassFlow
END IF
IF (PTUnit(PTUnitNum)%AirFlowControl .EQ. UseCompressorOnFlow) THEN
IF (PTUnit(PTUnitNum)%LastMode .EQ. HeatingMode) THEN
CompOffMassFlow = PTUnit(PTUnitNum)%MaxHeatAirMassFlow
CompOffFlowRatio = PTUnit(PTUnitNum)%HeatingSpeedRatio
OACompOffMassFlow = PTUnit(PTUnitNum)%HeatOutAirMassFlow
ELSE
CompOffMassFlow = PTUnit(PTUnitNum)%MaxCoolAirMassFlow
CompOffFlowRatio = PTUnit(PTUnitNum)%CoolingSpeedRatio
OACompOffMassFlow = PTUnit(PTUnitNum)%CoolOutAirMassFlow
END IF
ELSE
CompOffMassFlow = PTUnit(PTUnitNum)%MaxNoCoolHeatAirMassFlow
CompOffFlowRatio = PTUnit(PTUnitNum)%NoHeatCoolSpeedRatio
OACompOffMassFlow = PTUnit(PTUnitNum)%NoCoolHeatOutAirMassFlow
END IF
ELSE
! cycling fan mode
IF (HeatingLoad) THEN
CompOnMassFlow = PTUnit(PTUnitNum)%MaxHeatAirMassFlow
CompOnFlowRatio = PTUnit(PTUnitNum)%HeatingSpeedRatio
OACompOnMassFlow = PTUnit(PTUnitNum)%HeatOutAirMassFlow
ELSE IF (CoolingLoad) THEN
CompOnMassFlow = PTUnit(PTUnitNum)%MaxCoolAirMassFlow
CompOnFlowRatio = PTUnit(PTUnitNum)%CoolingSpeedRatio
OACompOnMassFlow = PTUnit(PTUnitNum)%CoolOutAirMassFlow
ELSE
CompOnMassFlow = 0.0d0
CompOnFlowRatio = 0.0d0
OACompOnMassFlow = 0.0d0
END IF
CompOffMassFlow = 0.0d0
CompOffFlowRatio = 0.0d0
OACompOffMassFlow = 0.0d0
END IF
CALL SetAverageAirFlow(PTUnitNum, PartLoadFrac, OnOffAirFlowRatio)
RETURN
END SUBROUTINE SetOnOffMassFlowRate