Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=MaxNameLength), | public | :: | Name | = | ' ' | ||
integer, | public | :: | Multiplier | = | 1 | ||
integer, | public | :: | ListMultiplier | = | 1 | ||
integer, | public | :: | ListGroup | = | 0 | ||
real(kind=r64), | public | :: | RelNorth | = | 0.0d0 | ||
real(kind=r64), | public | :: | OriginX | = | 0.0d0 | ||
real(kind=r64), | public | :: | OriginY | = | 0.0d0 | ||
real(kind=r64), | public | :: | OriginZ | = | 0.0d0 | ||
real(kind=r64), | public | :: | CeilingHeight | = | AutoCalculate | ||
real(kind=r64), | public | :: | Volume | = | AutoCalculate | ||
integer, | public | :: | OfType | = | 1 | ||
real(kind=r64), | public | :: | UserEnteredFloorArea | = | AutoCalculate | ||
real(kind=r64), | public | :: | FloorArea | = | 0.0d0 | ||
real(kind=r64), | public | :: | CalcFloorArea | = | 0.0d0 | ||
logical, | public | :: | HasFloor | = | .false. | ||
logical, | public | :: | HasRoof | = | .false. | ||
logical, | public | :: | HasInterZoneWindow | = | .false. | ||
logical, | public | :: | HasWindow | = | .false. | ||
real(kind=r64), | public | :: | AirCapacity | = | 0.0d0 | ||
real(kind=r64), | public | :: | ExtWindowArea | = | 0.0d0 | ||
real(kind=r64), | public | :: | ExtGrossWallArea | = | 0.0d0 | ||
real(kind=r64), | public | :: | ExtWindowArea_Multiplied | = | 0.0d0 | ||
real(kind=r64), | public | :: | ExtGrossWallArea_Multiplied | = | 0.0d0 | ||
real(kind=r64), | public | :: | ExtNetWallArea | = | 0.0d0 | ||
real(kind=r64), | public | :: | TotalSurfArea | = | 0.0d0 | ||
real(kind=r64), | public | :: | ExteriorTotalSurfArea | = | 0.0d0 | ||
real(kind=r64), | public | :: | ExteriorTotalGroundSurfArea | = | 0.0d0 | ||
real(kind=r64), | public | :: | ExtGrossGroundWallArea | = | 0.0d0 | ||
real(kind=r64), | public | :: | ExtGrossGroundWallArea_Multiplied | = | 0.0d0 | ||
integer, | public | :: | SystemZoneNodeNumber | = | 0 | ||
logical, | public | :: | IsControlled | = | .false. | ||
integer, | public | :: | TempControlledZoneIndex | = | 0 | ||
integer, | public | :: | SurfaceFirst | = | 0 | ||
integer, | public | :: | SurfaceLast | = | 0 | ||
integer, | public | :: | InsideConvectionAlgo | = | ASHRAESimple | ||
integer, | public | :: | NumSurfaces | = | 0 | ||
integer, | public | :: | NumSubSurfaces | = | 0 | ||
integer, | public | :: | NumShadingSurfaces | = | 0 | ||
integer, | public | :: | OutsideConvectionAlgo | = | ASHRAESimple | ||
type(vector), | public | :: | Centroid | = | Vector(0.0d0, 0.0d0, 0.0d0) | ||
real(kind=r64), | public | :: | MinimumX | = | 0.0d0 | ||
real(kind=r64), | public | :: | MaximumX | = | 0.0d0 | ||
real(kind=r64), | public | :: | MinimumY | = | 0.0d0 | ||
real(kind=r64), | public | :: | MaximumY | = | 0.0d0 | ||
real(kind=r64), | public | :: | MinimumZ | = | 0.0d0 | ||
real(kind=r64), | public | :: | MaximumZ | = | 0.0d0 | ||
real(kind=r64), | public | :: | OutDryBulbTemp | = | 0.0d0 | ||
real(kind=r64), | public | :: | OutWetBulbTemp | = | 0.0d0 | ||
real(kind=r64), | public | :: | WindSpeed | = | 0.0d0 | ||
logical, | public | :: | isPartOfTotalArea | = | .TRUE. | ||
logical, | public | :: | isNominalOccupied | = | .false. | ||
logical, | public | :: | isNominalControlled | = | .false. | ||
real(kind=r64), | public | :: | TotOccupants | = | 0.0d0 | ||
integer, | public | :: | AirHBimBalanceErrIndex | = | 0 | ||
logical, | public | :: | NoHeatToReturnAir | = | .FALSE. | ||
logical, | public | :: | RefrigCaseRA | = | .FALSE. | ||
real(kind=r64), | public | :: | InternalHeatGains | = | 0.0d0 | ||
real(kind=r64), | public | :: | NominalInfilVent | = | 0.0d0 | ||
real(kind=r64), | public | :: | NominalMixing | = | 0.0d0 | ||
logical, | public | :: | TempOutOfBoundsReported | = | .false. | ||
logical, | public | :: | EnforcedReciprocity | = | .false. | ||
integer, | public | :: | ZoneMinCO2SchedIndex | = | 0 | ||
integer, | public | :: | ZoneContamControllerSchedIndex | = | 0 |
TYPE ZoneData
CHARACTER(len=MaxNameLength) :: Name=' '
INTEGER :: Multiplier = 1 ! Used in reporting and for systems calculations
INTEGER :: ListMultiplier = 1 ! For Zone Group object: used in reporting and systems calculations
INTEGER :: ListGroup = 0 ! used only in Zone Group verification. and for error message.
REAL(r64) :: RelNorth = 0.0d0 ! Relative North (to building north) [Degrees]
REAL(r64) :: OriginX = 0.0d0 ! X origin [m]
REAL(r64) :: OriginY = 0.0d0 ! Y origin [m]
REAL(r64) :: OriginZ = 0.0d0 ! Z origin [m]
REAL(r64) :: CeilingHeight =AutoCalculate ! Ceiling Height entered by user [m] or calculated
REAL(r64) :: Volume =AutoCalculate ! Volume entered by user [m3] or calculated
INTEGER :: OfType = 1 ! 1=Standard Zone, Not yet used:
! 2=Plenum Zone, 11=Solar Wall, 12=Roof Pond
REAL(r64) :: UserEnteredFloorArea =AutoCalculate ! User input floor area for this zone
! Calculated after input
REAL(r64) :: FloorArea = 0.0d0 ! Floor area used for this zone
REAL(r64) :: CalcFloorArea = 0.0d0 ! Calculated floor area used for this zone
LOGICAL :: HasFloor =.false. ! Has "Floor" surface
LOGICAL :: HasRoof =.false. ! Has "Roof" or "Ceiling" Surface
LOGICAL :: HasInterZoneWindow =.false. ! Interzone Window(s) present in this zone
LOGICAL :: HasWindow =.false. ! Window(s) present in this zone
REAL(r64) :: AirCapacity =0.0d0
REAL(r64) :: ExtWindowArea = 0.0d0 ! Exterior Window Area for Zone
REAL(r64) :: ExtGrossWallArea = 0.0d0 ! Exterior Wall Area for Zone (Gross)
REAL(r64) :: ExtWindowArea_Multiplied= 0.0d0 ! Exterior Window Area for Zone with multipliers
REAL(r64) :: ExtGrossWallArea_Multiplied= 0.0d0 ! Exterior Wall Area for Zone (Gross) with multipliers
REAL(r64) :: ExtNetWallArea = 0.0d0 ! Exterior Wall Area for Zone (Net)
REAL(r64) :: TotalSurfArea = 0.0d0 ! Total surface area for Zone
REAL(r64) :: ExteriorTotalSurfArea = 0.0d0 ! Total surface area of all exterior surfaces for Zone
! (ignoring windows as they will be included in their base surfaces)
REAL(r64) :: ExteriorTotalGroundSurfArea = 0.0d0 ! Total surface area of all surfaces for Zone with ground contact
REAL(r64) :: ExtGrossGroundWallArea = 0.0d0 ! Ground contact Wall Area for Zone (Gross)
REAL(r64) :: ExtGrossGroundWallArea_Multiplied= 0.0d0 ! Ground contact Wall Area for Zone (Gross) with multipliers
INTEGER :: SystemZoneNodeNumber = 0 ! This is the zone node number for the system for a controlled zone
LOGICAL :: IsControlled = .false. ! True when this is a controlled zone.
INTEGER :: TempControlledZoneIndex = 0 ! this is the index number for TempControlledZone structure for lookup
! Pointers to Surface Data Structure
INTEGER :: SurfaceFirst = 0 ! First Surface in Zone
INTEGER :: SurfaceLast = 0 ! Last Surface in Zone
INTEGER :: InsideConvectionAlgo = ASHRAESimple ! Ref: appropriate values for Inside Convection solution
INTEGER :: NumSurfaces = 0 ! Number of surfaces for this zone
INTEGER :: NumSubSurfaces = 0 ! Number of subsurfaces for this zone (windows, doors, tdd dome and diffusers)
INTEGER :: NumShadingSurfaces = 0 ! Number of shading surfaces for this zone
INTEGER :: OutsideConvectionAlgo = ASHRAESimple ! Ref: appropriate values for Outside Convection solution
TYPE (Vector) :: Centroid = Vector(0.0d0, 0.0d0, 0.0d0) ! Center of the zone found by averaging wall, floor, and roof centroids
REAL(r64) :: MinimumX = 0.0d0 ! Minimum X value for entire zone
REAL(r64) :: MaximumX = 0.0d0 ! Maximum X value for entire zone
REAL(r64) :: MinimumY = 0.0d0 ! Minimum Y value for entire zone
REAL(r64) :: MaximumY = 0.0d0 ! Maximum Y value for entire zone
REAL(r64) :: MinimumZ = 0.0d0 ! Minimum Z value for entire zone
REAL(r64) :: MaximumZ = 0.0d0 ! Maximum Z value for entire zone
REAL(r64) :: OutDryBulbTemp = 0.0d0 ! Zone outside dry bulb air temperature (C)
REAL(r64) :: OutWetBulbTemp = 0.0d0 ! Zone outside wet bulb air temperature (C)
REAL(r64) :: WindSpeed = 0.0d0 ! Zone outside wind speed (m/s)
LOGICAL :: isPartOfTotalArea = .TRUE. ! Count the zone area when determining the building total floor area
LOGICAL :: isNominalOccupied = .false. !has occupancy nominally specified
LOGICAL :: isNominalControlled = .false. !has Controlled Zone Equip Configuration reference
REAL(r64) :: TotOccupants = 0.0d0 ! total design occupancy
! (sum of NumberOfPeople for the zone from People object)
INTEGER :: AirHBimBalanceErrIndex = 0 ! error management counter
LOGICAL :: NoHeatToReturnAir =.FALSE. ! TRUE means that heat to return air should be added to the zone load
LOGICAL :: RefrigCaseRA =.FALSE. ! TRUE means there is potentially heat removal from return air
! from refrigeration cases for this zone
REAL(r64) :: InternalHeatGains = 0.0d0 ! internal loads (W)
REAL(r64) :: NominalInfilVent = 0.0d0 ! internal infiltration/ventilaton
REAL(r64) :: NominalMixing = 0.0d0 ! internal mixing/cross mixing
LOGICAL :: TempOutOfBoundsReported=.false. ! if any temp out of bounds errors, first will show zone details.
LOGICAL :: EnforcedReciprocity=.false. ! if zone required forced reciprocity --
! less out of bounds temperature errors allowed
INTEGER :: ZoneMinCO2SchedIndex =0 ! Index for the schedule the schedule which determines minimum CO2 concentration
INTEGER :: ZoneContamControllerSchedIndex =0 ! Index for this schedule
END TYPE ZoneData