Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | NodeNum | |||
integer, | intent(in) | :: | iCtrlVarType |
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.
LOGICAL FUNCTION NodeHasSPMCtrlVarType(NodeNum,iCtrlVarType)
! FUNCTION INFORMATION:
! AUTHOR Chandan Sharma
! DATE WRITTEN March 2013
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Determines if a particular node is acted upon by a specific setpoint manager
! METHODOLOGY EMPLOYED:
! Cycle through all setpoint managers and find if the node has a specific control type
! REFERENCES:
! na
! USE STATEMENTS:
! na
! INTERFACE BLOCK SPECIFICATIONS
! na
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER, INTENT(IN) :: NodeNum
INTEGER, INTENT(IN) :: iCtrlVarType
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER SetPtMgrNum ! loop counter for each set point manager
INTEGER NumNode ! loop counter for each node and specific control type
! FLOW:
! First time called, get the input for all the setpoint managers
IF (GetInputFlag) THEN
CALL GetSetPointManagerInputs
GetInputFlag = .FALSE.
END IF
! Initialize to false that node is not controlled by set point manager
NodeHasSPMCtrlVarType = .FALSE.
SPMLoop: DO SetPtMgrNum = 1, NumAllSetPtMgrs
DO NumNode = 1, AllSetPtMgr(SetPtMgrNum)%NumCtrlNodes
IF(NodeNum == AllSetPtMgr(SetPtMgrNum)%CtrlNodes(NumNode)) THEN
IF(AllSetPtMgr(SetPtMgrNum)%CtrlTypeMode == iCtrlVarType)THEN
! If specific control type is found, it doesn't matter if there are other of same type.
NodeHasSPMCtrlVarType = .TRUE.
EXIT SPMLoop
END IF
END IF
END DO
END DO SPMLoop
RETURN
END FUNCTION NodeHasSPMCtrlVarType