Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | ConnectorListName | |||
type(ConnectorData), | intent(inout) | :: | Connectoid | |||
integer, | intent(in), | optional | :: | NumInList |
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 GetConnectorList(ConnectorListName,Connectoid,NumInList)
! SUBROUTINE INFORMATION:
! AUTHOR Linda K. Lawrie
! DATE WRITTEN October 1999
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Obtains connector data for requested connector list. Also,
! this subroutine gets the input for the following IDD structure:
! ConnectorList,
! \memo only two connectors allowed per loop
! \memo if two entered, one must be Connector:Splitter and one must be Connector:Mixer
! A1, \field Name
! \required-field
! \reference ConnectorLists
! A2, \field Connector 1 Object Type
! \required-field
! \key Connector:Splitter
! \key Connector:Mixer
! A3, \field Connector 1 Name
! \required-field
! A4, \field Connector 2 Object Type
! \key Connector:Splitter
! \key Connector:Mixer
! A5; \field Connector 2 Name
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
! na
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
CHARACTER(len=*), INTENT(IN) :: ConnectorListName ! Requested Connector List
TYPE(ConnectorData), INTENT(INOUT) :: Connectoid ! Returned Connector Data
INTEGER, OPTIONAL, INTENT(IN) :: NumInList ! Number of the current connector in the list of connectors
! SUBROUTINE PARAMETER DEFINITIONS:
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: Count ! Loop Counter
IF (GetConnectorListInputFlag) THEN
CALL GetConnectorListInput
GetConnectorListInputFlag=.false.
ENDIF
IF (ConnectorListName /= ' ') THEN
Count=FindItemInList(ConnectorListName,ConnectorLists%Name,NumOfConnectorLists)
IF (Count == 0) THEN
CALL ShowFatalError('GetConnectorList: Connector List not found='//TRIM(ConnectorListName))
ENDIF
Connectoid=ConnectorLists(Count)
IF(PRESENT(NumInList)) THEN
Connectoid%ConnectorType(1) = ConnectorLists(Count)%ConnectorType(NumInList)
Connectoid%ConnectorName(1) = ConnectorLists(Count)%ConnectorName(NumInList)
Connectoid%ConnectorType(2) = ' '
Connectoid%ConnectorName(2) = ' '
END IF
ELSE
Connectoid%Name=' '
Connectoid%NumOfConnectors=0
Connectoid%ConnectorType(1)=' '
Connectoid%ConnectorType(2)=' '
Connectoid%ConnectorName(1)=' '
Connectoid%ConnectorName(2)=' '
ENDIF
RETURN
END SUBROUTINE GetConnectorList