TYPE FanEquipConditions
CHARACTER(len=MaxNameLength) :: FanName =' ' ! Name of the fan
CHARACTER(len=MaxNameLength) :: FanType =' ' ! Type of Fan ie. Simple, Vane axial, Centrifugal, etc.
CHARACTER(len=MaxNameLength) :: AvailSchedName =' ' ! Fan Operation Schedule
INTEGER :: FanType_Num =0 ! DataHVACGlobals fan type
INTEGER :: AvailSchedPtrNum =0 ! Pointer to the availability schedule
REAL(r64) :: InletAirMassFlowRate =0.0d0 !MassFlow through the Fan being Simulated [kg/Sec]
REAL(r64) :: OutletAirMassFlowRate =0.0d0
REAL(r64) :: MaxAirFlowRate =0.0d0 !Max Specified Volume Flow Rate of Fan [m3/sec]
LOGICAL :: MaxAirFlowRateIsAutosizable = .FALSE. ! if true, then this type of fan could be autosize
LOGICAL :: MaxAirFlowRateEMSOverrideOn = .FALSE. ! if true, EMS wants to override fan size for Max Volume Flow Rate
REAL(r64) :: MaxAirFlowRateEMSOverrideValue = 0.d0 ! EMS value to use for override of Max Volume Flow Rate
REAL(r64) :: MinAirFlowRate =0.0d0 !Min Specified Volume Flow Rate of Fan [m3/sec]
REAL(r64) :: MaxAirMassFlowRate =0.0d0 ! Max flow rate of fan in kg/sec
REAL(r64) :: MinAirMassFlowRate =0.0d0 ! Min flow rate of fan in kg/sec
INTEGER :: FanMinAirFracMethod = MinFrac ! parameter for what method is used for min flow fraction
REAL(r64) :: FanMinFrac = 0.0D0 ! Minimum fan air flow fraction
REAL(r64) :: FanFixedMin = 0.0D0 ! Absolute minimum fan air flow [m3/s]
LOGICAL :: EMSMaxMassFlowOverrideOn = .FALSE. ! if true, then EMS is calling to override mass flow
REAL(r64) :: EMSAirMassFlowValue = 0.0D0 ! value EMS is directing to use [kg/s]
REAL(r64) :: InletAirTemp =0.0d0
REAL(r64) :: OutletAirTemp =0.0d0
REAL(r64) :: InletAirHumRat =0.0d0
REAL(r64) :: OutletAirHumRat =0.0d0
REAL(r64) :: InletAirEnthalpy =0.0d0
REAL(r64) :: OutletAirEnthalpy =0.0d0
REAL(r64) :: FanPower =0.0d0 !Power of the Fan being Simulated [kW]
REAL(r64) :: FanEnergy =0.0d0 !Fan energy in [kJ]
REAL(r64) :: FanRuntimeFraction =0.0d0 !Fraction of the timestep that the fan operates
REAL(r64) :: DeltaTemp =0.0d0 !Temp Rise across the Fan [C]
REAL(r64) :: DeltaPress =0.0d0 !Delta Pressure Across the Fan [N/m2]
LOGICAL :: EMSFanPressureOverrideOn = .FALSE. ! if true, then EMS is calling to override
REAL(r64) :: EMSFanPressureValue = 0.0D0 ! EMS value for Delta Pressure Across the Fan [Pa]
! cpw22Aug2010 Clarify meaning of "fan efficiency"
! REAL(r64) :: FanEff =0.0d0 !Fan total efficiency; motor and mechanical
REAL(r64) :: FanEff =0.0d0 !Fan total system efficiency (fan*belt*motor*VFD)
LOGICAL :: EMSFanEffOverrideOn = .FALSE. ! if true, then EMS is calling to override
REAL(r64) :: EMSFanEffValue = 0.0D0 ! EMS value for total efficiency of the Fan, fraction on 0..1
REAL(r64) :: MotEff =0.0d0 !Fan motor efficiency
REAL(r64) :: MotInAirFrac =0.0d0 !Fraction of motor heat entering air stream
REAL(r64), Dimension(5):: FanCoeff =0.0d0 !Fan Part Load Coefficients to match fan type
! Mass Flow Rate Control Variables
REAL(r64) :: MassFlowRateMaxAvail =0.0d0
REAL(r64) :: MassFlowRateMinAvail =0.0d0
REAL(r64) :: RhoAirStdInit =0.0d0
INTEGER :: InletNodeNum =0
INTEGER :: OutletNodeNum =0
INTEGER :: NVPerfNum =0
INTEGER :: FanPowerRatAtSpeedRatCurveIndex =0
INTEGER :: FanEffRatioCurveIndex =0
CHARACTER(len=MaxNameLength) :: EndUseSubcategoryName=' '
LOGICAL :: OneTimePowerRatioCheck = .TRUE. ! one time flag used for error message
LOGICAL :: OneTimeEffRatioCheck = .TRUE. ! one time flag used for error message
!cpw22Aug2010 Following added to support Fan Component Model input
REAL(r64) :: FanWheelDia =0.0d0 !Fan wheel outer diameter [m]
REAL(r64) :: FanOutletArea =0.0d0 !Fan outlet area [m2]
REAL(r64) :: FanMaxEff =0.0d0 !Fan maximum static efficiency [-]
REAL(r64) :: EuMaxEff =0.0d0 !Euler number at fan maximum static efficiency [-]
REAL(r64) :: FanMaxDimFlow =0.0d0 !Fan maximum dimensionless airflow [-]
REAL(r64) :: FanShaftPwrMax =0.0d0 !Fan shaft maximum input power [W]
REAL(r64) :: FanSizingFactor =0.0d0 !Fan sizing factor [-] cpw31Aug2010
REAL(r64) :: PulleyDiaRatio =0.0d0 !Motor/fan pulley diameter ratio [-]
REAL(r64) :: BeltMaxTorque =0.0d0 !Belt maximum torque [N-m]
REAL(r64) :: BeltSizingFactor =0.0d0 !Belt sizing factor [-]
REAL(r64) :: BeltTorqueTrans =0.0d0 !Belt fractional torque transition Region 1-2 [-]
REAL(r64) :: MotorMaxSpd =0.0d0 !Motor maximum speed [rpm]
REAL(r64) :: MotorMaxOutPwr =0.0d0 !Motor maximum output power [W]
REAL(r64) :: MotorSizingFactor =0.0d0 !Motor sizing factor [-]
CHARACTER(len=MaxNameLength) :: VFDEffType =' ' !VFD efficiency type [Speed or Power]
REAL(r64) :: VFDMaxOutPwr =0.0d0 !VFD maximum output power [W]
REAL(r64) :: VFDSizingFactor =0.0d0 !VFD sizing factor [-] cpw31Aug2010
INTEGER :: PressRiseCurveIndex =0 !Fan pressure rise curve index
INTEGER :: PressResetCurveIndex =0 !Duct static pressure reset curve index
INTEGER :: PLFanEffNormCurveIndex =0 !Fan part-load efficiency (normal) curve index
INTEGER :: PLFanEffStallCurveIndex =0 !Fan part-load efficiency (stall) curve index
INTEGER :: DimFlowNormCurveIndex =0 !Fan dimensionless airflow (normal) curve index
INTEGER :: DimFlowStallCurveIndex =0 !Fan dimensionless airflow (stall) curve index
INTEGER :: BeltMaxEffCurveIndex =0 !Belt maximum efficiency curve index
INTEGER :: PLBeltEffReg1CurveIndex =0 !Belt part-load efficiency (Region 1) curve index
INTEGER :: PLBeltEffReg2CurveIndex =0 !Belt part-load efficiency (Region 2) curve index
INTEGER :: PLBeltEffReg3CurveIndex =0 !Belt part-load efficiency (Region 3) curve index
INTEGER :: MotorMaxEffCurveIndex =0 !Motor maximum efficiency curve index
INTEGER :: PLMotorEffCurveIndex =0 !Motor part-load efficiency curve index
INTEGER :: VFDEffCurveIndex =0 !VFD efficiency curve index
!cpw22Aug2010 Following added to support Fan Component Model calculated values
REAL(r64) :: DeltaPressTot =0.0d0 !Total pressure rise across fan [N/m2]
REAL(r64) :: FanAirPower =0.0d0 !Air power for fan being Simulated [W]
REAL(r64) :: FanSpd =0.0d0 !Fan shaft rotational speed [rpm]
REAL(r64) :: FanTrq =0.0d0 !Fan shaft torque [N-m]
REAL(r64) :: FanWheelEff =0.0d0 !Fan efficiency (mechanical)
REAL(r64) :: FanShaftPower =0.0d0 !Shaft input power for fan being Simulated [W]
REAL(r64) :: BeltMaxEff =0.0d0 !Belt maximum efficiency (mechanical) cpw31Aug2010
REAL(r64) :: BeltEff =0.0d0 !Belt efficiency (mechanical)
REAL(r64) :: BeltInputPower =0.0d0 !Belt input power for fan being Simulated [W]
REAL(r64) :: MotorMaxEff =0.0d0 !Motor maximum efficiency (electrical) cpw31Aug2010
REAL(r64) :: MotorInputPower =0.0d0 !Motor input power for fan being Simulated [W]
REAL(r64) :: VFDEff =0.0d0 !VFD efficiency (electrical)
REAL(r64) :: VFDInputPower =0.0d0 !VFD input power for fan being Simulated [W]
REAL(r64) :: MaxFanPowerEncountered =0.0d0 !Maximum VFD input power encountered [W]
!zone exhaust fan
INTEGER :: FlowFractSchedNum =0 ! schedule index flow rate modifier schedule
INTEGER :: AvailManagerMode =0 ! mode for how exhaust fan should react to availability managers
INTEGER :: MinTempLimitSchedNum =0 ! schedule index minimum temperature limit
INTEGER :: BalancedFractSchedNum =0 ! schedule index portion recirculated
REAL(r64) :: UnbalancedOutletMassFlowRate = 0.d0
REAL(r64) :: BalancedOutletMassFlowRate = 0.d0
END TYPE FanEquipConditions