Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=MaxNameLength), | public | :: | Name | = | ' ' | ||
character(len=MaxNameLength), | public | :: | ScheduleName | = | ' ' | ||
integer, | public | :: | ScheduleIndex | = | 0 | ||
real(kind=r64), | public | :: | NomCapacity | = | 0.0d0 | ||
integer, | public | :: | PlantInNodeNum | = | 0 | ||
integer, | public | :: | PlantOutNodeNum | = | 0 | ||
integer, | public | :: | PlantLoopNum | = | 0 | ||
integer, | public | :: | PlantLoopSideNum | = | 0 | ||
integer, | public | :: | PlantBranchNum | = | 0 | ||
integer, | public | :: | PlantCompNum | = | 0 | ||
real(kind=r64), | public | :: | DesignMassFlowRate | = | 0.d0 | ||
integer, | public | :: | MapNum | = | 0 | ||
character(len=MaxNameLength), | public | :: | DischargeCurveType | = | ' ' | ||
character(len=MaxNameLength), | public | :: | DischargeCurveName | = | ' ' | ||
integer, | public | :: | DischargeCurveNum | = | 0 | ||
character(len=MaxNameLength), | public | :: | ChargeCurveType | = | ' ' | ||
character(len=MaxNameLength), | public | :: | ChargeCurveName | = | ' ' | ||
integer, | public | :: | ChargeCurveNum | = | 0 | ||
real(kind=r64), | public | :: | CurveFitTimeStep | = | 1.0d0 | ||
real(kind=r64), | public | :: | DischargeParaElecLoad | = | 0.0d0 | ||
real(kind=r64), | public | :: | ChargeParaElecLoad | = | 0.0d0 | ||
real(kind=r64), | public | :: | TankLossCoeff | = | 0.0d0 | ||
real(kind=r64), | public | :: | FreezingTemp | = | 0.0d0 | ||
real(kind=r64), | public | :: | CompLoad | = | 0.0d0 | ||
real(kind=r64), | public | :: | IceFracChange | = | 0.0d0 | ||
real(kind=r64), | public | :: | IceFracRemaining | = | 1.0d0 | ||
character(len=MaxNameLength), | public | :: | ThawProcessIndicator | = | ' ' | ||
integer, | public | :: | ThawProcessIndex | = | 0 | ||
real(kind=r64), | public | :: | IceFracOnCoil | = | 1.0d0 | ||
real(kind=r64), | public | :: | DischargingRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | DischargingEnergy | = | 0.0d0 | ||
real(kind=r64), | public | :: | ChargingRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | ChargingEnergy | = | 0.0d0 | ||
real(kind=r64), | public | :: | MassFlowRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | BypassMassFlowRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | TankMassFlowRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | InletTemp | = | 0.0d0 | ||
real(kind=r64), | public | :: | OutletTemp | = | 0.0d0 | ||
real(kind=r64), | public | :: | TankOutletTemp | = | 0.0d0 | ||
real(kind=r64), | public | :: | ParasiticElecRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | ParasiticElecEnergy | = | 0.0d0 | ||
integer, | public | :: | DischargeIterErrors | = | 0 | ||
integer, | public | :: | DischargeErrorCount | = | 0 | ||
integer, | public | :: | ChargeIterErrors | = | 0 | ||
integer, | public | :: | ChargeErrorCount | = | 0 |
TYPE DetailedIceStorageData
! Input data
CHARACTER(len=MaxNameLength) :: Name = ' ' ! User identifier
CHARACTER(len=MaxNameLength) :: ScheduleName = ' ' ! User identifier
INTEGER :: ScheduleIndex = 0 ! Plant inlet node number for ice storage unit
REAL(r64) :: NomCapacity = 0.0d0 ! Design storage capacity of Ice Thermal Storage system [W-hr]
! (User input for this parameter in GJ--need to convert to W-hr)
INTEGER :: PlantInNodeNum = 0 ! Plant inlet node number for ice storage unit
INTEGER :: PlantOutNodeNum = 0 ! Plant outlet node number for ice storage unit
INTEGER :: PlantLoopNum = 0
INTEGER :: PlantLoopSideNum = 0
INTEGER :: PlantBranchNum = 0
INTEGER :: PlantCompNum = 0
REAL(r64) :: DesignMassFlowRate = 0.d0
INTEGER :: MapNum = 0 ! Number to Map structure
CHARACTER(len=MaxNameLength) :: DischargeCurveType = ' ' ! Type of discharging equation entered by user (QuadraticLinear)
CHARACTER(len=MaxNameLength) :: DischargeCurveName = ' ' ! Curve name for discharging (used to find the curve index)
INTEGER :: DischargeCurveNum = 0 ! Curve index for discharging
CHARACTER(len=MaxNameLength) :: ChargeCurveType = ' ' ! Type of charging equation entered by user (QuadraticLinear)
CHARACTER(len=MaxNameLength) :: ChargeCurveName = ' ' ! Curve name for charging (used to find the curve index)
INTEGER :: ChargeCurveNum = 0 ! Curve index for charging
REAL(r64) :: CurveFitTimeStep = 1.0d0 ! Time step used to generate performance data [hours]
REAL(r64) :: DischargeParaElecLoad = 0.0d0 ! Parasitic electric load duing discharging [dimensionless]
! (This is multiplied by the tank capacity to obtain elec consump)
REAL(r64) :: ChargeParaElecLoad = 0.0d0 ! Parasitic electric load duing charging [dimensionless]
! (This is multiplied by the tank capacity to obtain elec consump)
REAL(r64) :: TankLossCoeff = 0.0d0 ! Fraction of total storage capacity lost per hour [1/hours]
REAL(r64) :: FreezingTemp = 0.0d0 ! Freezing/melting temperature of ice storage unit [C]
! Reporting data
REAL(r64) :: CompLoad = 0.0d0 ! load requested by plant [W]
REAL(r64) :: IceFracChange = 0.0d0 ! Change in fraction of ice stored during the time step [fraction]
REAL(r64) :: IceFracRemaining = 1.0d0 ! Fraction of ice remaining in storage [fraction]
CHARACTER(len=MaxNameLength) :: ThawProcessIndicator = ' ' ! User input determining whether system is inside or outside melt
INTEGER :: ThawProcessIndex = 0 ! Conversion of thaw process indicator to integer index
REAL(r64) :: IceFracOnCoil = 1.0d0 ! Fraction of ice on the coil (affects charging) [fraction]
REAL(r64) :: DischargingRate = 0.0d0 ! Rate at which energy is being added (thawing) to ice unit [W]
REAL(r64) :: DischargingEnergy = 0.0d0 ! Total energy added to the ice storage unit [J]
REAL(r64) :: ChargingRate = 0.0d0 ! Rate at which energy is removed (freezing) to ice unit [W]
REAL(r64) :: ChargingEnergy = 0.0d0 ! Total energy removed from ice storage unit [J]
REAL(r64) :: MassFlowRate = 0.0d0 ! Total mass flow rate to component [kg/s]
REAL(r64) :: BypassMassFlowRate = 0.0d0 ! Mass flow rate that bypasses the ice unit locally [kg/s]
REAL(r64) :: TankMassFlowRate = 0.0d0 ! Mass flow rate through the ice storage unit [kg/s]
REAL(r64) :: InletTemp = 0.0d0 ! Component inlet temperature (same as bypass temperature) [C]
REAL(r64) :: OutletTemp = 0.0d0 ! Component outlet temperature (blended) [C]
REAL(r64) :: TankOutletTemp = 0.0d0 ! Ice storage unit outlet temperature [C]
REAL(r64) :: ParasiticElecRate = 0.0d0 ! Parasitic electrical energy rate consumed by ice storage [W]
REAL(r64) :: ParasiticElecEnergy = 0.0d0 ! Total parasitic electrical energy consumed by ice storage [J]
INTEGER :: DischargeIterErrors = 0 ! Number of max iterations exceeded errors during discharging
INTEGER :: DischargeErrorCount = 0 ! Index for error counting routine
INTEGER :: ChargeIterErrors = 0 ! Number of max iterations exceeded errors during charging
INTEGER :: ChargeErrorCount = 0 ! Index for error counting routine
END TYPE DetailedIceStorageData