Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | SetPtMgrNum |
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 CalcRABFlowSetPoint(SetPtMgrNum)
! SUBROUTINE INFORMATION:
! AUTHOR Fred Buhl
! DATE WRITTEN July 2005
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Given the desired setpoint temperature, calulate the flow rate through the
! return asir branch that will deliver the desired temperature at the loop outlet
! node.
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER, INTENT (IN) :: SetPtMgrNum ! number of the current setpoint manager being simulated
! SUBROUTINE PARAMETER DEFINITIONS:
! INTERFACE BLOCK SPECIFICATIONS
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: MixerRABInNode ! Mixer RAB inlet node number
INTEGER :: MixerSupInNode ! Mixer supply inlet node number
INTEGER :: MixerOutNode ! Mixer outlet node number
INTEGER :: LoopOutNode ! loop outlet node number
REAL(r64) :: TempSetPt ! the setpoint temperature (from schedule) [C]
REAL(r64) :: TempSetPtMod ! the setpoint temperature modified for fan heat gain [C]
REAL(r64) :: SupFlow ! supply flow rate before mixing [kg/s]
REAL(r64) :: RABFlow ! Return Air Bypass flow rate [kg/s]
REAL(r64) :: TotSupFlow ! supply air flow after mixing [kg/s]
REAL(r64) :: TempSup ! temperature of supply air before mixing [kg/s]
REAL(r64) :: TempRAB ! temperature of return bypass air
MixerRABInNode = RABFlowSetPtMgr(SetPtMgrNum)%RABMixInNode
MixerSupInNode = RABFlowSetPtMgr(SetPtMgrNum)%SupMixInNode
MixerOutNode = RABFlowSetPtMgr(SetPtMgrNum)%MixOutNode
LoopOutNode = RABFlowSetPtMgr(SetPtMgrNum)%SysOutNode
TempSetPt = GetCurrentScheduleValue(RABFlowSetPtMgr(SetPtMgrNum)%SchedPtr)
TempSetPtMod = TempSetPt - (Node(LoopOutNode)%Temp - Node(MixerOutNode)%Temp)
SupFlow = Node(MixerSupInNode)%MassFlowRate
TempSup = Node(MixerSupInNode)%Temp
TotSupFlow = Node(MixerOutNode)%MassFlowRate
TempRAB = Node(MixerRABInNode)%Temp
RABFlow = (TotSupFlow*TempSetPtMod - SupFlow*TempSup) / Max(TempRAB,1.0d0)
RABFlow = Max(0.0d0,RABFlow)
RABFlowSetPtMgr(SetPtMgrNum)%FlowSetPt = RABFlow
RETURN
END SUBROUTINE CalcRABFlowSetPoint