Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=MaxNameLength), | public | :: | Name | = | ' ' | ||
character(len=MaxNameLength), | public | :: | Sched | = | ' ' | ||
character(len=MaxNameLength), | public | :: | RegenCoilType | = | ' ' | ||
character(len=MaxNameLength), | public | :: | RegenCoilName | = | ' ' | ||
character(len=MaxNameLength), | public | :: | RegenFanType | = | ' ' | ||
character(len=MaxNameLength), | public | :: | RegenFanName | = | ' ' | ||
integer, | public | :: | PerformanceModel_Num | = | 0 | ||
integer, | public | :: | ProcAirInNode | = | 0 | ||
integer, | public | :: | ProcAirOutNode | = | 0 | ||
integer, | public | :: | RegenAirInNode | = | 0 | ||
integer, | public | :: | RegenAirOutNode | = | 0 | ||
integer, | public | :: | RegenFanInNode | = | 0 | ||
integer, | public | :: | ControlType | = | 0 | ||
real(kind=r64), | public | :: | HumRatSet | = | 0.0d0 | ||
real(kind=r64), | public | :: | NomProcAirVolFlow | = | 0.0d0 | ||
real(kind=r64), | public | :: | NomProcAirVel | = | 0.0d0 | ||
real(kind=r64), | public | :: | NomRotorPower | = | 0.0d0 | ||
integer, | public | :: | RegenCoilIndex | = | 0 | ||
integer, | public | :: | RegenFanIndex | = | 0 | ||
integer, | public | :: | ProcDryBulbCurvefTW | = | 0 | ||
integer, | public | :: | ProcDryBulbCurvefV | = | 0 | ||
integer, | public | :: | ProcHumRatCurvefTW | = | 0 | ||
integer, | public | :: | ProcHumRatCurvefV | = | 0 | ||
integer, | public | :: | RegenEnergyCurvefTW | = | 0 | ||
integer, | public | :: | RegenEnergyCurvefV | = | 0 | ||
integer, | public | :: | RegenVelCurvefTW | = | 0 | ||
integer, | public | :: | RegenVelCurvefV | = | 0 | ||
real(kind=r64), | public | :: | NomRegenTemp | = | 121.0d0 | ||
real(kind=r64), | public | :: | MinProcAirInTemp | = | -73.3d0 | ||
real(kind=r64), | public | :: | MaxProcAirInTemp | = | 65.6d0 | ||
real(kind=r64), | public | :: | MinProcAirInHumRat | = | 0.0d0 | ||
real(kind=r64), | public | :: | MaxProcAirInHumRat | = | 0.21273d0 | ||
integer, | public | :: | SchedPtr | = | 0 | ||
real(kind=r64), | public | :: | NomProcAirMassFlow | = | 0.0d0 | ||
real(kind=r64), | public | :: | NomRegenAirMassFlow | = | 0.0d0 | ||
real(kind=r64), | public | :: | ProcAirInTemp | = | 0.0d0 | ||
real(kind=r64), | public | :: | ProcAirInHumRat | = | 0.0d0 | ||
real(kind=r64), | public | :: | ProcAirInEnthalpy | = | 0.0d0 | ||
real(kind=r64), | public | :: | ProcAirInMassFlowRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | ProcAirOutTemp | = | 0.0d0 | ||
real(kind=r64), | public | :: | ProcAirOutHumRat | = | 0.0d0 | ||
real(kind=r64), | public | :: | ProcAirOutEnthalpy | = | 0.0d0 | ||
real(kind=r64), | public | :: | ProcAirOutMassFlowRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | RegenAirInTemp | = | 0.0d0 | ||
real(kind=r64), | public | :: | RegenAirInHumRat | = | 0.0d0 | ||
real(kind=r64), | public | :: | RegenAirInEnthalpy | = | 0.0d0 | ||
real(kind=r64), | public | :: | RegenAirInMassFlowRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | RegenAirVel | = | 0.0d0 | ||
character(len=MaxNameLength), | public | :: | DehumType | = | ' ' | ||
integer, | public | :: | DehumTypeCode | = | 0 | ||
real(kind=r64), | public | :: | WaterRemove | = | 0.0d0 | ||
real(kind=r64), | public | :: | WaterRemoveRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | SpecRegenEnergy | = | 0.0d0 | ||
real(kind=r64), | public | :: | QRegen | = | 0.0d0 | ||
real(kind=r64), | public | :: | RegenEnergy | = | 0.0d0 | ||
real(kind=r64), | public | :: | ElecUseEnergy | = | 0.0d0 | ||
real(kind=r64), | public | :: | ElecUseRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | PartLoad | = | 0.0d0 | ||
integer, | public | :: | RegenCapErrorIndex1 | = | 0 | ||
integer, | public | :: | RegenCapErrorIndex2 | = | 0 | ||
integer, | public | :: | RegenCapErrorIndex3 | = | 0 | ||
integer, | public | :: | RegenCapErrorIndex4 | = | 0 | ||
integer, | public | :: | RegenFanErrorIndex1 | = | 0 | ||
integer, | public | :: | RegenFanErrorIndex2 | = | 0 | ||
integer, | public | :: | RegenFanErrorIndex3 | = | 0 | ||
integer, | public | :: | RegenFanErrorIndex4 | = | 0 | ||
character(len=MaxNameLength), | public | :: | HXType | = | ' ' | ||
character(len=MaxNameLength), | public | :: | HXName | = | ' ' | ||
integer, | public | :: | HXTypeNum | = | 0 | ||
character(len=MaxNameLength), | public | :: | ExhaustFanCurveObject | = | ' ' | ||
character(len=MaxNameLength), | public | :: | CoolingCoilType | = | ' ' | ||
character(len=MaxNameLength), | public | :: | CoolingCoilName | = | ' ' | ||
integer, | public | :: | Preheat | = | 0 | ||
real(kind=r64), | public | :: | RegenSetPointTemp | = | 0.0d0 | ||
real(kind=r64), | public | :: | ExhaustFanMaxVolFlowRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | ExhaustFanMaxMassFlowRate | = | 0.0d0 | ||
real(kind=r64), | public | :: | ExhaustFanMaxPower | = | 0.0d0 | ||
real(kind=r64), | public | :: | ExhaustFanPower | = | 0.0d0 | ||
real(kind=r64), | public | :: | ExhaustFanElecConsumption | = | 0.0d0 | ||
real(kind=r64), | public | :: | CompanionCoilCapacity | = | 0.0d0 | ||
integer, | public | :: | RegenFanPlacement | = | 0 | ||
integer, | public | :: | ControlNodeNum | = | 0 | ||
integer, | public | :: | ExhaustFanCurveIndex | = | 0 | ||
integer, | public | :: | CompIndex | = | 0 | ||
integer, | public | :: | CoolingCoilOutletNode | = | 0 | ||
integer, | public | :: | RegenFanOutNode | = | 0 | ||
integer, | public | :: | RegenCoilInletNode | = | 0 | ||
integer, | public | :: | RegenCoilOutletNode | = | 0 | ||
integer, | public | :: | HXProcInNode | = | 0 | ||
integer, | public | :: | HXProcOutNode | = | 0 | ||
integer, | public | :: | HXRegenInNode | = | 0 | ||
integer, | public | :: | HXRegenOutNode | = | 0 | ||
integer, | public | :: | CondenserInletNode | = | 0 | ||
integer, | public | :: | DXCoilIndex | = | 0 | ||
integer, | public | :: | ErrCount | = | 0 | ||
integer, | public | :: | ErrIndex1 | = | 0 | ||
integer, | public | :: | CoilUpstreamOfProcessSide | = | 0 | ||
logical, | public | :: | RegenInletIsOutsideAirNode | = | .FALSE. | ||
integer, | public | :: | RegenCoilType_Num | = | 0 | ||
integer, | public | :: | CoilControlNode | = | 0 | ||
integer, | public | :: | CoilOutletNode | = | 0 | ||
integer, | public | :: | LoopNum | = | 0 | ||
integer, | public | :: | LoopSide | = | 0 | ||
integer, | public | :: | BranchNum | = | 0 | ||
integer, | public | :: | CompNum | = | 0 | ||
integer, | public | :: | HotWaterCoilMaxIterIndex | = | 0 | ||
integer, | public | :: | HotWaterCoilMaxIterIndex2 | = | 0 | ||
real(kind=r64), | public | :: | MaxCoilFluidFlow | = | 0.0d0 | ||
real(kind=r64), | public | :: | RegenCoilCapacity | = | 0.0d0 |
TYPE DesiccantDehumidifierData
! User Input data
CHARACTER(len=MaxNameLength) :: Name =' ' ! unique name of component
CHARACTER(len=MaxNameLength) :: Sched =' ' ! name of availability schedule
CHARACTER(len=MaxNameLength) :: RegenCoilType =' ' ! type of regen coil
CHARACTER(len=MaxNameLength) :: RegenCoilName =' ' ! name of regen coil
CHARACTER(len=MaxNameLength) :: RegenFanType =' ' ! type of regen fan
CHARACTER(len=MaxNameLength) :: RegenFanName =' ' ! name of regen fan
INTEGER :: PerformanceModel_Num =0 ! type of performance model, default or user curves
INTEGER :: ProcAirInNode =0 ! process air inlet node of dehumidifier
INTEGER :: ProcAirOutNode =0 ! process air outlet node of dehumidifier
INTEGER :: RegenAirInNode =0 ! regen air inlet node of dehumidifier
! (initially set to conditions entering regen heating coil)
INTEGER :: RegenAirOutNode =0 ! regen air outlet node of dehumidifier
INTEGER :: RegenFanInNode =0 ! regen fan inlet node
INTEGER :: ControlType =0 ! type of controls
REAL(r64) :: HumRatSet =0.0d0 ! humidity ratio setpoint [kg water / kg air]
REAL(r64) :: NomProcAirVolFlow=0.0d0 ! nominal process air flow rate [m3/s]
REAL(r64) :: NomProcAirVel =0.0d0 ! nominal process air velocity [m/s]
REAL(r64) :: NomRotorPower =0.0d0 ! rotor power consumption at full output [W]
INTEGER :: RegenCoilIndex =0 ! Index for regen coil
INTEGER :: RegenFanIndex =0 ! Index for regen fan
INTEGER :: ProcDryBulbCurvefTW=0 ! number of process leaving dry bulb f(edb,ew) curve
INTEGER :: ProcDryBulbCurvefV =0 ! number of process leaving dry bulb f(v) curve
INTEGER :: ProcHumRatCurvefTW =0 ! number of process leaving humidity ratio f(edb,ew) curve
INTEGER :: ProcHumRatCurvefV =0 ! number of process leaving humidity ratio f(v) curve
INTEGER :: RegenEnergyCurvefTW=0 ! number of regen energy f(edb,ew) curve
INTEGER :: RegenEnergyCurvefV =0 ! number of regen energy f(v) curve
INTEGER :: RegenVelCurvefTW =0 ! number of regen velocity f(edb,ew) curve
INTEGER :: RegenVelCurvefV =0 ! number of regen velocity f(v) curve
REAL(r64) :: NomRegenTemp = 121.0d0 ! nominal regen temperature for regen energy curve [C]
! Possible future inputs, hardwired for now depending on which performance model is in use, unit off if out of bounds
REAL(r64) :: MinProcAirInTemp = -73.3d0 ! min allowable process inlet air temperature [C]
REAL(r64) :: MaxProcAirInTemp = 65.6d0 ! max allowable process inlet air temperature [C]
REAL(r64) :: MinProcAirInHumRat = 0.0d0 ! min allowable process inlet air humidity ratio [kg water / kg air]
REAL(r64) :: MaxProcAirInHumRat = 0.21273d0 ! max allowable process inlet air humidity ratio [kg water / kg air]
! Internal Data
INTEGER :: SchedPtr =0 ! index of availability schedule
REAL(r64) :: NomProcAirMassFlow =0.0d0 ! nominal process air mass flow rate [kg/s]
REAL(r64) :: NomRegenAirMassFlow =0.0d0 ! nominal regeneration air mass flow rate [kg/s]
REAL(r64) :: ProcAirInTemp =0.0d0 ! process inlet air temperature [C]
REAL(r64) :: ProcAirInHumRat =0.0d0 ! process inlet air humidity ratio [kg water / kg air]
REAL(r64) :: ProcAirInEnthalpy =0.0d0 ! process inlet air specific enthalpy [J/kg]
REAL(r64) :: ProcAirInMassFlowRate =0.0d0 ! process inlet air mass flow rate [kg/s]
REAL(r64) :: ProcAirOutTemp =0.0d0 ! process outlet air temperature [C]
REAL(r64) :: ProcAirOutHumRat =0.0d0 ! process outlet air humidity ratio [kg water / kg air]
REAL(r64) :: ProcAirOutEnthalpy =0.0d0 ! process outlet air specific enthalpy [J/kg]
REAL(r64) :: ProcAirOutMassFlowRate=0.0d0 ! process outlet air mass flow rate [kg/s]
REAL(r64) :: RegenAirInTemp =0.0d0 ! regen inlet air temperature [C]
REAL(r64) :: RegenAirInHumRat =0.0d0 ! regen inlet air humidity ratio [kg water / kg air]
REAL(r64) :: RegenAirInEnthalpy =0.0d0 ! regen inlet air specific enthalpy [J/kg]
REAL(r64) :: RegenAirInMassFlowRate=0.0d0 ! regen inlet air mass flow rate [kg/s]
REAL(r64) :: RegenAirVel =0.0d0 ! regen air velocity [m/s]
CHARACTER(len=MaxNameLength) :: DehumType =' ' ! Type of desiccant dehumidifier
INTEGER :: DehumTypeCode =0 ! Type of desiccant dehumidifier, integer code
REAL(r64) :: WaterRemove =0.0d0 ! water removed [kg]
REAL(r64) :: WaterRemoveRate =0.0d0 ! water removal rate [kg/s]
REAL(r64) :: SpecRegenEnergy =0.0d0 ! specific regen energy [J/kg of water removed]
REAL(r64) :: QRegen =0.0d0 ! regen energy rate requested from regen coil [W]
REAL(r64) :: RegenEnergy =0.0d0 ! regen energy requested from regen coil [J]
REAL(r64) :: ElecUseEnergy =0.0d0 ! electricity consumption [J]
REAL(r64) :: ElecUseRate =0.0d0 ! electricity consumption rate [W]
REAL(r64) :: PartLoad =0.0d0 ! fraction of dehumidification capacity required to meet setpoint
INTEGER :: RegenCapErrorIndex1 =0 ! recurring error message index for insufficient regen coil capacity
INTEGER :: RegenCapErrorIndex2 =0 ! recurring error message index for insufficient regen coil capacity
INTEGER :: RegenCapErrorIndex3 =0 ! recurring error message index for insufficient regen coil capacity
INTEGER :: RegenCapErrorIndex4 =0 ! recurring error message index for insufficient regen coil capacity
INTEGER :: RegenFanErrorIndex1 =0 ! recurring error message index for incorrect regen fan flow
INTEGER :: RegenFanErrorIndex2 =0 ! recurring error message index for incorrect regen fan flow
INTEGER :: RegenFanErrorIndex3 =0 ! recurring error message index for incorrect regen fan flow
INTEGER :: RegenFanErrorIndex4 =0 ! recurring error message index for incorrect regen fan flow
! structure elements unique to generic desiccant dehumidifier
CHARACTER(len=MaxNameLength) :: HXType =' ' ! type of desiccant heat exchanger
CHARACTER(len=MaxNameLength) :: HXName =' ' ! name of desiccant heat exchanger
INTEGER :: HXTypeNum = 0 ! parameter number of desiccant heat exchanger
CHARACTER(len=MaxNameLength) :: ExhaustFanCurveObject=' ' ! exhaust fan curve object
CHARACTER(len=MaxNameLength) :: CoolingCoilType =' ' ! type of cooling coil used with desiccant heat exchanger
CHARACTER(len=MaxNameLength) :: CoolingCoilName =' ' ! name of cooling coil used with desiccant heat exchanger
INTEGER :: Preheat =0 ! determine condenser waste heat usage for pre heating regen air
REAL(r64) :: RegenSetPointTemp =0.0d0 ! heating set-point for regeneration air [C]
REAL(r64) :: ExhaustFanMaxVolFlowRate=0.0d0 ! exhaust fan maximum allowable air flow rate [m3/s]
REAL(r64) :: ExhaustFanMaxMassFlowRate=0.0d0 ! exhaust fan maximum allowable air mass flow rate [kg/s]
REAL(r64) :: ExhaustFanMaxPower =0.0d0 ! exhaust fan maximum allowable power [W]
REAL(r64) :: ExhaustFanPower =0.0d0 ! exhaust fan power for reporting [W]
REAL(r64) :: ExhaustFanElecConsumption = 0.0d0 ! exhaust fan electric consumption for reporting [J]
REAL(r64) :: CompanionCoilCapacity=0.0d0 ! DX coil capacity for dehumidifier companion cooling coil [W]
INTEGER :: RegenFanPlacement =0 ! placement of the fan used for regeneration air flow
INTEGER :: ControlNodeNum =0 ! node number of control node
INTEGER :: ExhaustFanCurveIndex =0 ! exhaust fan curve object index
INTEGER :: CompIndex =0 ! index of HX component to call simheatrecovery
INTEGER :: CoolingCoilOutletNode =0 ! node number of cooling coil outlet node
INTEGER :: RegenFanOutNode =0 ! fan outlet node number mined from regen fan object
INTEGER :: RegenCoilInletNode =0 ! regen heating coil inlet node number mined from regen heater object
INTEGER :: RegenCoilOutletNode =0 ! regen heating coil outlet node number mined from regen heater object
INTEGER :: HXProcInNode =0 ! process inlet node num mined from desiccant heat exchanger object
INTEGER :: HXProcOutNode =0 ! process outlet node num mined from desiccant heat exchanger object
INTEGER :: HXRegenInNode =0 ! regen inlet node number mined from desiccant heat exchanger object
INTEGER :: HXRegenOutNode =0 ! regen outlet node number mined from desiccant heat exchanger object
INTEGER :: CondenserInletNode =0 ! regen outlet node number mined from desiccant heat exchanger object
INTEGER :: DXCoilIndex =0 ! DX Coil index mined from coil object
INTEGER :: ErrCount =0 ! error count
INTEGER :: ErrIndex1 =0 ! error index
INTEGER :: CoilUpstreamOfProcessSide=0 ! used to determine if process inlet is pre-cooled
LOGICAL :: RegenInletIsOutsideAirNode = .FALSE. ! regen inlet is connected to an outside air node
INTEGER :: RegenCoilType_Num = 0 ! type number of regen coil
INTEGER :: CoilControlNode = 0 ! heating coil hot water or steam inlet node
INTEGER :: CoilOutletNode = 0 ! outlet node for water coil
INTEGER :: LoopNum = 0 ! plant loop index for water heating coil
INTEGER :: LoopSide = 0 ! plant loop side index for water heating coil
INTEGER :: BranchNum = 0 ! plant loop branch index for water heating coil
INTEGER :: CompNum = 0 ! plant loop component index for water heating coil
Integer :: HotWaterCoilMaxIterIndex = 0 ! Index to recurring warning message
Integer :: HotWaterCoilMaxIterIndex2 = 0 ! Index to recurring warning message
REAL(r64) :: MaxCoilFluidFlow = 0.0d0 ! hot water or steam mass flow rate regen. heating coil [kg/s]
REAL(r64) :: RegenCoilCapacity = 0.0d0 ! hot water or steam coil operating capacity [W]
END TYPE DesiccantDehumidifierData