IceThermalStorage Module

module~~icethermalstorage~~UsesGraph module~icethermalstorage IceThermalStorage module~general General module~general->module~icethermalstorage module~dataglobals DataGlobals module~dataglobals->module~icethermalstorage module~dataenvironment DataEnvironment module~dataglobals->module~dataenvironment module~datahvacglobals DataHVACGlobals module~dataglobals->module~datahvacglobals module~curvemanager CurveManager module~dataglobals->module~curvemanager module~dataloopnode DataLoopNode module~dataglobals->module~dataloopnode module~databranchairloopplant DataBranchAirLoopPlant module~dataglobals->module~databranchairloopplant module~dataenvironment->module~icethermalstorage module~datahvacglobals->module~icethermalstorage module~curvemanager->module~icethermalstorage module~dataloopnode->module~icethermalstorage module~datainterfaces DataInterfaces module~datainterfaces->module~icethermalstorage module~datainterfaces->module~curvemanager module~dataprecisionglobals DataPrecisionGlobals module~dataprecisionglobals->module~icethermalstorage module~dataprecisionglobals->module~general module~dataprecisionglobals->module~dataglobals module~dataprecisionglobals->module~dataenvironment module~dataprecisionglobals->module~datahvacglobals module~dataprecisionglobals->module~curvemanager module~dataprecisionglobals->module~dataloopnode module~dataprecisionglobals->module~datainterfaces module~dataprecisionglobals->module~databranchairloopplant module~databranchairloopplant->module~curvemanager
Help

Used By

module~~icethermalstorage~~UsedByGraph module~icethermalstorage IceThermalStorage proc~simplantequip SimPlantEquip module~icethermalstorage->proc~simplantequip proc~managehvac ManageHVAC module~icethermalstorage->proc~managehvac
Help


Variables

TypeVisibility AttributesNameInitial
character(len=*), private, parameter:: cIceStorageSimple ='ThermalStorage:Ice:Simple'
character(len=*), private, parameter:: cIceStorageDetailed ='ThermalStorage:Ice:Detailed'
integer, private, parameter:: IceStorageType_Simple =1
integer, private, parameter:: IceStorageType_Detailed =2
integer, private, parameter:: DetIceInsideMelt =1
integer, private, parameter:: DetIceOutsideMelt =2
real(kind=r64), private, parameter:: FreezTemp =0.0d0
real(kind=r64), private, parameter:: FreezTempIP =32.0d0
real(kind=r64), private, parameter:: TimeInterval =3600.0d0
integer, private, parameter:: ITSType_IceOnCoilInternal =1
integer, private, parameter:: ITSType_IceOnCoilExternal =2
real(kind=r64), private, parameter:: EpsLimitForX =0.0d0
real(kind=r64), private, parameter:: EpsLimitForDisCharge =0.0d0
real(kind=r64), private, parameter:: EpsLimitForCharge =0.0d0
real(kind=r64), private, parameter:: Delta =0.005d0
real(kind=r64), private, parameter:: PLRmin =0.1d0
real(kind=r64), private, parameter:: Pa =0.088065d0
real(kind=r64), private, parameter:: Pb =1.137742d0
real(kind=r64), private, parameter:: Pc =-0.225806d0
real(kind=r64), private, parameter:: Tref =85.d0
real(kind=r64), private, parameter:: Tcharge =1.d0
real(kind=r64), private, parameter:: Tdischarge =5.d0
real(kind=r64), private, parameter:: DeltaTofMin =0.5d0
real(kind=r64), private, parameter:: DeltaTifMin =1.0d0
type(IceStorageSpecs), private, ALLOCATABLE, DIMENSION(:):: IceStorage
type(ReportVars), private, ALLOCATABLE, DIMENSION(:):: IceStorageReport
type(DetailedIceStorageData), private, ALLOCATABLE, DIMENSION(:):: DetIceStor
type(IceStorageMapping), private, ALLOCATABLE, DIMENSION(:):: IceStorageTypeMap
logical, private :: ResetXForITSFlag =.false.
real(kind=r64), private :: ITSNomCap =0.0d0
integer, private :: InletNodeNum =0
integer, private :: OutletNodeNum =0
integer, private :: IceNum =0
integer, private :: NumIceStorages =0
logical, private :: IceStorageNotFound =.false.
integer, private :: NumDetIceStorages =0
integer, private :: TotalIceStorages =0
real(kind=r64), private :: UAIceCh =0.0d0
real(kind=r64), private :: UAIceDisCh =0.0d0
real(kind=r64), private :: HLoss =0.0d0
real(kind=r64), private :: XCurIceFrac =0.0d0
real(kind=r64), private :: U =0.0d0
real(kind=r64), private :: Urate =0.0d0
real(kind=r64), private :: ITSMassFlowRate =0.0d0
real(kind=r64), private :: ITSInletTemp =0.0d0
real(kind=r64), private :: ITSOutletTemp =0.0d0
real(kind=r64), private :: ITSOutletSetPointTemp =0.0d0
real(kind=r64), private :: ITSCoolingRate =0.0d0
real(kind=r64), private :: ITSCoolingEnergy =0.0d0
real(kind=r64), private :: ChillerOutletTemp =0.0d0
logical, private, ALLOCATABLE, DIMENSION(:):: CheckEquipName

