Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=MaxNameLength), | public | :: | Name | = | ' ' | ||
character(len=MaxNameLength), | public | :: | OSCMName | = | ' ' | ||
integer, | public | :: | OSCMPtr | = | 0 | ||
integer, | public | :: | SchedPtr | = | 0 | ||
integer, | public, | ALLOCATABLE, DIMENSION(:) | :: | InletNode | |||
integer, | public, | ALLOCATABLE, DIMENSION(:) | :: | OutletNode | |||
integer, | public, | ALLOCATABLE, DIMENSION(:) | :: | ControlNode | |||
integer, | public, | ALLOCATABLE, DIMENSION(:) | :: | ZoneNode | |||
integer, | public | :: | Layout | = | 0 | ||
integer, | public | :: | Correlation | = | 0 | ||
real(kind=r64), | public | :: | HoleDia | = | 0.d0 | ||
real(kind=r64), | public | :: | Pitch | = | 0.d0 | ||
real(kind=r64), | public | :: | LWEmitt | = | 0.d0 | ||
real(kind=r64), | public | :: | SolAbsorp | = | 0.d0 | ||
integer, | public | :: | CollRoughness | = | 1 | ||
real(kind=r64), | public | :: | PlenGapThick | = | 0.d0 | ||
real(kind=r64), | public | :: | PlenCrossArea | = | 0.d0 | ||
integer, | public | :: | NumSurfs | = | 0 | ||
integer, | public, | ALLOCATABLE, DIMENSION(:) | :: | SurfPtrs | |||
real(kind=r64), | public | :: | Height | = | 0.d0 | ||
real(kind=r64), | public | :: | AreaRatio | = | 0.d0 | ||
real(kind=r64), | public | :: | CollectThick | = | 0.d0 | ||
real(kind=r64), | public | :: | Cv | = | 0.d0 | ||
real(kind=r64), | public | :: | Cd | = | 0.d0 | ||
integer, | public | :: | NumOASysAttached | = | 0 | ||
integer, | public | :: | FreeHeatSetpointSchedPtr | = | 0 | ||
integer, | public | :: | VsucErrIndex | = | 0 | ||
real(kind=r64), | public | :: | ActualArea | = | 0.d0 | ||
real(kind=r64), | public | :: | ProjArea | = | 0.d0 | ||
type(vector), | public | :: | Centroid | = | vector(0.0d0, 0.0d0, 0.0d0) | ||
real(kind=r64), | public | :: | Porosity | = | 0.d0 | ||
logical, | public | :: | isOn | = | .false. | ||
real(kind=r64), | public | :: | Tplen | = | 0.d0 | ||
real(kind=r64), | public | :: | Tcoll | = | 0.d0 | ||
real(kind=r64), | public | :: | TplenLast | = | 22.5d0 | ||
real(kind=r64), | public | :: | TcollLast | = | 22.0d0 | ||
real(kind=r64), | public | :: | HrPlen | = | 0.0d0 | ||
real(kind=r64), | public | :: | HcPlen | = | 0.d0 | ||
real(kind=r64), | public | :: | MdotVent | = | 0.d0 | ||
real(kind=r64), | public | :: | HdeltaNPL | = | 0.d0 | ||
real(kind=r64), | public | :: | TairHX | = | 0.d0 | ||
real(kind=r64), | public | :: | InletMDot | = | 0.d0 | ||
real(kind=r64), | public | :: | InletTempDB | = | 0.d0 | ||
real(kind=r64), | public | :: | Tilt | = | 0.d0 | ||
real(kind=r64), | public | :: | Azimuth | = | 0.d0 | ||
real(kind=r64), | public | :: | QdotSource | = | 0.d0 | ||
real(kind=r64), | public | :: | Isc | = | 0.d0 | ||
real(kind=r64), | public | :: | HXeff | = | 0.d0 | ||
real(kind=r64), | public | :: | Vsuction | = | 0.d0 | ||
real(kind=r64), | public | :: | PassiveACH | = | 0.d0 | ||
real(kind=r64), | public | :: | PassiveMdotVent | = | 0.d0 | ||
real(kind=r64), | public | :: | PassiveMdotWind | = | 0.d0 | ||
real(kind=r64), | public | :: | PassiveMdotTherm | = | 0.d0 | ||
real(kind=r64), | public | :: | PlenumVelocity | = | 0.d0 | ||
real(kind=r64), | public | :: | SupOutTemp | = | 0.d0 | ||
real(kind=r64), | public | :: | SupOutHumRat | = | 0.d0 | ||
real(kind=r64), | public | :: | SupOutEnth | = | 0.d0 | ||
real(kind=r64), | public | :: | SupOutMassFlow | = | 0.d0 | ||
real(kind=r64), | public | :: | SensHeatingRate | = | 0.d0 | ||
real(kind=r64), | public | :: | SensHeatingEnergy | = | 0.d0 | ||
real(kind=r64), | public | :: | SensCoolingRate | = | 0.d0 | ||
real(kind=r64), | public | :: | SensCoolingEnergy | = | 0.d0 | ||
real(kind=r64), | public | :: | UTSCEfficiency | = | 0.d0 | ||
real(kind=r64), | public | :: | UTSCCollEff | = | 0.d0 |
Type UTSCDataStruct
! from input data
CHARACTER(len=MaxNameLength) :: Name = ' ' !
CHARACTER(len=MaxNameLength) :: OSCMName = ' ' !OtherSideConditionsModel
INTEGER :: OSCMPtr = 0 ! OtherSideConditionsModel index
INTEGER :: SchedPtr = 0 ! Availablity schedule
INTEGER, ALLOCATABLE, DIMENSION(:) :: InletNode ! Air system node "pointer", should be set to outdoor air
INTEGER, ALLOCATABLE, DIMENSION(:) :: OutletNode ! Air system node "pointer", outlet from UTSC
INTEGER, ALLOCATABLE, DIMENSION(:) :: ControlNode ! Air system node "pointer", should have mixed air setpoint
INTEGER, ALLOCATABLE, DIMENSION(:) :: ZoneNode ! Air system node "pointer", should have zone node
INTEGER :: Layout = 0 ! 'Square' or 'Triangle'
INTEGER :: Correlation = 0 ! which heat exchanger effectiveness model
REAL(r64) :: HoleDia = 0.d0 ! Diameter of Perforations in Collector [m]
REAL(r64) :: Pitch = 0.d0 ! Distance between Perforations in Collector [m]
REAL(r64) :: LWEmitt = 0.d0 ! Thermal Emissivity of Collector Surface [dimensionless]
REAL(r64) :: SolAbsorp = 0.d0 ! Solar Absorbtivity of Collector Surface [dimensionless]
INTEGER :: CollRoughness = 1 ! surface roughness for exterior convection calcs.
REAL(r64) :: PlenGapThick = 0.d0 ! Depth of Plenum Behind Collector [m]
REAL(r64) :: PlenCrossArea = 0.d0 ! cross section area of plenum behind collector [m2]
INTEGER :: NumSurfs = 0 ! a single collector can have multiple surfaces underneath it
INTEGER, ALLOCATABLE, DIMENSION(:) ::SurfPtrs != 0 ! array of pointers for participating underlying surfaces
REAL(r64) :: Height = 0.d0 ! Overall Height of Collector [m]
REAL(r64) :: AreaRatio = 0.d0 ! Ratio of actual surface are to projected surface area [dimensionless]
REAL(r64) :: CollectThick = 0.d0 ! Thickness of collector absorber plate material. [m]
REAL(r64) :: Cv = 0.d0 ! volume-based effectiveness of openings for wind-driven vent when Passive
REAL(r64) :: Cd = 0.d0 ! discharge coefficient of openings for bouyancy-driven vent when Passive
INTEGER :: NumOASysAttached = 0 ! =1 if no splitter, other wise set by Splitter object
INTEGER :: FreeHeatSetpointSchedPtr = 0 ! used for controlling seperately from usual setpoint managers.
INTEGER :: VsucErrIndex = 0
! data from elswhere and calculated
REAL(r64) :: ActualArea = 0.d0 ! Overall Area of Collect with surface corrugations.
REAL(r64) :: ProjArea = 0.d0 ! Overall Area of Collector projected, as if flat [m2]
TYPE (vector) :: Centroid = vector(0.0d0,0.0d0,0.0d0 ) ! computed centroid
REAL(r64) :: Porosity = 0.d0 ! fraction of absorber plate [--]
LOGICAL :: isOn = .false. ! .true. means "on" or "ACTIVE" , .false means "off" or "PASSIVE
REAL(r64) :: Tplen = 0.d0 ! modeled drybulb temperature for air between collector and wall [C]
REAL(r64) :: Tcoll = 0.d0 ! modeled surface temperature for collector [C]
REAL(r64) :: TplenLast = 22.5d0 ! Old Value for modeled drybulb temp if air between collector and wall [C]
REAL(r64) :: TcollLast = 22.0d0 ! Old value for modeled surface temperature for collector [C]
REAL(r64) :: HrPlen = 0.0d0 ! Modeled radiation coef for OSCM [W/m2-C]
REAL(r64) :: HcPlen = 0.d0 ! Modeled Convection coef for OSCM [W/m2-C]
REAL(r64) :: MdotVent = 0.d0 ! air mass flow exchanging with ambient when passive.
REAL(r64) :: HdeltaNPL = 0.d0 ! lenth scale for bouyancy-driven vent when Passive [m]
REAL(r64) :: TairHX = 0.d0 ! air drybulb of air leaving collector when Active [C]
REAL(r64) :: InletMDot = 0.d0 ! flow rate from outdoor mixer controller
REAL(r64) :: InletTempDB = 0.d0
REAL(r64) :: Tilt = 0.d0 ! Tilt from area weighted average of underlying surfaces
REAL(r64) :: Azimuth = 0.d0 ! Azimuth from area weighted average of underlying surfaces
REAL(r64) :: QdotSource = 0.d0 ! Source/sink term
! reporting data
REAL(r64) :: Isc = 0.d0 ! total incident solar on collector [W]
REAL(r64) :: HXeff = 0.d0 ! heat exchanger effectiveness [--]
REAL(r64) :: Vsuction = 0.d0 ! Average suction face velocity [m/s]
REAL(r64) :: PassiveACH = 0.d0 ! air changes per hour when passive [1/hr]
REAL(r64) :: PassiveMdotVent = 0.d0 ! Total Nat Vent air change rate [kg/s]
REAL(r64) :: PassiveMdotWind = 0.d0 ! Nat Vent air change rate from Wind-driven [kg/s]
REAL(r64) :: PassiveMdotTherm = 0.d0 ! Nat. Vent air change rate from bouyancy-driven flow [kg/s]
REAL(r64) :: PlenumVelocity = 0.d0 ! effective velocity inside plenum [m/s]
REAL(r64) :: SupOutTemp = 0.d0 ! supply air outlet temperature [C]
REAL(r64) :: SupOutHumRat = 0.d0 ! supply air outlet humidity ratio [kg water/kg dry air]
REAL(r64) :: SupOutEnth = 0.d0 ! supply air outlet enthalpy [J/kg]
REAL(r64) :: SupOutMassFlow = 0.d0 ! supply air outlet mass flow rate [kg/s]
REAL(r64) :: SensHeatingRate = 0.d0 ! rate of sensible heat being added to the supply (primary) air [W]
REAL(r64) :: SensHeatingEnergy= 0.d0 ! sensible heat added to the supply (primary) air [J]
REAL(r64) :: SensCoolingRate = 0.d0 ! rate of sensible heat being removed from the supply (primary) air [W]
REAL(r64) :: SensCoolingEnergy= 0.d0 ! sensible heat removed from the supply (primary) air [J]
REAL(r64) :: UTSCEfficiency = 0.d0 ! Total Efficiency (with wall) SensHeatingRate/IncidentRadiation[--]
REAL(r64) :: UTSCCollEff = 0.d0 ! Collector-only Efficiency [--]
End Type UTSCDataStruct