Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | SimLoopSideNeeded | = | .TRUE. | ||
logical, | public | :: | SimZoneEquipNeeded | = | .TRUE. | ||
logical, | public | :: | SimAirLoopsNeeded | = | .TRUE. | ||
logical, | public | :: | SimNonZoneEquipNeeded | = | .TRUE. | ||
logical, | public | :: | SimElectLoadCentrNeeded | = | .TRUE. | ||
logical, | public | :: | OncePerTimeStepOperations | = | .TRUE. | ||
real(kind=r64), | public | :: | TimeElapsed | = | 0.d0 | ||
real(kind=r64), | public | :: | FlowRequest | = | 0.0d0 | ||
real(kind=r64), | public | :: | FlowRequestTemperature | = | 0.0d0 | ||
real(kind=r64), | public | :: | TempSetPoint | = | SensedNodeFlagValue | ||
real(kind=r64), | public | :: | TempSetPointHi | = | SensedNodeFlagValue | ||
real(kind=r64), | public | :: | TempSetPointLO | = | SensedNodeFlagValue | ||
real(kind=r64), | public | :: | TempInterfaceTankOutlet | = | 0.0d0 | ||
real(kind=r64), | public | :: | LastTempInterfaceTankOutlet | = | 0.0d0 | ||
character(len=MaxNameLength), | public | :: | BranchList | = | ' ' | ||
character(len=MaxNameLength), | public | :: | ConnectList | = | ' ' | ||
integer, | public | :: | TotalBranches | = | 0 | ||
integer, | public | :: | NodeNumIn | = | 0 | ||
character(len=MaxNameLength), | public | :: | NodeNameIn | = | ' ' | ||
integer, | public | :: | NodeNumOut | = | 0 | ||
character(len=MaxNameLength), | public | :: | NodeNameOut | = | ' ' | ||
integer, | public | :: | NumSplitters | = | 0 | ||
integer, | public | :: | NumMixers | = | 0 | ||
logical, | public | :: | SplitterExists | = | .FALSE. | ||
logical, | public | :: | MixerExists | = | .FALSE. | ||
integer, | public | :: | TotalPumps | = | 0 | ||
logical, | public | :: | BranchPumpsExist | = | .FALSE. | ||
type(LoopSidePumpInformation), | public, | ALLOCATABLE, DIMENSION(:) | :: | Pumps | |||
real(kind=r64), | public | :: | TotalPumpHeat | = | 0.0d0 | ||
logical, | public | :: | ByPassExists | = | .FALSE. | ||
logical, | public | :: | InletNodeSetPt | = | .FALSE. | ||
logical, | public | :: | OutletNodeSetPt | = | .FALSE. | ||
logical, | public | :: | EMSCtrl | = | .FALSE. | ||
real(kind=r64), | public | :: | EMSValue | ||||
logical, | public | :: | FlowRestrictionFlag | = | .FALSE. | ||
integer, | public | :: | FlowLock | = | 0 | ||
integer, | public | :: | TotalConnected | = | 0 | ||
type(ConnectedLoopData), | public, | ALLOCATABLE, DIMENSION(:) | :: | Connected | |||
type(BranchData), | public, | ALLOCATABLE, DIMENSION(:) | :: | Branch | |||
type(SplitterData), | public, | ALLOCATABLE, DIMENSION(:) | :: | Splitter | |||
type(MixerData), | public, | ALLOCATABLE, DIMENSION(:) | :: | Mixer | |||
logical, | public | :: | HasPressureComponents | = | .FALSE. | ||
logical, | public | :: | HasParallelPressComps | = | .FALSE. | ||
real(kind=r64), | public | :: | PressureDrop | = | 0.0d0 | ||
real(kind=r64), | public | :: | PressureEffectiveK | = | 0.0d0 | ||
integer, | public | :: | errCount_LoadWasntDist | = | 0 | ||
integer, | public | :: | errIndex_LoadWasntDist | = | 0 | ||
integer, | public | :: | errCount_LoadRemains | = | 0 | ||
integer, | public | :: | errIndex_LoadRemains | = | 0 | ||
real(kind=r64), | public | :: | LoopSideInlet_TankTemp | = | 0.0d0 | ||
type(PlantConvergencePoint), | public | :: | InletNode | = | PlantConvergencePoint(0.0d0, 0.0d0) | ||
type(PlantConvergencePoint), | public | :: | OutletNode | = | PlantConvergencePoint(0.0d0, 0.0d0) |
TYPE HalfLoopData
LOGICAL :: SimLoopSideNeeded = .TRUE. ! Determine whether or not to re-simulate this plant loopside
LOGICAL :: SimZoneEquipNeeded = .TRUE. ! Plant requests resimulate zone HVAC equipment
LOGICAL :: SimAirLoopsNeeded = .TRUE. ! Plant requests resimulate air loop HVAC equipment
LOGICAL :: SimNonZoneEquipNeeded = .TRUE. ! Plant requests resimulate non zone Equip
LOGICAL :: SimElectLoadCentrNeeded = .TRUE. ! Plant requests resimulate generators
LOGICAL :: OncePerTimeStepOperations = .TRUE.
REAL(r64) :: TimeElapsed = 0.d0 ! store time for dynamic updates for last time
REAL(r64) :: FlowRequest = 0.0d0 ! Flow request in the half loop
REAL(r64) :: FlowRequestTemperature = 0.0d0 ! Average Flow request outlet Temp in the half loop
! It's necessary to hold the values here since AIR and GROUND SPs aren't associated with either a node or a SP manager
REAL(r64) :: TempSetPoint = SensedNodeFlagValue ! Loop temperature setpoint
REAL(r64) :: TempSetPointHi = SensedNodeFlagValue ! High Loop temperature setpoint
REAL(r64) :: TempSetPointLO = SensedNodeFlagValue ! Low Loop temperature setpoint
REAL(r64) :: TempInterfaceTankOutlet = 0.0d0 ! Used by interface manager in common pipe simulation
! This is the temperature at the loop outlet linterface
! with half-loop capacitance and pump heat accounted for.
REAL(r64) :: LastTempInterfaceTankOutlet = 0.0d0
CHARACTER(len=MaxNameLength) :: BranchList = ' ' ! Branch list name for the half loop
CHARACTER(len=MaxNameLength) :: ConnectList = ' ' ! Connector list name for the half loop
INTEGER :: TotalBranches = 0 ! Total number of branches on the half loop
INTEGER :: NodeNumIn = 0 ! Node number for the inlet to this loop
CHARACTER(len=MaxNameLength) :: NodeNameIn = ' ' ! Node name for the inlet to this loop
INTEGER :: NodeNumOut = 0 ! Node number for the outlet to this loop
CHARACTER(len=MaxNameLength) :: NodeNameOut = ' ' ! Node name for the outlet to this loop
INTEGER :: NumSplitters = 0 ! Number of splitters in the half loop
INTEGER :: NumMixers = 0 ! Number of mixers in the half loop
LOGICAL :: SplitterExists = .FALSE. ! Logical Flag indication splitter exists in the half loop
LOGICAL :: MixerExists = .FALSE. ! Logical Flag indication mixer exists in the half loop
INTEGER :: TotalPumps = 0 ! total number of pumps on the half loop
LOGICAL :: BranchPumpsExist = .FALSE. ! logical flag indication branch pumps exist on half loop
TYPE(LoopSidePumpInformation), &
ALLOCATABLE, DIMENSION(:) :: Pumps
REAL(r64) :: TotalPumpHeat = 0.0d0 ! [W] total heat addition by the pumps to place in "tank"
LOGICAL :: ByPassExists = .FALSE.
LOGICAL :: InletNodeSetPt = .FALSE.
LOGICAL :: OutletNodeSetPt = .FALSE.
LOGICAL :: EMSCtrl = .FALSE.
REAL(r64) :: EMSValue
LOGICAL :: FlowRestrictionFlag = .FALSE. ! Max available flow at the outlet of the half loop
! is less than max available flow at inlet
INTEGER :: FlowLock = 0 !DSU
INTEGER :: TotalConnected = 0 ! total number of other loops connected to this loop side
TYPE (ConnectedLoopData), &
ALLOCATABLE, DIMENSION(:) :: Connected !DSU Other loops connected to this Loop side
TYPE (BranchData), &
ALLOCATABLE, DIMENSION(:) :: Branch ! Branch data
TYPE (SplitterData), &
ALLOCATABLE, DIMENSION(:) :: Splitter ! Data for splitter on branch (if any)
TYPE (MixerData), &
ALLOCATABLE, DIMENSION(:) :: Mixer ! Data for splitter on branch (if any)
LOGICAL :: HasPressureComponents = .FALSE.
LOGICAL :: HasParallelPressComps = .FALSE.
REAL(r64) :: PressureDrop = 0.0d0
REAL(r64) :: PressureEffectiveK = 0.0d0
INTEGER :: errCount_LoadWasntDist= 0
INTEGER :: errIndex_LoadWasntDist= 0
INTEGER :: errCount_LoadRemains = 0
INTEGER :: errIndex_LoadRemains = 0
REAL(r64) :: LoopSideInlet_TankTemp = 0.0d0
TYPE(PlantConvergencePoint) :: InletNode = PlantConvergencePoint(0.0d0,0.0d0)
TYPE(PlantConvergencePoint) :: OutletNode = PlantConvergencePoint(0.0d0,0.0d0)
END TYPE HalfLoopData