Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=MaxNameLength), | public | :: | Name | = | ' ' | ||
character(len=MaxNameLength), | public | :: | SchedName | = | ' ' | ||
integer, | public | :: | SchedPtr | = | 0 | ||
character(len=MaxNameLength), | public | :: | ZoneName | = | ' ' | ||
integer, | public | :: | ZonePtr | = | 0 | ||
character(len=MaxNameLength), | public | :: | SurfListName | = | ' ' | ||
integer, | public | :: | NumOfSurfaces | = | 0 | ||
integer, | public, | ALLOCATABLE, DIMENSION(:) | :: | SurfacePtr | |||
character(len=MaxNameLength), | public, | ALLOCATABLE, DIMENSION(:) | :: | SurfaceName | |||
real(kind=r64), | public, | ALLOCATABLE, DIMENSION(:) | :: | SurfaceFlowFrac | |||
real(kind=r64), | public, | ALLOCATABLE, DIMENSION(:) | :: | NumCircuits | |||
real(kind=r64), | public | :: | TotalSurfaceArea | = | 0.0d0 | ||
real(kind=r64), | public | :: | TubeDiameter | = | 0.0d0 | ||
real(kind=r64), | public | :: | TubeLength | = | 0.0d0 | ||
integer, | public | :: | ControlType | = | 0 | ||
real(kind=r64), | public | :: | WaterVolFlowMax | = | 0.0d0 | ||
real(kind=r64), | public | :: | ColdDesignWaterMassFlowRate | = | 0.d0 | ||
real(kind=r64), | public | :: | HotDesignWaterMassFlowRate | = | 0.d0 | ||
real(kind=r64), | public | :: | WaterMassFlowRate | = | 0.0d0 | ||
character(len=MaxNameLength), | public | :: | VolFlowSched | = | ' ' | ||
integer, | public | :: | VolFlowSchedPtr | = | 0 | ||
real(kind=r64), | public | :: | NomPumpHead | = | 0.0d0 | ||
real(kind=r64), | public | :: | NomPowerUse | = | 0.0d0 | ||
real(kind=r64), | public | :: | MotorEffic | = | 0.0d0 | ||
real(kind=r64), | public | :: | PumpEffic | = | 0.0d0 | ||
real(kind=r64), | public | :: | FracMotorLossToFluid | = | 0.0d0 | ||
logical, | public | :: | HeatingSystem | = | .false. | ||
integer, | public | :: | HotWaterInNode | = | 0 | ||
integer, | public | :: | HotWaterOutNode | = | 0 | ||
character(len=MaxNameLength), | public | :: | HotWaterHiTempSched | = | ' ' | ||
integer, | public | :: | HotWaterHiTempSchedPtr | = | 0 | ||
character(len=MaxNameLength), | public | :: | HotWaterLoTempSched | = | ' ' | ||
integer, | public | :: | HotWaterLoTempSchedPtr | = | 0 | ||
character(len=MaxNameLength), | public | :: | HotCtrlHiTempSched | = | ' ' | ||
integer, | public | :: | HotCtrlHiTempSchedPtr | = | 0 | ||
character(len=MaxNameLength), | public | :: | HotCtrlLoTempSched | = | ' ' | ||
integer, | public | :: | HotCtrlLoTempSchedPtr | = | 0 | ||
integer, | public | :: | HWLoopNum | = | 0 | ||
integer, | public | :: | HWLoopSide | = | 0 | ||
integer, | public | :: | HWBranchNum | = | 0 | ||
integer, | public | :: | HWCompNum | = | 0 | ||
logical, | public | :: | CoolingSystem | = | .false. | ||
integer, | public | :: | ColdWaterInNode | = | 0 | ||
integer, | public | :: | ColdWaterOutNode | = | 0 | ||
character(len=MaxNameLength), | public | :: | ColdWaterHiTempSched | = | ' ' | ||
integer, | public | :: | ColdWaterHiTempSchedPtr | = | 0 | ||
character(len=MaxNameLength), | public | :: | ColdWaterLoTempSched | = | ' ' | ||
integer, | public | :: | ColdWaterLoTempSchedPtr | = | 0 | ||
character(len=MaxNameLength), | public | :: | ColdCtrlHiTempSched | = | ' ' | ||
integer, | public | :: | ColdCtrlHiTempSchedPtr | = | 0 | ||
character(len=MaxNameLength), | public | :: | ColdCtrlLoTempSched | = | ' ' | ||
integer, | public | :: | ColdCtrlLoTempSchedPtr | = | 0 | ||
integer, | public | :: | CWLoopNum | = | 0 | ||
integer, | public | :: | CWLoopSide | = | 0 | ||
integer, | public | :: | CWBranchNum | = | 0 | ||
integer, | public | :: | CWCompNum | = | 0 | ||
integer, | public | :: | GlycolIndex | = | 0 | ||
integer, | public | :: | CondErrIndex | = | 0 | ||
integer, | public | :: | CondCtrlType | = | 1 | ||
real(kind=r64), | public | :: | CondDewPtDeltaT | = | 1.0d0 | ||
real(kind=r64), | public | :: | CondCausedTimeOff | = | 0.0d0 | ||
logical, | public | :: | CondCausedShutDown | = | .FALSE. | ||
integer, | public | :: | NumCircCalcMethod | = | 0 | ||
real(kind=r64), | public | :: | CircLength | = | 0.0d0 | ||
logical, | public | :: | EMSOverrideOnWaterMdot | = | .FALSE. | ||
real(kind=r64), | public | :: | EMSWaterMdotOverrideValue | = | 0.0D0 | ||
real(kind=r64), | public | :: | WaterInletTemp | = | 0.0d0 | ||
real(kind=r64), | public | :: | WaterOutletTemp | = | 0.0d0 | ||
real(kind=r64), | public | :: | WaterInjectionRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | WaterRecircRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | HeatPower | = | 0.0d0 | ||
real(kind=r64), | public | :: | HeatEnergy | = | 0.0d0 | ||
real(kind=r64), | public | :: | CoolPower | = | 0.0d0 | ||
real(kind=r64), | public | :: | CoolEnergy | = | 0.0d0 | ||
real(kind=r64), | public | :: | PumpPower | = | 0.0d0 | ||
real(kind=r64), | public | :: | PumpEnergy | = | 0.0d0 | ||
real(kind=r64), | public | :: | PumpMassFlowRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | PumpHeattoFluid | = | 0.0d0 | ||
real(kind=r64), | public | :: | PumpHeattoFluidEnergy | = | 0.0d0 | ||
real(kind=r64), | public | :: | PumpInletTemp | = | 0.0d0 | ||
integer, | public | :: | OutRangeHiErrorCount | = | 0 | ||
integer, | public | :: | OutRangeLoErrorCount | = | 0 |
TYPE, PUBLIC :: ConstantFlowRadiantSystemData
! Input data
CHARACTER(len=MaxNameLength) :: Name = ' ' ! name of hydronic radiant system
CHARACTER(len=MaxNameLength) :: SchedName = ' ' ! availability schedule
INTEGER :: SchedPtr = 0 ! index to schedule
CHARACTER(len=MaxNameLength) :: ZoneName = ' ' ! Name of zone the system is serving
INTEGER :: ZonePtr = 0 ! Point to this zone in the Zone derived type
CHARACTER(len=MaxNameLength) :: SurfListName = ' ' ! Name of surface/surface list that is the radiant system
INTEGER :: NumOfSurfaces = 0 ! Number of surfaces included in this radiant system (coordinated control)
INTEGER, ALLOCATABLE, DIMENSION(:) :: SurfacePtr ! Pointer to the surface(s) in the Surface derived type
CHARACTER(len=MaxNameLength), ALLOCATABLE, DIMENSION(:) :: SurfaceName ! Name of surfaces that are the radiant system (can be one or more)
REAL(r64), ALLOCATABLE, DIMENSION(:) :: SurfaceFlowFrac ! Fraction of flow/pipe length for a particular surface
REAL(r64), ALLOCATABLE, DIMENSION(:) :: NumCircuits ! Number of fluid circuits in the surface
REAL(r64) :: TotalSurfaceArea = 0.0d0 ! Total surface area for all surfaces that are part of this radiant system
REAL(r64) :: TubeDiameter = 0.0d0 ! tube diameter for embedded tubing
REAL(r64) :: TubeLength = 0.0d0 ! tube length embedded in radiant surface
INTEGER :: ControlType = 0 ! Control type for the system (MAT, MRT, Op temp, ODB, OWB)
REAL(r64) :: WaterVolFlowMax = 0.0d0 ! design nominal capacity of constant flow pump (volumetric flow rate)
REAL(r64) :: ColdDesignWaterMassFlowRate =0.d0
REAL(r64) :: HotDesignWaterMassFlowRate =0.d0
REAL(r64) :: WaterMassFlowRate = 0.0d0 ! current flow rate through system (calculated)
CHARACTER(len=MaxNameLength) :: VolFlowSched = ' ' ! schedule of maximum flow at the current time
INTEGER :: VolFlowSchedPtr = 0 ! index to the volumetric flow schedule
REAL(r64) :: NomPumpHead = 0.0d0 ! nominal head of the constant flow pump
REAL(r64) :: NomPowerUse = 0.0d0 ! nominal power use of the constant flow pump
REAL(r64) :: MotorEffic = 0.0d0 ! efficiency of the pump motor
REAL(r64) :: PumpEffic = 0.0d0 ! overall efficiency of the pump (calculated)
REAL(r64) :: FracMotorLossToFluid = 0.0d0 ! amount of heat generated by pump motor that is added to the fluid
LOGICAL :: HeatingSystem = .false. ! .TRUE. when the system is able to heat (parameters are valid)
INTEGER :: HotWaterInNode = 0 ! hot water inlet node
INTEGER :: HotWaterOutNode = 0 ! hot water outlet node
CHARACTER(len=MaxNameLength) :: HotWaterHiTempSched = ' ' ! Schedule name for the highest water temperature
INTEGER :: HotWaterHiTempSchedPtr = 0 ! Schedule index for the highest water temperature
CHARACTER(len=MaxNameLength) :: HotWaterLoTempSched = ' ' ! Schedule name for the lowest water temperature
INTEGER :: HotWaterLoTempSchedPtr = 0 ! Schedule index for the lowest water temperature
CHARACTER(len=MaxNameLength) :: HotCtrlHiTempSched = ' ' ! Schedule name for the highest control temperature
! (where the lowest water temperature is requested)
INTEGER :: HotCtrlHiTempSchedPtr = 0 ! Schedule index for the highest control temperature
! (where the lowest water temperature is requested)
CHARACTER(len=MaxNameLength) :: HotCtrlLoTempSched = ' ' ! Schedule name for the lowest control temperature
! (where the highest water temperature is requested)
INTEGER :: HotCtrlLoTempSchedPtr = 0 ! Schedule index for the lowest control temperature
! (where the highest water temperature is requested)
INTEGER :: HWLoopNum = 0
INTEGER :: HWLoopSide = 0
INTEGER :: HWBranchNum = 0
INTEGER :: HWCompNum = 0
LOGICAL :: CoolingSystem =.false. ! .TRUE. when the system is able to cool (parameters are valid)
INTEGER :: ColdWaterInNode = 0 ! cold water inlet node
INTEGER :: ColdWaterOutNode = 0 ! cold water outlet node
CHARACTER(len=MaxNameLength) :: ColdWaterHiTempSched = ' ' ! Schedule name for the highest water temperature
INTEGER :: ColdWaterHiTempSchedPtr = 0 ! Schedule index for the highest water temperature
CHARACTER(len=MaxNameLength) :: ColdWaterLoTempSched = ' ' ! Schedule name for the lowest water temperature
INTEGER :: ColdWaterLoTempSchedPtr = 0 ! Schedule index for the lowest water temperature
CHARACTER(len=MaxNameLength) :: ColdCtrlHiTempSched = ' ' ! Schedule name for the highest control temperature
! (where the lowest water temperature is requested)
INTEGER :: ColdCtrlHiTempSchedPtr = 0 ! Schedule index for the highest control temperature
! (where the lowest water temperature is requested)
CHARACTER(len=MaxNameLength) :: ColdCtrlLoTempSched = ' ' ! Schedule name for the lowest control temperature
! (where the highest water temperature is requested)
INTEGER :: ColdCtrlLoTempSchedPtr = 0 ! Schedule index for the lowest control temperature
! (where the highest water temperature is requested)
INTEGER :: CWLoopNum = 0
INTEGER :: CWLoopSide = 0
INTEGER :: CWBranchNum = 0
INTEGER :: CWCompNum = 0
INTEGER :: GlycolIndex = 0 ! Index to Glycol (Water) Properties
INTEGER :: CondErrIndex = 0 ! Error index for warning messages
INTEGER :: CondCtrlType = 1 ! Condensation control type (initialize to simple off)
REAL(r64) :: CondDewPtDeltaT = 1.0d0 ! Diff between surface temperature and dew point for cond. shut-off
REAL(r64) :: CondCausedTimeOff = 0.0d0 ! Amount of time condensation did or could have turned system off
LOGICAL :: CondCausedShutDown = .FALSE. ! .TRUE. when condensation predicted at surface
INTEGER :: NumCircCalcMethod = 0 ! Calculation method for number of circuits per surface; 1=1 per surface, 2=use cicuit length
REAL(r64) :: CircLength = 0.0d0 ! Circuit length {m}
! Other parameters
LOGICAL :: EMSOverrideOnWaterMdot = .FALSE.
REAL(r64) :: EMSWaterMdotOverrideValue = 0.0D0
! Report data
REAL(r64) :: WaterInletTemp = 0.0d0 ! water inlet temperature
REAL(r64) :: WaterOutletTemp = 0.0d0 ! water outlet temperature
REAL(r64) :: WaterInjectionRate = 0.0d0 ! water injection mass flow rate from main loop
REAL(r64) :: WaterRecircRate = 0.0d0 ! water recirculation rate (outlet from radiant system recirculated)
REAL(r64) :: HeatPower = 0.0d0 ! heating sent to panel in Watts
REAL(r64) :: HeatEnergy = 0.0d0 ! heating sent to panel in Joules
REAL(r64) :: CoolPower = 0.0d0 ! cooling sent to panel in Watts
REAL(r64) :: CoolEnergy = 0.0d0 ! cooling sent to panel in Joules
REAL(r64) :: PumpPower = 0.0d0 ! pump power in Watts
REAL(r64) :: PumpEnergy = 0.0d0 ! pump energy consumption in Joules
REAL(r64) :: PumpMassFlowRate = 0.0d0 ! mass flow rate through the radiant system in kg/sec
REAL(r64) :: PumpHeattoFluid = 0.0d0 ! heat transfer rate from pump motor to fluid in Watts
REAL(r64) :: PumpHeattoFluidEnergy = 0.0d0 ! Pump Energy dissipated into fluid stream in Joules
REAL(r64) :: PumpInletTemp = 0.0d0 ! inlet temperature of pump (inlet temperature from loop)
INTEGER :: OutRangeHiErrorCount = 0 ! recurring errors for crazy results too high fluid temperature
INTEGER :: OutRangeLoErrorCount = 0 ! recurring errors for crazy results too low fluid temperature
END TYPE ConstantFlowRadiantSystemData