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 CalcFollowSysNodeTempSetPoint(SetPtMgrNum)
! SUBROUTINE INFORMATION:
! AUTHOR Chandan Sharma, FSEC
! DATE WRITTEN July 2011
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Set the setpoint based on current temperatures at a separate system node.
! METHODOLOGY EMPLOYED:
! The current value of the temperature at a reference node are obtained and used
! to generate setpoint on a second system node. If the reference node is also designated
! to be an outdoor air (intake) node, then this setpoint manager can be used to follow
! outdoor air conditions that are adjusted for altitude.
! Also, based on reference temperature type specifed in the setpoint manager, the out door air wet-bulb
! or dry-bulb temperature at the reference node could be used.
! A temperature offset will be applied to the value obtained from the reference system node.
! If this value is zero, and the limits are met, then the resulting setpoint will be exactly the same
! as the reference system node temperature. The sign convention is that a positive offset will increase
! the resulting setpoint.
! REFERENCES:
! na
! USE STATEMENTS:
! na
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 :: RefNode ! setpoint reference node number
REAL(r64) :: RefNodeTemp ! setpoint at reference node
REAL(r64) :: MinSetPoint ! minimum allowed setpoint
REAL(r64) :: MaxSetPoint ! maximum allowed setpoint
RefNodeTemp = 0.d0
MaxSetPoint = FollowSysNodeTempSetPtMgr(SetPtMgrNum)%MaxSetTemp
MinSetPoint = FollowSysNodeTempSetPtMgr(SetPtMgrNum)%MinSetTemp
RefNode = FollowSysNodeTempSetPtMgr(SetPtMgrNum)%RefNodeNum
SELECT CASE(FollowSysNodeTempSetPtMgr(SetPtMgrNum)%RefTypeMode)
CASE(iRefTempType_WetBulb)
IF (Allocated(MoreNodeInfo)) THEN
RefNodeTemp = MoreNodeInfo(RefNode)%WetbulbTemp
ENDIF
CASE(iRefTempType_DryBulb)
RefNodeTemp = Node(RefNode)%Temp
END SELECT
FollowSysNodeTempSetPtMgr(SetPtMgrNum)%SetPt = RefNodeTemp + FollowSysNodeTempSetPtMgr(SetPtMgrNum)%OffSet
! Apply maximum and minimum values
FollowSysNodeTempSetPtMgr(SetPtMgrNum)%SetPt = MAX(FollowSysNodeTempSetPtMgr(SetPtMgrNum)%SetPt, MinSetPoint)
FollowSysNodeTempSetPtMgr(SetPtMgrNum)%SetPt = MIN(FollowSysNodeTempSetPtMgr(SetPtMgrNum)%SetPt, MaxSetPoint)
RETURN
END SUBROUTINE CalcFollowSysNodeTempSetPoint