| 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