Derived Types

type, private :: IceStorageMapping

Components

TypeVisibility AttributesNameInitial
character(len=MaxNameLength), public :: Name =' '
character(len=MaxNameLength), public :: StorageType =' '
integer, public :: StorageType_Num =0
integer, public :: LocalEqNum =0

type, private :: IceStorageSpecs

Components

TypeVisibility AttributesNameInitial
character(len=MaxNameLength), public :: Name =' '
character(len=MaxNameLength), public :: ITSType =' '
integer, public :: ITSType_Num =0
integer, public :: MapNum =0
integer, public :: UratePtr =0
real(kind=r64), public :: ITSNomCap =0.0d0
integer, public :: PltInletNodeNum =0
integer, public :: PltOutletNodeNum =0
integer, public :: LoopNum =0
integer, public :: LoopSideNum =0
integer, public :: BranchNum =0
integer, public :: CompNum =0
real(kind=r64), public :: DesignMassFlowRate =0.d0

type, private :: DetailedIceStorageData

Components

TypeVisibility AttributesNameInitial
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, private :: ReportVars

Components

TypeVisibility AttributesNameInitial
real(kind=r64), public :: MyLoad =0.0d0
real(kind=r64), public :: U =0.0d0
real(kind=r64), public :: Urate =0.0d0
real(kind=r64), public :: IceFracRemain =0.0d0
real(kind=r64), public :: ITSCoolingRate =0.0d0
real(kind=r64), public :: ITSCoolingEnergy =0.0d0
real(kind=r64), public :: ITSChargingRate =0.0d0
real(kind=r64), public :: ITSChargingEnergy =0.0d0
real(kind=r64), public :: ITSmdot =0.0d0
real(kind=r64), public :: ITSInletTemp =0.0d0
real(kind=r64), public :: ITSOutletTemp =0.0d0

Functions

private function CalcDetIceStorLMTDstar(Tin, Tout, Tfr)

Arguments

Type IntentOptional AttributesName
real(kind=r64), intent(in) :: Tin
real(kind=r64), intent(in) :: Tout
real(kind=r64), intent(in) :: Tfr

Return Value real(kind=r64)

private function TempSItoIP(Temp)

Arguments

Type IntentOptional AttributesName
real(kind=r64), intent(in) :: Temp

Return Value real(kind=r64)

private function TempIPtoSI(Temp)

Arguments

Type IntentOptional AttributesName
real(kind=r64), intent(in) :: Temp

Return Value real(kind=r64)


Subroutines

public subroutine SimIceStorage(IceStorageType, IceStorageName, CompIndex, RunFlag, FirstIteration, InitLoopEquip, MyLoad)

Arguments

Type IntentOptional AttributesName
character(len=*) :: IceStorageType
character(len=*) :: IceStorageName
integer, intent(inout) :: CompIndex
logical, intent(in) :: RunFlag
logical :: FirstIteration
logical, intent(inout) :: InitLoopEquip
real(kind=r64), intent(inout) :: MyLoad

private subroutine SimDetailedIceStorage()

Arguments

None

private subroutine GetIceStorageInput()

Arguments

None

private subroutine InitDetailedIceStorage()

Arguments

None

private subroutine InitSimpleIceStorage()

