Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=MaxNameLength), | public | :: | Name | = | ' ' | ||
character(len=MaxNameLength), | public | :: | QualitySubCategoryName | = | ' ' | ||
real(kind=r64), | public | :: | MaxCapacity | = | 0.0d0 | ||
integer, | public | :: | OverflowMode | = | 0 | ||
character(len=MaxNameLength), | public | :: | OverflowTankName | = | ' ' | ||
integer, | public | :: | OverflowTankID | = | 0 | ||
integer, | public | :: | OverflowTankSupplyARRID | = | 0 | ||
real(kind=r64), | public | :: | ValveOnCapacity | = | 0.0d0 | ||
real(kind=r64), | public | :: | ValveOffCapacity | = | 0.0d0 | ||
integer, | public | :: | ControlSupplyType | = | 0 | ||
integer, | public | :: | GroundWellID | = | 0 | ||
character(len=MaxNameLength), | public | :: | SupplyTankName | = | ' ' | ||
integer, | public | :: | SupplyTankID | = | 0 | ||
integer, | public | :: | SupplyTankDemandARRID | = | 0 | ||
real(kind=r64), | public | :: | BackupMainsCapacity | = | 0.0d0 | ||
real(kind=r64), | public | :: | InitialVolume | = | 0.0d0 | ||
real(kind=r64), | public | :: | MaxInFlowRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | MaxOutFlowRate | = | 0.0d0 | ||
integer, | public | :: | ThermalMode | = | 0 | ||
real(kind=r64), | public | :: | InitialTankTemp | = | 20.0d0 | ||
integer, | public | :: | TempSchedID | = | 0 | ||
integer, | public | :: | AmbientTempIndicator | = | 0 | ||
integer, | public | :: | AmbientTempSchedule | = | 0 | ||
integer, | public | :: | ZoneID | = | 0 | ||
real(kind=r64), | public | :: | UValue | = | 0.0d0 | ||
real(kind=r64), | public | :: | SurfArea | = | 0.0d0 | ||
integer, | public | :: | InternalMassID | = | 0 | ||
character(len=MaxNameLength), | public | :: | SurfMaterialName | = | ' ' | ||
real(kind=r64), | public | :: | ThisTimeStepVolume | = | 0.0d0 | ||
real(kind=r64), | public | :: | LastTimeStepVolume | = | 0.0d0 | ||
real(kind=r64), | public | :: | LastTimeStepTemp | = | 0.0d0 | ||
integer, | public | :: | NumWaterSupplies | = | 0 | ||
real(kind=r64), | public, | Allocatable, Dimension(:) | :: | VdotAvailSupply | |||
real(kind=r64), | public, | Allocatable, Dimension(:) | :: | TwaterSupply | |||
character(len=MaxNameLength), | public, | Allocatable, Dimension(:) | :: | SupplyCompNames | |||
character(len=MaxNameLength), | public, | Allocatable, Dimension(:) | :: | SupplyCompTypes | |||
integer, | public | :: | NumWaterDemands | = | 0 | ||
real(kind=r64), | public, | Allocatable, Dimension(:) | :: | VdotRequestDemand | |||
real(kind=r64), | public, | Allocatable, Dimension(:) | :: | VdotAvailDemand | |||
character(len=MaxNameLength), | public, | Allocatable, Dimension(:) | :: | DemandCompNames | |||
character(len=MaxNameLength), | public, | Allocatable, Dimension(:) | :: | DemandCompTypes | |||
real(kind=r64), | public | :: | VdotFromTank | = | 0.0d0 | ||
real(kind=r64), | public | :: | VdotToTank | = | 0.0d0 | ||
real(kind=r64), | public | :: | VdotOverflow | = | 0.0d0 | ||
real(kind=r64), | public | :: | VolOverflow | = | 0.0d0 | ||
real(kind=r64), | public | :: | NetVdot | = | 0.0d0 | ||
real(kind=r64), | public | :: | Twater | = | 0.0d0 | ||
real(kind=r64), | public | :: | TouterSkin | = | 0.0d0 | ||
real(kind=r64), | public | :: | TwaterOverflow | = | 0.0d0 | ||
real(kind=r64), | public | :: | MainsDrawVdot | = | 0.0d0 | ||
real(kind=r64), | public | :: | MainsDrawVol | = | 0.0d0 | ||
real(kind=r64), | public | :: | SkinLossPower | = | 0.0d0 | ||
real(kind=r64), | public | :: | SkinLossEnergy | = | 0.0d0 | ||
real(kind=r64), | public | :: | SkinLossConvect | = | 0.0d0 | ||
real(kind=r64), | public | :: | SkinLossRadiat | = | 0.0d0 |
TYPE StorageTankDataStruct
! user input data
CHARACTER(len=MaxNameLength) :: Name = ' ' !name of this Storage Tank
CHARACTER(len=MaxNameLength) :: QualitySubCategoryName = ' ' !name of water subcategory
! INTEGER :: QualitySubCategory = 0 !
REAL(r64) :: MaxCapacity = 0.0d0 ! tank capacity Limit [m3]
INTEGER :: OverflowMode = 0 !
CHARACTER(len=MaxNameLength) :: OverflowTankName = ' ' !
INTEGER :: OverflowTankID = 0 !
INTEGER :: OverflowTankSupplyARRID = 0
REAL(r64) :: ValveOnCapacity = 0.0d0 ! tank capacity at lower control range [m3]
REAL(r64) :: ValveOffCapacity = 0.0d0 ! tank capacity at upper control range [m3]
INTEGER :: ControlSupplyType = 0 ! mode for tank controlled resupply
INTEGER :: GroundWellID = 0 !index "pointer" to well if present
CHARACTER(len=MaxNameLength) :: SupplyTankName = ' ' !
INTEGER :: SupplyTankID = 0
INTEGER :: SupplyTankDemandARRID = 0
REAL(r64) :: BackupMainsCapacity = 0.0d0
REAL(r64) :: InitialVolume = 0.0d0 ! water in tank at start of simulation period [m3]
REAL(r64) :: MaxInFlowRate = 0.0d0 ! limit on rate of inlet [m3/s]
REAL(r64) :: MaxOutFlowRate = 0.0d0 ! limit on rate of outlet [m3/s]
INTEGER :: ThermalMode = 0 !
REAL(r64) :: InitialTankTemp = 20.0d0 ! initial tank temperature [C]
INTEGER :: TempSchedID = 0 !index "pointer" to schedule
INTEGER :: AmbientTempIndicator = 0 ! Indicator for ambient tank losses (SCHEDULE, ZONE, EXTERIOR)
INTEGER :: AmbientTempSchedule = 0 ! Schedule index pointer
INTEGER :: ZoneID = 0 !index "pointer" to zone where tank is
REAL(r64) :: UValue = 0.0d0 ! U-value for tank [W/m2-k]
REAL(r64) :: SurfArea = 0.0d0 ! surface are of tank on Zone side... [m2]
INTEGER :: InternalMassID = 0 ! index "pointer" to internal mass object for thermal coupling
CHARACTER(len=MaxNameLength) :: SurfMaterialName = ' ' ! surface properties
! calculated data and from elsewhere
REAL(r64) :: ThisTimeStepVolume = 0.0d0
REAL(r64) :: LastTimeStepVolume = 0.0d0
REAL(r64) :: LastTimeStepTemp = 0.0d0 ! previous temperature of tank water
INTEGER :: NumWaterSupplies = 0
REAL(r64), Allocatable, Dimension(:) :: VdotAvailSupply !Each supply component has its own term
REAL(r64), Allocatable, Dimension(:) :: TwaterSupply !Each supply component has its own term
CHARACTER(Len=MaxNameLength), Allocatable, Dimension(:) :: SupplyCompNames
CHARACTER(Len=MaxNameLength), Allocatable, Dimension(:) :: SupplyCompTypes
INTEGER :: NumWaterDemands = 0
REAL(r64), Allocatable, Dimension(:) :: VdotRequestDemand !each demand componennt has a slot
REAL(r64), Allocatable, Dimension(:) :: VdotAvailDemand !each demand componennt has a slot
CHARACTER(Len=MaxNameLength), Allocatable, Dimension(:) :: DemandCompNames
CHARACTER(Len=MaxNameLength), Allocatable, Dimension(:) :: DemandCompTypes
REAL(r64) :: VdotFromTank = 0.0d0
REAL(r64) :: VdotToTank = 0.0d0 !
REAL(r64) :: VdotOverflow = 0.0d0 !
REAL(r64) :: VolOverflow = 0.0d0 !
! report variables
REAL(r64) :: NetVdot = 0.0d0
REAL(r64) :: Twater = 0.0d0
REAL(r64) :: TouterSkin = 0.0d0
REAL(r64) :: TwaterOverflow = 0.0d0
REAL(r64) :: MainsDrawVdot = 0.0d0
REAL(r64) :: MainsDrawVol = 0.0d0
REAL(r64) :: SkinLossPower = 0.0d0 ! heat loss to surrounding zone [W]
REAL(r64) :: SkinLossEnergy = 0.0d0 ! heat loss to surround zone [J]
REAL(r64) :: SkinLossConvect = 0.0d0 ! convective heat loss to zone [W]
REAL(r64) :: SkinLossRadiat = 0.0d0 ! radiative heat loss to zone [W}
END TYPE StorageTankDataStruct