TYPE ICEngineGeneratorSpecs
CHARACTER(len=MaxNameLength) :: Name = ' ' ! user identifier
CHARACTER(len=MaxNameLength) :: TypeOf = 'Generator:InternalCombustionEngine' ! Type of Generator
INTEGER :: CompType_Num = iGeneratorICEngine
CHARACTER(len=MaxNameLength) :: FuelType = ' ' ! Type of Fuel - DIESEL, GASOLINE, GAS
REAL(r64) :: RatedPowerOutput = 0.0d0 ! W - design nominal capacity of Generator
INTEGER :: ElectricCircuitNode = 0 ! Electric Circuit Node
REAL(r64) :: MinPartLoadRat = 0.0d0 ! (IC ENGINE MIN) min allowed operating frac full load
REAL(r64) :: MaxPartLoadRat = 0.0d0 ! (IC ENGINE MAX) max allowed operating frac full load
REAL(r64) :: OptPartLoadRat = 0.0d0 ! (IC ENGINE BEST) optimal operating frac full load
REAL(r64) :: ElecOutputFuelRat = 0.0d0 !(RELDC) Ratio of Generator output to Fuel Energy Input
INTEGER :: ElecOutputFuelCurve = 0 !Curve Index for generator output to Fuel Energy Input Coeff Poly Fit
REAL(r64) :: RecJacHeattoFuelRat = 0.0d0 !(RJACDC) Ratio of Recoverable Jacket Heat to Fuel Energy Input
INTEGER :: RecJacHeattoFuelCurve = 0 !Curve Index for Ratio of Recoverable Jacket Heat to
! Fuel Energy Input Coeff Poly Fit
REAL(r64) :: RecLubeHeattoFuelRat = 0.0d0 !(RLUBDC) Ratio of Recoverable Lube Oil Heat to Fuel Energy Input
INTEGER :: RecLubeHeattoFuelCurve = 0 !Curve Index for Ratio of Recoverable Lube Oil Heat to
! Fuel Energy Input Coef Poly Fit
REAL(r64) :: TotExhausttoFuelRat = 0.0d0 !(REXDC) Total Exhaust heat Input to Fuel Energy Input
INTEGER :: TotExhausttoFuelCurve = 0 !Curve Index for Total Exhaust heat Input to Fuel Energy Input
! Coeffs Poly Fit
REAL(r64) :: ExhaustTemp = 0.0d0 !(TEXDC) Exhaust Gas Temp to Fuel Energy Input
INTEGER :: ExhaustTempCurve = 0 !Curve Index for Exhaust Gas Temp to Fuel Energy Input Coeffs Poly Fit
INTEGER :: ErrExhaustTempIndex = 0 ! error index for temp curve
REAL(r64) :: UA = 0.0d0 !(UACDC) exhaust gas Heat Exchanger UA to Capacity
REAL(r64),DIMENSION(2) :: UACoef = 0.0d0 !Heat Exchanger UA Coeffs Poly Fit
REAL(r64) :: MaxExhaustperPowerOutput = 0.0d0 !MAX EXHAUST FLOW PER W DSL POWER OUTPUT COEFF
REAL(r64) :: DesignMinExitGasTemp = 0.0d0 !Steam Saturation Temperature
REAL(r64) :: FuelHeatingValue = 0.0d0 ! Heating Value of Fuel in kJ/kg
REAL(r64) :: DesignHeatRecVolFlowRate = 0.0d0 ! m3/s, Design Water mass flow rate through heat recovery loop
REAL(r64) :: DesignHeatRecMassFlowRate = 0.0d0 ! kg/s, Design Water mass flow rate through heat recovery loop
LOGICAL :: HeatRecActive = .false. ! True if Heat Rec Design Vol Flow Rate > 0
INTEGER :: HeatRecInletNodeNum = 0 ! Node number on the heat recovery inlet side of the condenser
INTEGER :: HeatRecOutletNodeNum = 0 ! Node number on the heat recovery outlet side of the condenser
REAL(r64) :: HeatRecInletTemp = 0.0d0 ! Inlet Temperature of the heat recovery fluid
REAL(r64) :: HeatRecOutletTemp = 0.0d0 ! Outlet Temperature of the heat recovery fluid
REAL(r64) :: HeatRecMdotDesign = 0.0d0 ! reporting: Heat Recovery Loop Mass flow rate
REAL(r64) :: HeatRecMdotActual = 0.0d0 !
REAL(r64) :: QTotalHeatRecovered = 0.0d0 ! total heat recovered (W)
REAL(r64) :: QJacketRecovered = 0.0d0 ! heat recovered from jacket (W)
REAL(r64) :: QLubeOilRecovered = 0.0d0 ! heat recovered from lube (W)
REAL(r64) :: QExhaustRecovered = 0.0d0 ! exhaust gas heat recovered (W)
REAL(r64) :: FuelEnergyUseRate = 0.0d0 ! Fuel Energy used (W)
REAL(r64) :: TotalHeatEnergyRec = 0.0d0 ! total heat recovered (J)
REAL(r64) :: JacketEnergyRec = 0.0d0 ! heat recovered from jacket (J)
REAL(r64) :: LubeOilEnergyRec = 0.0d0 ! heat recovered from lube (J)
REAL(r64) :: ExhaustEnergyRec = 0.0d0 ! exhaust gas heat recovered (J)
REAL(r64) :: FuelEnergy = 0.0d0 ! Fuel Energy used (J)
REAL(r64) :: FuelMdot = 0.0d0 ! Fuel Amount used (Kg/s)
REAL(r64) :: ExhaustStackTemp = 0.0d0 ! Exhaust Stack Temperature (C)
REAL(r64) :: ElecPowerGenerated = 0.0d0 ! Electric Power Generated (W)
REAL(r64) :: ElecEnergyGenerated = 0.0d0 ! Amount of Electric Energy Generated (J)
REAL(r64) :: HeatRecMaxTemp = 0.0d0 !Max Temp that can be produced in heat recovery
INTEGER :: HRLoopNum = 0 ! cooling water plant loop index number, for heat recovery
INTEGER :: HRLoopSideNum = 0 ! cooling water plant loop side index, for heat recovery
INTEGER :: HRBranchNum = 0 ! cooling water plant loop branch index, for heat recovery
INTEGER :: HRCompNum = 0 ! cooling water plant loop component index, for heat recovery
END TYPE ICEngineGeneratorSpecs