Arguments

None

private subroutine CalcIceStorageCapacity(IceStorageType, MaxCap, MinCap, OptCap)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: IceStorageType
real(kind=r64), intent(out) :: MaxCap
real(kind=r64), intent(out) :: MinCap
real(kind=r64), intent(out) :: OptCap

private subroutine CalcIceStorageDormant(IceStorageType, IceNum)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: IceStorageType
integer :: IceNum

private subroutine CalcIceStorageCharge(IceStorageType, IceNum)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: IceStorageType
integer :: IceNum

private subroutine CalcQiceChargeMaxByChiller(IceNum, QiceMaxByChiller)

Arguments

Type IntentOptional AttributesName
integer :: IceNum
real(kind=r64), intent(out) :: QiceMaxByChiller

private subroutine CalcQiceChargeMaxByITS(IceNum, ChillerOutletTemp, QiceMaxByITS)

Arguments

Type IntentOptional AttributesName
integer :: IceNum
real(kind=r64), intent(in) :: ChillerOutletTemp
real(kind=r64), intent(out) :: QiceMaxByITS

private subroutine CalcIceStorageDischarge(IceStorageType, IceNum, MyLoad, RunFlag, FirstIteration, MaxCap)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: IceStorageType
integer :: IceNum
real(kind=r64) :: MyLoad
logical, intent(in) :: RunFlag
logical :: FirstIteration
real(kind=r64), intent(in) :: MaxCap

private subroutine CalcQiceDischageMax(QiceMin)

Arguments

Type IntentOptional AttributesName
real(kind=r64), intent(out) :: QiceMin

private subroutine CalcUAIce(IceNum, XCurIceFrac, UAIceCh, UAIceDisCh, HLoss)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: IceNum
real(kind=r64), intent(in) :: XCurIceFrac
real(kind=r64), intent(out) :: UAIceCh
real(kind=r64), intent(out) :: UAIceDisCh
real(kind=r64), intent(out) :: HLoss

private subroutine UpdateNode(MyLoad, RunFlag, Num)

??? For now, always set outletnode mass flow equal to inletnode mass flow ??? Node(InletNodeNum)%MassFlowRate = ITSMassFlowRate ??? Node(OutletNodeNum)%MassFlowRate = ITSMassFlowRate

Arguments

Type IntentOptional AttributesName
real(kind=r64) :: MyLoad
logical :: RunFlag
integer :: Num

private subroutine RecordOutput(IceNum, MyLoad, RunFlag)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: IceNum
real(kind=r64), intent(in) :: MyLoad
logical, intent(in) :: RunFlag

public subroutine UpdateIceFractions()

Arguments

None

private subroutine UpdateDetailedIceStorage()

Arguments

None

private subroutine ReportDetailedIceStorage()

Arguments

None


