Nodes of different colours represent the following:
Solid arrows point from one derived type to another which extends (inherits from) it. Dashed arrows point from a derived type to another type containing it as a components, with a label listing the name(s) of said component(s). Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=MaxNameLength), | public | :: | Name | = | ' ' | ||
real(kind=r64), | public | :: | DesignVolFlowRate | = | 0.0d0 | ||
integer, | public | :: | NumControllers | = | 0 | ||
character(len=MaxNameLength), | public, | DIMENSION(:), ALLOCATABLE | :: | ControllerName | |||
character(len=MaxNameLength), | public, | DIMENSION(:), ALLOCATABLE | :: | ControllerType | |||
integer, | public, | DIMENSION(:), ALLOCATABLE | :: | ControllerIndex | |||
logical, | public, | DIMENSION(:), ALLOCATABLE | :: | CanBeLockedOutByEcono | |||
integer, | public | :: | NumBranches | = | 0 | ||
type(AirLoopBranchData), | public, | DIMENSION(:), ALLOCATABLE | :: | Branch | |||
type(AirLoopSplitterData), | public | :: | Splitter | ||||
type(AirLoopMixerData), | public | :: | Mixer | ||||
logical, | public, | DIMENSION(:), ALLOCATABLE | :: | ControlConverged | |||
integer, | public | :: | NumOutletBranches | = | 0 | ||
integer, | public, | DIMENSION(3) | :: | OutletBranchNum | = | 0 | |
integer, | public | :: | NumInletBranches | = | 0 | ||
integer, | public, | DIMENSION(3) | :: | InletBranchNum | = | 0 | |
logical, | public | :: | OASysExists | = | .false. | ||
integer, | public | :: | OASysInletNodeNum | = | 0 | ||
integer, | public | :: | OASysOutletNodeNum | = | 0 | ||
integer, | public | :: | OAMixOAInNodeNum | = | 0 | ||
logical, | public | :: | RABExists | = | .false. | ||
integer, | public | :: | RABMixInNode | = | 0 | ||
integer, | public | :: | SupMixInNode | = | 0 | ||
integer, | public | :: | MixOutNode | = | 0 | ||
integer, | public | :: | RABSplitOutNode | = | 0 | ||
integer, | public | :: | OtherSplitOutNode | = | 0 | ||
integer, | public | :: | NumOACoolCoils | = | 0 | ||
integer, | public | :: | NumOAHeatCoils | = | 0 | ||
logical, | public | :: | SizeAirloopCoil | = | .TRUE. |
TYPE :: DefinePrimaryAirSystem ! There is an array of these for each primary air system
CHARACTER(len=MaxNameLength) :: Name =' ' ! name of the system
REAL(r64) :: DesignVolFlowRate = 0.0d0 ! the design total supply air flow rate (m3/s)
INTEGER :: NumControllers = 0 ! number of controllers on this air path
CHARACTER(len=MaxNameLength),DIMENSION(:),ALLOCATABLE :: ControllerName ! name of each controller on this system
CHARACTER(len=MaxNameLength),DIMENSION(:),ALLOCATABLE :: ControllerType ! type of each controller on this system
INTEGER,DIMENSION(:),ALLOCATABLE :: ControllerIndex
LOGICAL,DIMENSION(:),ALLOCATABLE :: CanBeLockedOutByEcono ! true if controller inactive
! when the economizer is active
INTEGER :: NumBranches = 0 ! number of branches making up this system
TYPE (AirLoopBranchData),DIMENSION(:),ALLOCATABLE :: Branch ! data for each branch
TYPE (AirLoopSplitterData) :: Splitter ! Data for splitter (if any)
TYPE (AirLoopMixerData) :: Mixer ! Data for mixer (if any)
Logical,DIMENSION(:),ALLOCATABLE :: ControlConverged ! Convergence Parameter for controllers
INTEGER :: NumOutletBranches = 0
INTEGER,DIMENSION(3) :: OutletBranchNum = 0 ! branch numbers of system outlets
INTEGER :: NumInletBranches = 0
INTEGER,DIMENSION(3) :: InletBranchNum = 0 ! branch number of system inlets
LOGICAL :: OASysExists = .false. ! true if there is an Outside Air Sys
INTEGER :: OASysInletNodeNum = 0 ! node number of return air inlet to OA sys
INTEGER :: OASysOutletNodeNum= 0 ! node number of mixed air outlet of OA sys
INTEGER :: OAMixOAInNodeNum = 0 ! node number of the OA stream inlet to the
! OA mixer component.
LOGICAL :: RABExists = .false. ! true if there is a RAB
INTEGER :: RABMixInNode = 0 ! node num of RAB mixer inlet
INTEGER :: SupMixInNode = 0 ! node num of supply air inlet to mixer
INTEGER :: MixOutNode = 0 ! outlet node of mixer
INTEGER :: RABSplitOutNode = 0 ! node num of RAB splitter outlet
INTEGER :: OtherSplitOutNode = 0 ! node num of nonRAB splitter outlet
INTEGER :: NumOACoolCoils = 0 ! number of cooling coils in the outside air system
INTEGER :: NumOAHeatCoils = 0 ! number of heating coils in the outside air system
LOGICAL :: SizeAirloopCoil = .TRUE. ! simulates air loop coils before calling controllers
END TYPE DefinePrimaryAirSystem