AirflowNetworkBalanceManager AirflowNetworkSolver BaseboardElectric BaseboardRadiator Boilers BoilerSteam BranchInputManager BranchNodeConnections ChillerAbsorption ChillerElectricEIR ChillerExhaustAbsorption ChillerGasAbsorption ChillerIndirectAbsorption ChillerReformulatedEIR CondenserLoopTowers ConductionTransferFunctionCalc ConvectionCoefficients CoolTower CostEstimateManager CrossVentMgr CTElectricGenerator CurveManager DataAirflowNetwork DataAirLoop DataAirSystems DataBranchAirLoopPlant DataBranchNodeConnections DataBSDFWindow DataComplexFenestration DataContaminantBalance DataConvergParams DataConversions DataCostEstimate DataDaylighting DataDaylightingDevices DataDefineEquip DataDElight DataEnvironment DataErrorTracking DataGenerators DataGlobalConstants DataGlobals DataHeatBalance DataHeatBalFanSys DataHeatBalSurface DataHVACControllers DataHVACGlobals DataInterfaces DataIPShortCuts DataLoopNode DataMoistureBalance DataMoistureBalanceEMPD DataOutputs DataPhotovoltaics DataPlant DataPlantPipingSystems DataPrecisionGlobals DataReportingFlags DataRoomAirModel DataRootFinder DataRuntimeLanguage DataShadowingCombinations DataSizing DataStringGlobals DataSurfaceColors DataSurfaceLists DataSurfaces DataSystemVariables DataTimings DataUCSDSharedData DataVectorTypes DataViewFactorInformation DataWater DataWindowEquivalentLayer DataZoneControls DataZoneEnergyDemands DataZoneEquipment DaylightingDevices DaylightingManager DELIGHTMANAGERF DELIGHTMANAGERF DemandManager DesiccantDehumidifiers DirectAirManager DisplacementVentMgr DualDuct DXCoils DXFEarClipping EarthTube EconomicLifeCycleCost EconomicTariff EcoRoofManager ElectricBaseboardRadiator EMSManager EvaporativeCoolers EvaporativeFluidCoolers ExteriorEnergyUse ExternalInterface FanCoilUnits Fans FaultsManager FluidCoolers FluidProperties FuelCellElectricGenerator Furnaces General GeneratorDynamicsManager GeneratorFuelSupply GlobalNames GroundHeatExchangers HeatBalanceAirManager HeatBalanceHAMTManager HeatBalanceIntRadExchange HeatBalanceManager HeatBalanceMovableInsulation HeatBalanceSurfaceManager HeatBalFiniteDiffManager HeatingCoils HeatPumpWaterToWaterCOOLING HeatPumpWaterToWaterHEATING HeatPumpWaterToWaterSimple HeatRecovery HighTempRadiantSystem Humidifiers HVACControllers HVACCooledBeam HVACDuct HVACDXHeatPumpSystem HVACDXSystem HVACHXAssistedCoolingCoil HVACInterfaceManager HVACManager HVACMultiSpeedHeatPump HVACSingleDuctInduc HVACStandAloneERV HVACUnitaryBypassVAV HVACUnitarySystem HVACVariableRefrigerantFlow HWBaseboardRadiator ICEngineElectricGenerator IceThermalStorage InputProcessor InternalHeatGains ISO_C_FUNCTION_BINDING ISO_C_FUNCTION_BINDING LowTempRadiantSystem ManageElectricPower MatrixDataManager MicroCHPElectricGenerator MicroturbineElectricGenerator MixedAir MixerComponent MoistureBalanceEMPDManager MundtSimMgr NodeInputManager NonZoneEquipmentManager OutAirNodeManager OutdoorAirUnit OutputProcessor OutputReportPredefined OutputReportTabular OutsideEnergySources PackagedTerminalHeatPump PackagedThermalStorageCoil Photovoltaics PhotovoltaicThermalCollectors PipeHeatTransfer Pipes PlantCentralGSHP PlantChillers PlantComponentTemperatureSources PlantCondLoopOperation PlantHeatExchangerFluidToFluid PlantLoadProfile PlantLoopEquip PlantLoopSolver PlantManager PlantPipingSystemsManager PlantPressureSystem PlantUtilities PlantValves PollutionModule PondGroundHeatExchanger PoweredInductionUnits Psychrometrics Pumps PurchasedAirManager RefrigeratedCase ReportSizingManager ReturnAirPathManager RoomAirModelManager RoomAirModelUserTempPattern RootFinder RuntimeLanguageProcessor ScheduleManager SetPointManager SimAirServingZones SimulationManager SingleDuct SizingManager SolarCollectors SolarReflectionManager SolarShading SortAndStringUtilities SplitterComponent SQLiteProcedures SQLiteProcedures StandardRatings SteamBaseboardRadiator SteamCoils SurfaceGeometry SurfaceGroundHeatExchanger SystemAvailabilityManager SystemReports TARCOGArgs TARCOGCommon TARCOGDeflection TARCOGGasses90 TARCOGGassesParams TARCOGMain TARCOGOutput TARCOGParams TarcogShading ThermalChimney ThermalComfort ThermalEN673Calc ThermalISO15099Calc TranspiredCollector UFADManager UnitHeater UnitVentilator UserDefinedComponents VariableSpeedCoils vectors VentilatedSlab WaterCoils WaterManager WaterThermalTanks WatertoAirHeatPump WatertoAirHeatPumpSimple WaterUse WeatherManager WindowAC WindowComplexManager WindowEquivalentLayer WindowManager WindTurbine ZoneAirLoopEquipmentManager ZoneContaminantPredictorCorrector ZoneDehumidifier ZoneEquipmentManager ZonePlenum ZoneTempPredictorCorrector