Internal Cumbustion Engine[LINK]
The enginedriven generator model was originally developed for the BLAST program and was subsequently adapted for use in EnergyPlus. The model uses the following set of equations all of which are quadratic fits to the PLR (Part Load Ratio) of the generator. The coefficients must be derived from manufacturers data.
electricenergyoutputfuelenergyinput=electricenergyoutput(˙mfuel{kg/s}⋅LHV{J/kg})=a1+a2PLR+a3PLR2
The electrical load and engine generator nominal load capacity are used to compute the part load ratio.
PLR=Electricenergyoutputnominalgeneratingcapacity
The exhaust gas temp and flow rate are used if a stack heat exchanger is used to recover waste heat from the exhaust. This temperature is the inlet temperature to the heat exchanger which is modeled in a UAeffectiveness form:
TotalExhaustheatfuelenergyinput=TotalExhaustheat(˙mfuel{kg/s}⋅LHV{J/kg})=d1+d2PLR+d3PLR2
ExhaustGasTemp{K}fuelenergyinput=ExhaustGasTemp{K}(˙mfuel{kg/s}⋅LHV{J/kg})=e1+e2PLR+e3PLR2
The exhaust flow rate is then calculated as:
˙mexhaust=TotalExhaustheatCpexhaust⋅(Texhaust−Treference)
where T_{reference} is the reference temperature for the fuel lower heating value, and is given as 25°C in manufacturer’s data, and
Tstack=TDesignMinExhaust+(Texhaust−TDesignMinExhaust)exp(UA˙mexhaustCpexhaust)2
Finally heat recovered from the lube oil and the water jacket are accounted for as follows:
Recoverablejacketheatfuelenergyinput=Recoverablejacketheat(˙mfuel{kg/s}⋅LHV{J/kg})=b1+b2PLR+b3PLR2
Recoverablelubeoilheatfuelenergyinput=Recoverablelubeoilheat(˙mfuel{kg/s}⋅LHV{J/kg})=c1+c2PLR+c3PLR2
The manufacturer must supply the recoverable water jacket heat, lube oil heat and exhaust heat and associated fuel consumption for a range of load conditions. This data is then fit to the PLR to obtain the fifteen a,b,c,d, and e coefficients.
Turbine Generator[LINK]
The combustion turbine generator model was originally developed for the BLAST program and was subsequently adapted for use in EnergyPlus. The model uses the following set of equations all of which are equation fits to the PLR (Part Load Ratio) of the generator and the entering air temperature. The coefficients must be derived from manufacturers data. For electric power generated in Watts, the fuel input rate is calculated in J/s.
fuelenergyinputrateelectricpoweroutput=[a1+a2PLR+a3PLR2]∗[b1+b2ΔT+b3ΔT2]
The electrical load and engine generator nominal load capacity are used to compute the part load ratio.
PLR=Electricenergyoutputnominalgeneratingcapacity
The temperature difference shows the deviation of ambient air temperature from the manufacturers design air temperature.
ΔT=Tair−Tdesign
A second curve fit calculates the exhaust temperature (C) by multiplying the exhaust temperature (C) for a particular part load by a correction factor based on the deviation from design temperature.
Texhaust=[c1+c2PLR+c3PLR2]∗[d1+d2ΔT+d3ΔT2]
The exhaust gas temp is used if a stack heat exchanger is used to recover waste heat from the exhaust. This temperature is the inlet temperature to the heat exchanger which is modeled in a UAeffectiveness form:
Tstack=TDesignMinExhaust+(Texhaust−TDesignMinExhaust)exp(UA˙mexhaustCpexhaust)2
Where the design minimum exhaust temperature is a user input to the model and the exhaust mass flow rate and the UA are fit from manufacturers data as follows:
UA=e3(NominalGeneratingCapacity)e4
exhaustgasflowrateNominalGeneratingCapacity=[f1+f2ΔT+f3ΔT2]
Finally, heat recovered from the lube oil is accounted for as follows:
Recoverablelubeoilheatelectricpowergenerated=g1+g2PLR+g3PLR2
Microturbine Generator[LINK]
Microturbine generators are small combustion turbines that produce electricity on a relatively small scale (e.g., 25kW to 500kW). This model uses nominal performance at reference conditions along with several modifier curves to determine electrical power output and fuel use at nonreference conditions. The modifier curve coefficients must be derived from manufacturers data. Standby and ancillary power can also be taken into account.
Exhaust air energy recovery for heating water can be also be modeled. Similar to electrical power output, thermal power (heat recovery to water) output is calculated using nominal performance at reference conditions with modifier curves to account for variations at nonreference conditions. The ElectricLoadCenter:Generators and ElectricLoadCenter:Distribution objects are used to define the availability and control of the electric generators included in the simulation (ref. ElectricLoadCenter:Generators and ElectricLoadCenter:Distribution).
For each simulation time step that the generator is being asked to operate (i.e., produce electrical power as determined by the ElectricLoadCenter), the full load electrical output of the generator is determined using the userdefined reference electrical power output along with a biquadratic modifier curve to account for differences in the combustion air inlet temperature and elevation for the current simulation time step compared to the reference temperature and elevation (i.e., the modifier curve should evaluate to 1.0 at the reference combustion air inlet temperature and reference elevation).
PElec,FullLoad=PElec,Ref(PowerFTempElev)
PowerFTempElev=a1+a2(Ta,i)+a3(Ta,i)2+a4(Elev)+a5(Elev)2+a6(Ta,i)(Elev)
where:
PElec,FullLoad = Full load electrical power output (W)
PElec,Ref = Reference Electrical Power Output, user input (W)
PowerFTempElev = Userdefined Electric Power Modifier Curve (function of temperature and elevation) evaluated at the current combustion air inlet temperature and elevation
Ta,i = Combustion air inlet temperature (°C)
Elev = Elevation (m). This value obtained from the Location object or the weather file.
The full load electrical power output of the generator is then checked against the minimum and maximum full load electrical power outputs specified by the user:
PElec,FullLoad=MIN(PElec,FullLoad,PFL_Max)
PElec,FullLoad=MAX(PElec,FullLoad,PFL_Min)
PFL_Max = Maximum Full Load Electrical Power Output, user input (W)
PFL_Min = Minimum Full Load Electrical Power Output, user input (W)
The actual (operating) electrical power output from the generator is determined next based on the load requested by the Electric Load Center, the generator’s minimum and maximum partload ratios, and the ancillary power.
PElec,Operating=MAX(0.0,(Load+PAncillary))
PElec,Operating=MIN(PElec,Operating,PElec,FullLoad)
IF(PElec,FullLoad>0.0)THENPLR=PElec,OperatingPElec,FullLoadPLR=MIN(PLR,PLRmax)PLR=MAX(PLR,PLRmin)ELSEPLR=0.0ENDIFPElec,Operating=PElec,FullLoad(PLR)
where:
PElec,Operating = Actual (operating) electrical power output (W)
Load = Electrical power output being requested by the Electric Load Center (W)
PAncillary = Ancillary Power, user input (W)
PLR = Partload ratio of the electric generator
PLRmax = Maximum partload ratio of the electric generator (i.e., the maximum value for the independent variable [PLR] defined in the Curve:Quadratic or Curve:Cubic object for the Electrical Efficiency Modifier Curve [function of partload ratio])
PLRmin = Minimum partload ratio of the electric generator (i.e., the minimum value for the independent variable [PLR] defined in the Curve:Quadratic or Curve:Cubic object for the Electrical Efficiency Modifier Curve [function of partload ratio])
The generator’s electrical efficiency is then calculated based on the userspecified reference electrical efficiency (lower heating value [LHV] basis) and two electrical efficiency modifier curves.
ElecEfficiencyFTemp=b1+b2(Ta,i)+b3(Ta,i)2orb1+b2(Ta,i)+b3(Ta,i)2+b4(Ta,i)3
ElecEfficiencyFPLR=c1+c2(PLR)+c3(PLR)2orc1+c2(PLR)+c3(PLR)2+c4(PLR)3
ElecEffOperating=ElecEffRef,LHV(ElecEfficiencyFTemp)(ElecEfficiencyFPLR)
where:
ElecEfficiencyFTemp = Userdefined Electrical Efficiency Modifier Curve (function of temperature) evaluated at the current combustion air inlet temperature
ElecEfficiencyFPLR = Userdefined Electrical Efficiency Modifier Curve (function of partload ratio) evaluated at the current operating partload ratio
ElecEffOperating = Electrical efficiency at the current operating conditions
ElecEffRef,LHV = Reference Electrical Efficiency (LHV [lower heating value] Basis), user input
The fuel energy consumption rate (LHV Basis) is then calculated as follows:
˙QFuel,LHV=PElec,OperatingElecEffOperating
where:
˙QFuel,LHV = Fuel energy consumption rate, LHV basis (W)
If ElecEff_{Operating} is equal to zero, then P_{Operating} and ˙QFuel,LHV are set to zero. The fuel mass flow rate is then calculated.
˙mfuel=˙QFuel,LHV(LHV∗1000)
where:
˙mfuel = Mass flow rate of fuel being consumed by the generator (kg/s), report variable “Generator <FuelType> Mass Flow Rate [kg/s]”
LHV = Fuel Lower Heating Value, user input (kJ/kg)
The ancillary power is calculated next using the userspecified ancillary power and ancillary power modifier curve. The ancillary power modifier curve is a quadratic function with the generator’s fuel mass flow rate as the independent variable. If an ancillary power modifier curve is not specified in the input file, the modifier is assumed to be 1.0 and the ancillary power will be constant throughout the simulation.
AnciPowFMdotFuel=d1+d2(˙mfuel)+d3(˙mfuel)2
PAncillary,Operating=PAncillary(AnciPowFMdotFuel)
where:
AnciPowFMdotFuel = Userdefined Ancillary Power Modifier Curve (function of fuel input) evaluated at the actual fuel mass flow rate. This multiplier is assumed to be 1.0 if an ancillary power modifier curve name is not specified in the input.
PAncillary = Ancillary power, user input (W)
PAncillary,Operating = Ancillary electric power at the current fuel mass flow rate (W), report variable “Generator Ancillary Electric Power [W]”.
If ancillary power is constant for the simulation (e.g., no modifier curve defined), then the calculations continue as described below. However, if an ancillary power modifier curve has been defined, then the calculations described above for P_{ElecOperating}, ElecEff_{Operating}, ˙QFuel,LHV ~~and P_{Ancillary,Operating} are recalculated in sequence until the solution converges.
The generator’s “net” electrical power output is calculated as the difference between the generator’s actual power output and the ancillary electric power as follows.
PElec,Produced=PElec,Operating−PAncillary,Operating
where:
PElec,Produced = Generator net electric power output, report variable “Generator Produced Electric Power [W]”
The fuel energy consumption rate (higher heating value basis) for the generator is then calculated as follows:
˙QFuel,HHV=˙mfuel(HHV)(1000)
where:
˙QFuel,HHV = fuel energy consumption rate (W), report variables “Generator <FuelType> HHV Basis Rate [W]” and “Generator Fuel HHV Basis Rate [W]”
HHV = Fuel Higher Heating Value, user input (kJ/kg)
Standby electrical power may also be modeled to simulate controls or other parasitics used by the generator. The standby power is calculated only when the generator is not operating (i.e., Load from the Electric Load Center is zero). If the generator operates for a given timestep (i.e., Load > 0.0), the standby power is set equal to 0.
IF(Load<=0.0)THENPStandby=PStandby,userinputELSEPStandby=0.0ENDIF
where:
PStandby,userinput = Standby power, user input (W)
PStandby = Report variable “Generator Standby Electric Power” (W)
Report variables for electric energy produced, electric efficiency (LHV basis), fuel consumption (HHV basis), standby electric consumption and ancillary electric consumption are calculated as follows:
EElec,Produced=PElec,Produced(TimeStepSys)(3600)
ElecEffOperating,LHV=PElec,Produced˙QFuel,LHV
QFuel,HHV=˙QFuel,HHV(TimeStepSys)(3600)
EStandby=PStandby(TimeStepSys)(3600)
EAncillary=PAncillary,Operating(TimeStepSys)(3600)
where:
EElec,Produced = Report variable “Generator Produced Electric Energy [J]”
ElecEffOperating,LHV = Report variable “Generator LHV Basis Electric Efficiency []”
QFuel,HHV = Report variables “Generator <FuelType> HHV Basis Energy [J]” and “Generator Fuel HHV Basis Energy [J]”
EStandby = Report variable “Generator Standby Electric Energy [J]”
EAncillary = Report variable “Generator Ancillary Electric Energy [J]”
TimeStepSys = HVAC system simulation time step (hr)
In addition to calculating electric power production and fuel usage, the model is able to determine thermal power (heat recovery) output for heating water. For this case, the water flow rate through the heat recovery heat exchanger is established first. If the Heat Recovery Water Flow Operating Mode (user input) is set to Plant Control, then the Reference Heat Recovery Water Flow Rate (user input) is requested whenever the generator operates (constant value), but the actual flow rate may be restricted by other plant components (e.g., pump). If the Heat Recovery Water Flow Operating Mode is set to Internal Control, then the requested water flow when the generator operates is determined by the Reference Heat Recovery Water Flow Rate and a flow rate modifier curve.
IF(PlantControl)THEN˙mw=˙Vw,Ref(ρw)ELSEIF(InternalControl)THENHeatRecFlowFTempPow=e1+e2(Tw,i)+e3(Tw,i)2+e4(Pnet)+e5(Pnet)2+e6(Tw,i)(Pnet)˙mw=˙Vw,Ref(ρw)(HeatRecFlowFTempPow)ENDIF
where:
˙mw = Report variable “Generator Heat Recovery Water Mass Flow Rate [kg/s]”
˙Vw,Ref = Reference Heat Recovery Water Flow Rate (m^{3}/s), user input
ρw = Density of water (kg/m^{3}) at 5.05°C
HeatRecFlowFTempPow = Userdefined Heat Recovery Water Flow Rate Modifier Curve (function of temperature and power) evaluated at the current inlet water temperature and net electrical power output. This multiplier is assumed to be 1.0 if a water flow rate modifier curve name is not specified in the input.
Tw,i = Heat recovery inlet water temperature (°C), report variable “Generator Heat Recovery Inlet Temperature [C]”
Pnet = Net electrical power output from the generator (W)
The methodology for determining thermal power (heat recovery to water) is similar to that used for calculating electric power production. The generator’s steadystate thermal efficiency is calculated based on the userspecified reference thermal efficiency (LHV basis) and a thermal efficiency modifier curve.
ThermalEffSS=ThermalEffRef,LHV(ThermalEffFTempElev)
ThermalEffFTempElev=f1+f2(Ta,i)+f3(Ta,i)2+f4(Elev)+f5(Elev)2+f6(Ta,i)(Elev)
where:
ThermalEffSS = Steadystate thermal efficiency at current conditions
ThermalEffRef,LHV = Reference Thermal Efficiency (LHV Basis), user input
ThermalEffFTempElev = Userdefined Thermal Efficiency Modifier Curve (function of temperature and elevation) evaluated at the current combustion air inlet temperature and elevation. This multiplier is assumed to be 1.0 if a thermal efficiency modifier curve name is not specified in the input.
The steadystate thermal power produced (heat recovery rate) is then calculated:
PThermal,SS=ThermalEffSS(˙QFuel,LHV)
The actual (operating) thermal power is then calculated using the steadystate thermal power and three modifier curves:
PThermal,Operating=PThermal,SS(HeatRecRateFPLR)(HeatRecRateFTemp)(HeatRecRateFFlow)
HeatRecRateFPLR=g1+g2(PLR)+g3(PLR)2−or−g1+g2(PLR)+g3(PLR)2+g4(PLR)3
HeatRecRateFTemp=h1+h2(Tw,i)+h3(Tw,i)2
HeatRecRateFFlow=i1+i2(˙mw)+i3(˙mw)2
where:
PThermal,Operating = Report variable “Generator Produced Thermal Rate [W]”
HeatRecRateFPLR = Userdefined Heat Recovery Rate Modifier Curve (function of partload ratio) evaluated at the current operating partload ratio. This multiplier is assumed to be 1.0 if a modifier curve name is not specified in the input.
HeatRecRateFTemp = Userdefined Heat Recovery Rate Modifier Curve (function of inlet water temperature) evaluated at the current inlet water temperature. This multiplier is assumed to be 1.0 if a modifier curve name is not specified in the input.
HeatRecRateFFlow = Userdefined Heat Recovery Rate Modifier Curve (function of water flow rate) evaluated at the current heat recovery water flow rate. This multiplier is assumed to be 1.0 if a modifier curve name is not specified in the input.
The heat recovery output water temperature is then calculated.
Tw,o=Tw,i+PThermal,Operating(˙mw∗cpw)
where:
Tw,o = Heat recovery outlet water temperature (°C), report variable “Generator Heat Recovery Outlet Temperature [C]”
Cpw = Heat capacity of water (J/kgK)
If the calculated heat recovery outlet water temperature exceeds to Maximum Heat Recovery Water Temperature (user input), then the outlet water temperature is reset to the maximum temperature (user input) and the thermal power is recalculated.
If combustion air inlet and outlet node names are specified in the input, along with exhaust air flow rate and exhaust air temperature information, then the model calculates the exhaust air conditions for each simulation time step. The exhaust air mass flow rate is first calculated based on the Reference Exhaust Air Mass Flow Rate, two modifier curves and an air density adjustment. Since fans are volumetric flow devices, the ratio of the air density at actual inlet air conditions to air density at reference inlet air conditions is used as an adjustment factor.
˙mExhAir=˙mExhAir,Ref(ExhFlowFTemp)(ExhFlowFPLR)(ρa,iρa,Ref)
ExhFlowFTemp=j1+j2(Ta,i)+j3(Ta,i)2−or−j1+j2(Ta,i)+j3(Ta,i)2+j4(Ta,i)3
ExhFlowFPLR=k1+k2(PLR)+k3(PLR)2−or−k1+k2(PLR)+k3(PLR)2+k4(PLR)3
where:
˙mExhAir = Exhaust air mass flow rate (kg/s)
˙mExhAir,Ref = Reference Exhaust Air Mass Flow Rate (kg/s), user input
ExhFlowFTemp = Userdefined Exhaust Air Flow Rate Modifier Curve (function of temperature) evaluated at the current combustion air inlet temperature. This multiplier is assumed to be 1.0 if a modifier curve name is not specified in the input.
ExhFlowFPLR = Userdefined Exhaust Air Flow Rate Rate Modifier Curve (function of partload ratio) evaluated at the current operating partload ratio. This multiplier is assumed to be 1.0 if a modifier curve name is not specified in the input.
ρa,i = Density of the combustion inlet air (kg/m^{3})
ρa,Ref = Density of combustion inlet air at reference conditions (kg/m^{3})
In an analogous fashion, the exhaust air temperature is calculated using the Nominal (reference) Exhaust Air Outlet Temperature and two modifier curves.
Ta,o=Ta,o,Nom(ExhAirTempFTemp)(ExhAirTempFPLR) ExhAirTempFTemp=l1+l2(Ta,i)+l3(Ta,i)2−or−l1+l2(Ta,i)+l3(Ta,i)2+l4(Ta,i)3
ExhAirTempFPLR=m1+m2(PLR)+m3(PLR)2−or−m1+m2(PLR)+m3(PLR)2+m4(PLR)3
where:
Ta,o = Exhaust air outlet temperature (°C)
Ta,o,Nom = Nominal Exhaust Air Outlet Temperature (°C), user input
ExhAirTempFTemp = Userdefined Exhaust Air Temperature Modifier Curve (function of temperature) evaluated at the current combustion air inlet temperature. This multiplier is assumed to be 1.0 if a modifier curve name is not specified in the input.
ExhAirTempFPLR = Userdefined Exhaust Air Flow Rate Rate Modifier Curve (function of partload ratio) evaluated at the current operating partload ratio. This multiplier is assumed to be 1.0 if a modifier curve name is not specified in the input.
The above calculations for exhaust air outlet temperature assume no heat recovery to water is being done. If thermal power (water heating) is being produced, then the exhaust air outlet temperature is recalculated as follows:
Ta,o=Ta,o−PThermal,Operating(˙mExhAir∗Cpair)
where:
Cpair = Heat capacity of air at the actual combustion air inlet conditions (J/kgK)
The exhaust air outlet humidity ratio is also calculated.
wa,o=wa,i+˙mfuel(HHV−LHV)(1000)/(hfg,16)˙mExhAir
where:
wa,o = Exhaust air outlet humidity ratio (kg/kg)
wa,i = Exhaust air inlet humidity ratio (kg/kg)
hfg,16 = Enthalpy of vaporization of moisture at 16°C (J/kg)
The remaining report variables are calculated as follows.
EThermal,Produced=PThermal,Operating(TimeStepSys)(3600)
ThermalEffOperating,LHV=PThermal,Operating˙QFuel,LHV
where:
EThermal,Produced = Report variable “Generator Produced Thermal Energy [J]”
ThermalEffOperating,LHV = Report variable “Generator Thermal Efficiency LHV Basis []”
MicroCogenerator[LINK]
The input object Generator:MicroCHP provides a model that is a direct implementation of a model developed by IEA Annex 42  The Simulation of BuildingIntegrated Fuel Cell and Other Cogeneration Systems (FC+COGENSIM). Annex 42 was formed as a working group within the International Energy Agency (IEA) program on Energy Conservation in Buildings and Community Systems (ECBCS). A full description of the model specification can be found in the report by Subtask B of FC+COGENSIM with the title “Specifications for Modelling Fuel Cell and CombustionBased Residential Cogeneration Device within WholeBuilding Simulation Programs.” The “Micro CHP” model in EnergyPlus is the one referred to as “A Generic Model for Combustionbased Residential Cogeneration Devices.”
The Micro CHP model is a straightforward empirical model with the exception that it is dynamic with respect to thermal heat recovery where performance is cast as a function of engine temperature. It is also dynamic with respect to possible warm up and cool down periods that may affect the ability of the generator to deliver the requested power. The relevant model equations are:
ηe=f(˙mcw,Tcw,i,Pnet,ss)
ηq=f(˙mcw,Tcw,i,Pnet,ss)
qgross=Pnet,ss/ηe
qgen,ss=ηqqgross
˙Nfuel=qgross/LHVfuel
˙mt+Δtfuel={˙mt+Δtfuel,demand˙mtfuel±(d˙mfuel/dt)maxifd˙mfuel/dt≤(d˙mfuel/dt)maxifd˙mfuel/dt>(d˙mfuel/dt)max
˙mair=f(Pnet,ss)
Pt+Δtnet={Pt+Δtnet,ssPtnet±(dPnet/dt)maxifdPnet/dt≤(dPnet/dt)maxifdPnet/dt>(dPnet/dt)max
[MC]engdTengdt=UAHX(Tcw,p−Teng)+UAloss(Troom−Teng)+qgen,ss
[MC]cwdTcw,odt=[˙mcp]cw(Tcw,i−Tcw,o)+UAHX(Teng−Tcw,o)
where,
ηe is the steadystate, part load, electrical conversion efficiency of the engine ()
ηq is the steadystate part load, thermal conversion efficiency of the engine ()
˙mcw is the mass flow rate of plant fluid through the heat recovery section [kg/s]
Tcw,i is the bulk temperature of the plant fluid entering the heat recovery section (^{o}C)
Tcw,o is the bulk temperature of the plant fluid leaving the heat recovery section (^{o}C)
Pnet,ss is the steadystate electrical output of the system (W),
qgross is the gross heat input into the engine (W),
qgen,ss is the steadystate rate of heat generation within the engine (W)
LHVfuel is the lower heating value of the fuel used by the system (J/kg or J/kmol),
˙Nfuel is the molar fuel flow rate (kmol/s)
˙mfuel is the mass fuel flow rate (kg/s)
˙mair is the mass flow rate of air thru the engine (kg/s)
[MC]eng is the thermal capacitance of the engine control volume (W/K)
Teng is the temperature of the engine control volume (C)
UAHX is the effective thermal conductance between the engine control volume and the cooling water control volume (W/K).
UAloss is the effective thermal conductance between the engine control volume and the surrounding environment (W/K)
Troom is the air temperature of the surrounding environment (C)
[MC]cw is the thermal capacitance of the encapsulated cooling water and heat exchanger shell in immediate thermal contact (J/K)
[˙mcp]cw is the thermal capacity flow rate associated with the cooling water (W/K)
The functional forms for ηe and ηq are 2^{nd} order trivariate polynomials with all of the cross terms.
EnergyPlus solves these for state values for the engine mass temperature, Teng , and the outlet plant node, Tcw,o , in the following manner. The last two equations are interrelated but otherwise ordinary differential equations with the general form
dTdt=a+bT
and have analytical solution
T=(To+ab)ebt−ab
The engine temperature at the current timestep is calculated using
a=UAHX[MC]eng∗Tcw,o+UAloss[MC]eng∗Troom+qgen,ss[MC]eng
b=−(UAHX[MC]eng+UAloss[MC]eng)
The plant node outlet fluid temperature (heat recovered) is solved using
a=[˙mcp]cw[MC]cw∗Tcw,i+UAHX[MC]cw∗Teng
b=−([˙mcp]cw[MC]cw+UAHX[MC]cw)
The interrelation of these two is handled by sequential substitution using an iteration scheme that alternates between calculations of Teng and Tcw,o . The iteration loop exits once the energy is determined to be balanced using the following criteria:
Number of iterations > 3
(qgen,ss)max10000000>UAHX(Tcw,o−Teng)+UAloss(Troom−Teng)+qgen,ss−[MC]engdTengdt
(qgen,ss)max10000000>[˙mcp]cw(Tcw,i−Tcw,o)+UAHX(Teng−Tcw,o)−[MC]cwdTcw,odt
The Micro CHP model has a number of different operating modes. The operating mode for a given system timestep is determined from the mode during the previous timestep, user inputs, and highlevel controls from elsewhere in EnergyPlus. The operating mode is reported for the state at the end of each timestep. The following summarizes the various operating modes and the criteria for switching to a new mode for any given timestep. The EnergyPlus implementation adds the “Off” mode to the modes specified by Annex 42 which corresponds to the unit being scheduled to be unavailable. The difference between OFF and Standby modes determines whether or not standby power is consumed.
Off

Availability schedule value = 0

No consumption of power or fuel.

Stand By

Availability schedule value ≠ 0

Consumes stand by power but no fuel

Warm Up

Load (thermal or electric) > 0.0; Availability schedule value ≠ 0; Time Delay < elapsed time since entering warm up mode; Engine temp < nominal engine temp

Two alternate submodes: Stirling Engines use warm up by “nominal engine temperature” while Internal Combustion Engines use “time delay”; Fuel is consumed but no power is produced

Normal Operation

Load (thermal or electric) > 0.0; Availability schedule value ≠ 0; Time Delay > elapsed time since entering warm up mode

Engine temp >= nominal temp; Fuel is consumed and power is produced

Cool Down

Load (thermal or electric) = 0.0; Availability schedule value ≠ 0

Two alternate submodes where engine can be forced to go thru a complete cool down cycle before allowed to go back into warm up or normal mode; No fuel is consumed and no power is produced.

For timesteps where the generator switches from warm up mode to normal mode in the middle of the timestep, part load ration values are calculated for the portion of the time step that the generator is in normal operation.
The engine and heat recovery thermal conditions are modeled for all modes so, for example, an engine that is off but still warm could provide some hot water recovery.
The engine model can use an arbitray fuel mixture that is defined by the user  see the entry for Generator:FuelSupply.
Kelly, N. and A. Ferguson. 2007. A Generic Model Specification for Combustionbased Residential Cogeneration Devices. In Specifications for Modelling Fuel Cell and CombustionBased Residential Cogeneration Device within WholeBuilding Simulation Programs. I. BeausoleilMorrison and N. Kelly editors. Draft report of Annex 42 of the International Energy Agency ECBCS.
Fuel Cell Cogenerator[LINK]
The Generator:FuelCell input objects provides a model which is a direct implementation of a model developed by IEA Annex 42  The Simulation of BuildingIntegrated Fuel Cell and Other Cogeneration Systems (FC+COGENSIM). Annex 42 was formed as a working group within the International Energy Agency (IEA) program on Energy Conservation in Buildings and Community Systems (ECBCS). A full description of the model specification can be found in the report by Subtask B of FC+COGENSIM with the title “Specifications for Modelling Fuel Cell and CombustionBased Residential Cogeneration Device within WholeBuilding Simulation Programs.” The “Specifications for Modelling Fuel Cell Cogeneration Devices within WholeBuilding Simulation Programs.”
The Annex 42 Fuel Cell model is characterized as a “grey box” empirical model where a mixture of thermodynamic principles and empirical performance maps are used to model the cogeneration performance of a fairly complex device with many individual subsystems. In EnergyPlus, the individual subsystems are separate into individual input objects such as Generator:FuelCell:PowerModule or Generator:FuelCell:ExhaustGasToWaterHeatExchanger. The resulting model is relatively complex requiring on the order of one hundred inputs. The model is not for the faint of heart; this model is far more involved than most component models in building simulation. This stems from the fact that fuel cell cogenerators are complicated devices that interact with the built environment in a number of ways. Fuel cells could drawn in gas/fuel, air, and water with as many as six separate streams. In addition to electricity and heated water, they also give off heat in the form of convection and radiation and exhaust air out of the zone. The devices may take a long time to start up and include storage to follow loads rather than attempt to vary the power the fuel cell. The fuel cell model allows examining system level interactions over annual timeframes that include all the important interactions with a building’s energy and comfort systems.
The Annex 42 fuel cell model is described more thoroughly in the references (see below). Here we provide a summary of the relevant model equations which are taken from the Annex 42 model specification. The first equation is the main energy balance for the fuel cell power module (includes the fuel reformation and fuel cell stacks). This energy balance is used to model the enthalpy of the product gases that leave the fuel cell power module.
∑i(˙Ni⋅[^hi−Δf^hoi])fuel+∑i(˙Ni⋅[^hi−Δf^hoi])air+˙Nliq−water⋅([^h−Δf^ho]H2O,liq−Δf^hoH2O,fg)quad+˙Hdilution−air−in+˙Nfuel⋅LHVfuel+Pel,ancillaries−AC =Pel+∑i(˙Ni⋅[¨hi−Δf^hoi])FCPM−cg+qs−cool+qskin−loss+˙Hdilution−air−out
The remaining equations describe various terms and the balance of systems. The electrical efficiency is modeled using:
εel=[ε0+ε1⋅Pel+ε2⋅P2el]⋅[1−Nstops⋅D]⋅⎡⎣1−(M
Generators[LINK]
Internal Cumbustion Engine[LINK]
The enginedriven generator model was originally developed for the BLAST program and was subsequently adapted for use in EnergyPlus. The model uses the following set of equations all of which are quadratic fits to the PLR (Part Load Ratio) of the generator. The coefficients must be derived from manufacturers data.
electricenergyoutputfuelenergyinput=electricenergyoutput(˙mfuel{kg/s}⋅LHV{J/kg})=a1+a2PLR+a3PLR2
The electrical load and engine generator nominal load capacity are used to compute the part load ratio.
PLR=Electricenergyoutputnominalgeneratingcapacity
The exhaust gas temp and flow rate are used if a stack heat exchanger is used to recover waste heat from the exhaust. This temperature is the inlet temperature to the heat exchanger which is modeled in a UAeffectiveness form:
TotalExhaustheatfuelenergyinput=TotalExhaustheat(˙mfuel{kg/s}⋅LHV{J/kg})=d1+d2PLR+d3PLR2
ExhaustGasTemp{K}fuelenergyinput=ExhaustGasTemp{K}(˙mfuel{kg/s}⋅LHV{J/kg})=e1+e2PLR+e3PLR2
The exhaust flow rate is then calculated as:
˙mexhaust=TotalExhaustheatCpexhaust⋅(Texhaust−Treference)
where T_{reference} is the reference temperature for the fuel lower heating value, and is given as 25°C in manufacturer’s data, and
Tstack=TDesignMinExhaust+(Texhaust−TDesignMinExhaust)exp(UA˙mexhaustCpexhaust)2
Finally heat recovered from the lube oil and the water jacket are accounted for as follows:
Recoverablejacketheatfuelenergyinput=Recoverablejacketheat(˙mfuel{kg/s}⋅LHV{J/kg})=b1+b2PLR+b3PLR2
Recoverablelubeoilheatfuelenergyinput=Recoverablelubeoilheat(˙mfuel{kg/s}⋅LHV{J/kg})=c1+c2PLR+c3PLR2
The manufacturer must supply the recoverable water jacket heat, lube oil heat and exhaust heat and associated fuel consumption for a range of load conditions. This data is then fit to the PLR to obtain the fifteen a,b,c,d, and e coefficients.
Turbine Generator[LINK]
The combustion turbine generator model was originally developed for the BLAST program and was subsequently adapted for use in EnergyPlus. The model uses the following set of equations all of which are equation fits to the PLR (Part Load Ratio) of the generator and the entering air temperature. The coefficients must be derived from manufacturers data. For electric power generated in Watts, the fuel input rate is calculated in J/s.
fuelenergyinputrateelectricpoweroutput=[a1+a2PLR+a3PLR2]∗[b1+b2ΔT+b3ΔT2]
The electrical load and engine generator nominal load capacity are used to compute the part load ratio.
PLR=Electricenergyoutputnominalgeneratingcapacity
The temperature difference shows the deviation of ambient air temperature from the manufacturers design air temperature.
ΔT=Tair−Tdesign
A second curve fit calculates the exhaust temperature (C) by multiplying the exhaust temperature (C) for a particular part load by a correction factor based on the deviation from design temperature.
Texhaust=[c1+c2PLR+c3PLR2]∗[d1+d2ΔT+d3ΔT2]
The exhaust gas temp is used if a stack heat exchanger is used to recover waste heat from the exhaust. This temperature is the inlet temperature to the heat exchanger which is modeled in a UAeffectiveness form:
Tstack=TDesignMinExhaust+(Texhaust−TDesignMinExhaust)exp(UA˙mexhaustCpexhaust)2
Where the design minimum exhaust temperature is a user input to the model and the exhaust mass flow rate and the UA are fit from manufacturers data as follows:
UA=e3(NominalGeneratingCapacity)e4
exhaustgasflowrateNominalGeneratingCapacity=[f1+f2ΔT+f3ΔT2]
Finally, heat recovered from the lube oil is accounted for as follows:
Recoverablelubeoilheatelectricpowergenerated=g1+g2PLR+g3PLR2
Microturbine Generator[LINK]
Microturbine generators are small combustion turbines that produce electricity on a relatively small scale (e.g., 25kW to 500kW). This model uses nominal performance at reference conditions along with several modifier curves to determine electrical power output and fuel use at nonreference conditions. The modifier curve coefficients must be derived from manufacturers data. Standby and ancillary power can also be taken into account.
Exhaust air energy recovery for heating water can be also be modeled. Similar to electrical power output, thermal power (heat recovery to water) output is calculated using nominal performance at reference conditions with modifier curves to account for variations at nonreference conditions. The ElectricLoadCenter:Generators and ElectricLoadCenter:Distribution objects are used to define the availability and control of the electric generators included in the simulation (ref. ElectricLoadCenter:Generators and ElectricLoadCenter:Distribution).
For each simulation time step that the generator is being asked to operate (i.e., produce electrical power as determined by the ElectricLoadCenter), the full load electrical output of the generator is determined using the userdefined reference electrical power output along with a biquadratic modifier curve to account for differences in the combustion air inlet temperature and elevation for the current simulation time step compared to the reference temperature and elevation (i.e., the modifier curve should evaluate to 1.0 at the reference combustion air inlet temperature and reference elevation).
PElec,FullLoad=PElec,Ref(PowerFTempElev)
PowerFTempElev=a1+a2(Ta,i)+a3(Ta,i)2+a4(Elev)+a5(Elev)2+a6(Ta,i)(Elev)
where:
PElec,FullLoad = Full load electrical power output (W)
PElec,Ref = Reference Electrical Power Output, user input (W)
PowerFTempElev = Userdefined Electric Power Modifier Curve (function of temperature and elevation) evaluated at the current combustion air inlet temperature and elevation
Ta,i = Combustion air inlet temperature (°C)
Elev = Elevation (m). This value obtained from the Location object or the weather file.
The full load electrical power output of the generator is then checked against the minimum and maximum full load electrical power outputs specified by the user:
PElec,FullLoad=MIN(PElec,FullLoad,PFL_Max)
PElec,FullLoad=MAX(PElec,FullLoad,PFL_Min)
PFL_Max = Maximum Full Load Electrical Power Output, user input (W)
PFL_Min = Minimum Full Load Electrical Power Output, user input (W)
The actual (operating) electrical power output from the generator is determined next based on the load requested by the Electric Load Center, the generator’s minimum and maximum partload ratios, and the ancillary power.
PElec,Operating=MAX(0.0,(Load+PAncillary))
PElec,Operating=MIN(PElec,Operating,PElec,FullLoad)
IF(PElec,FullLoad>0.0)THENPLR=PElec,OperatingPElec,FullLoadPLR=MIN(PLR,PLRmax)PLR=MAX(PLR,PLRmin)ELSEPLR=0.0ENDIFPElec,Operating=PElec,FullLoad(PLR)
where:
PElec,Operating = Actual (operating) electrical power output (W)
Load = Electrical power output being requested by the Electric Load Center (W)
PAncillary = Ancillary Power, user input (W)
PLR = Partload ratio of the electric generator
PLRmax = Maximum partload ratio of the electric generator (i.e., the maximum value for the independent variable [PLR] defined in the Curve:Quadratic or Curve:Cubic object for the Electrical Efficiency Modifier Curve [function of partload ratio])
PLRmin = Minimum partload ratio of the electric generator (i.e., the minimum value for the independent variable [PLR] defined in the Curve:Quadratic or Curve:Cubic object for the Electrical Efficiency Modifier Curve [function of partload ratio])
The generator’s electrical efficiency is then calculated based on the userspecified reference electrical efficiency (lower heating value [LHV] basis) and two electrical efficiency modifier curves.
ElecEfficiencyFTemp=b1+b2(Ta,i)+b3(Ta,i)2orb1+b2(Ta,i)+b3(Ta,i)2+b4(Ta,i)3
ElecEfficiencyFPLR=c1+c2(PLR)+c3(PLR)2orc1+c2(PLR)+c3(PLR)2+c4(PLR)3
ElecEffOperating=ElecEffRef,LHV(ElecEfficiencyFTemp)(ElecEfficiencyFPLR)
where:
ElecEfficiencyFTemp = Userdefined Electrical Efficiency Modifier Curve (function of temperature) evaluated at the current combustion air inlet temperature
ElecEfficiencyFPLR = Userdefined Electrical Efficiency Modifier Curve (function of partload ratio) evaluated at the current operating partload ratio
ElecEffOperating = Electrical efficiency at the current operating conditions
ElecEffRef,LHV = Reference Electrical Efficiency (LHV [lower heating value] Basis), user input
The fuel energy consumption rate (LHV Basis) is then calculated as follows:
˙QFuel,LHV=PElec,OperatingElecEffOperating
where:
˙QFuel,LHV = Fuel energy consumption rate, LHV basis (W)
If ElecEff_{Operating} is equal to zero, then P_{Operating} and ˙QFuel,LHV are set to zero. The fuel mass flow rate is then calculated.
˙mfuel=˙QFuel,LHV(LHV∗1000)
where:
˙mfuel = Mass flow rate of fuel being consumed by the generator (kg/s), report variable “Generator <FuelType> Mass Flow Rate [kg/s]”
LHV = Fuel Lower Heating Value, user input (kJ/kg)
The ancillary power is calculated next using the userspecified ancillary power and ancillary power modifier curve. The ancillary power modifier curve is a quadratic function with the generator’s fuel mass flow rate as the independent variable. If an ancillary power modifier curve is not specified in the input file, the modifier is assumed to be 1.0 and the ancillary power will be constant throughout the simulation.
AnciPowFMdotFuel=d1+d2(˙mfuel)+d3(˙mfuel)2
PAncillary,Operating=PAncillary(AnciPowFMdotFuel)
where:
AnciPowFMdotFuel = Userdefined Ancillary Power Modifier Curve (function of fuel input) evaluated at the actual fuel mass flow rate. This multiplier is assumed to be 1.0 if an ancillary power modifier curve name is not specified in the input.
PAncillary = Ancillary power, user input (W)
PAncillary,Operating = Ancillary electric power at the current fuel mass flow rate (W), report variable “Generator Ancillary Electric Power [W]”.
If ancillary power is constant for the simulation (e.g., no modifier curve defined), then the calculations continue as described below. However, if an ancillary power modifier curve has been defined, then the calculations described above for P_{ElecOperating}, ElecEff_{Operating}, ˙QFuel,LHV ~~and P_{Ancillary,Operating} are recalculated in sequence until the solution converges.
The generator’s “net” electrical power output is calculated as the difference between the generator’s actual power output and the ancillary electric power as follows.
PElec,Produced=PElec,Operating−PAncillary,Operating
where:
PElec,Produced = Generator net electric power output, report variable “Generator Produced Electric Power [W]”
The fuel energy consumption rate (higher heating value basis) for the generator is then calculated as follows:
˙QFuel,HHV=˙mfuel(HHV)(1000)
where:
˙QFuel,HHV = fuel energy consumption rate (W), report variables “Generator <FuelType> HHV Basis Rate [W]” and “Generator Fuel HHV Basis Rate [W]”
HHV = Fuel Higher Heating Value, user input (kJ/kg)
Standby electrical power may also be modeled to simulate controls or other parasitics used by the generator. The standby power is calculated only when the generator is not operating (i.e., Load from the Electric Load Center is zero). If the generator operates for a given timestep (i.e., Load > 0.0), the standby power is set equal to 0.
IF(Load<=0.0)THENPStandby=PStandby,userinputELSEPStandby=0.0ENDIF
where:
PStandby,userinput = Standby power, user input (W)
PStandby = Report variable “Generator Standby Electric Power” (W)
Report variables for electric energy produced, electric efficiency (LHV basis), fuel consumption (HHV basis), standby electric consumption and ancillary electric consumption are calculated as follows:
EElec,Produced=PElec,Produced(TimeStepSys)(3600)
ElecEffOperating,LHV=PElec,Produced˙QFuel,LHV
QFuel,HHV=˙QFuel,HHV(TimeStepSys)(3600)
EStandby=PStandby(TimeStepSys)(3600)
EAncillary=PAncillary,Operating(TimeStepSys)(3600)
where:
EElec,Produced = Report variable “Generator Produced Electric Energy [J]”
ElecEffOperating,LHV = Report variable “Generator LHV Basis Electric Efficiency []”
QFuel,HHV = Report variables “Generator <FuelType> HHV Basis Energy [J]” and “Generator Fuel HHV Basis Energy [J]”
EStandby = Report variable “Generator Standby Electric Energy [J]”
EAncillary = Report variable “Generator Ancillary Electric Energy [J]”
TimeStepSys = HVAC system simulation time step (hr)
In addition to calculating electric power production and fuel usage, the model is able to determine thermal power (heat recovery) output for heating water. For this case, the water flow rate through the heat recovery heat exchanger is established first. If the Heat Recovery Water Flow Operating Mode (user input) is set to Plant Control, then the Reference Heat Recovery Water Flow Rate (user input) is requested whenever the generator operates (constant value), but the actual flow rate may be restricted by other plant components (e.g., pump). If the Heat Recovery Water Flow Operating Mode is set to Internal Control, then the requested water flow when the generator operates is determined by the Reference Heat Recovery Water Flow Rate and a flow rate modifier curve.
IF(PlantControl)THEN˙mw=˙Vw,Ref(ρw)ELSEIF(InternalControl)THENHeatRecFlowFTempPow=e1+e2(Tw,i)+e3(Tw,i)2+e4(Pnet)+e5(Pnet)2+e6(Tw,i)(Pnet)˙mw=˙Vw,Ref(ρw)(HeatRecFlowFTempPow)ENDIF
where:
˙mw = Report variable “Generator Heat Recovery Water Mass Flow Rate [kg/s]”
˙Vw,Ref = Reference Heat Recovery Water Flow Rate (m^{3}/s), user input
ρw = Density of water (kg/m^{3}) at 5.05°C
HeatRecFlowFTempPow = Userdefined Heat Recovery Water Flow Rate Modifier Curve (function of temperature and power) evaluated at the current inlet water temperature and net electrical power output. This multiplier is assumed to be 1.0 if a water flow rate modifier curve name is not specified in the input.
Tw,i = Heat recovery inlet water temperature (°C), report variable “Generator Heat Recovery Inlet Temperature [C]”
Pnet = Net electrical power output from the generator (W)
The methodology for determining thermal power (heat recovery to water) is similar to that used for calculating electric power production. The generator’s steadystate thermal efficiency is calculated based on the userspecified reference thermal efficiency (LHV basis) and a thermal efficiency modifier curve.
ThermalEffSS=ThermalEffRef,LHV(ThermalEffFTempElev)
ThermalEffFTempElev=f1+f2(Ta,i)+f3(Ta,i)2+f4(Elev)+f5(Elev)2+f6(Ta,i)(Elev)
where:
ThermalEffSS = Steadystate thermal efficiency at current conditions
ThermalEffRef,LHV = Reference Thermal Efficiency (LHV Basis), user input
ThermalEffFTempElev = Userdefined Thermal Efficiency Modifier Curve (function of temperature and elevation) evaluated at the current combustion air inlet temperature and elevation. This multiplier is assumed to be 1.0 if a thermal efficiency modifier curve name is not specified in the input.
The steadystate thermal power produced (heat recovery rate) is then calculated:
PThermal,SS=ThermalEffSS(˙QFuel,LHV)
The actual (operating) thermal power is then calculated using the steadystate thermal power and three modifier curves:
PThermal,Operating=PThermal,SS(HeatRecRateFPLR)(HeatRecRateFTemp)(HeatRecRateFFlow)
HeatRecRateFPLR=g1+g2(PLR)+g3(PLR)2−or−g1+g2(PLR)+g3(PLR)2+g4(PLR)3
HeatRecRateFTemp=h1+h2(Tw,i)+h3(Tw,i)2
HeatRecRateFFlow=i1+i2(˙mw)+i3(˙mw)2
where:
PThermal,Operating = Report variable “Generator Produced Thermal Rate [W]”
HeatRecRateFPLR = Userdefined Heat Recovery Rate Modifier Curve (function of partload ratio) evaluated at the current operating partload ratio. This multiplier is assumed to be 1.0 if a modifier curve name is not specified in the input.
HeatRecRateFTemp = Userdefined Heat Recovery Rate Modifier Curve (function of inlet water temperature) evaluated at the current inlet water temperature. This multiplier is assumed to be 1.0 if a modifier curve name is not specified in the input.
HeatRecRateFFlow = Userdefined Heat Recovery Rate Modifier Curve (function of water flow rate) evaluated at the current heat recovery water flow rate. This multiplier is assumed to be 1.0 if a modifier curve name is not specified in the input.
The heat recovery output water temperature is then calculated.
Tw,o=Tw,i+PThermal,Operating(˙mw∗cpw)
where:
Tw,o = Heat recovery outlet water temperature (°C), report variable “Generator Heat Recovery Outlet Temperature [C]”
Cpw = Heat capacity of water (J/kgK)
If the calculated heat recovery outlet water temperature exceeds to Maximum Heat Recovery Water Temperature (user input), then the outlet water temperature is reset to the maximum temperature (user input) and the thermal power is recalculated.
If combustion air inlet and outlet node names are specified in the input, along with exhaust air flow rate and exhaust air temperature information, then the model calculates the exhaust air conditions for each simulation time step. The exhaust air mass flow rate is first calculated based on the Reference Exhaust Air Mass Flow Rate, two modifier curves and an air density adjustment. Since fans are volumetric flow devices, the ratio of the air density at actual inlet air conditions to air density at reference inlet air conditions is used as an adjustment factor.
˙mExhAir=˙mExhAir,Ref(ExhFlowFTemp)(ExhFlowFPLR)(ρa,iρa,Ref)
ExhFlowFTemp=j1+j2(Ta,i)+j3(Ta,i)2−or−j1+j2(Ta,i)+j3(Ta,i)2+j4(Ta,i)3
ExhFlowFPLR=k1+k2(PLR)+k3(PLR)2−or−k1+k2(PLR)+k3(PLR)2+k4(PLR)3
where:
˙mExhAir = Exhaust air mass flow rate (kg/s)
˙mExhAir,Ref = Reference Exhaust Air Mass Flow Rate (kg/s), user input
ExhFlowFTemp = Userdefined Exhaust Air Flow Rate Modifier Curve (function of temperature) evaluated at the current combustion air inlet temperature. This multiplier is assumed to be 1.0 if a modifier curve name is not specified in the input.
ExhFlowFPLR = Userdefined Exhaust Air Flow Rate Rate Modifier Curve (function of partload ratio) evaluated at the current operating partload ratio. This multiplier is assumed to be 1.0 if a modifier curve name is not specified in the input.
ρa,i = Density of the combustion inlet air (kg/m^{3})
ρa,Ref = Density of combustion inlet air at reference conditions (kg/m^{3})
In an analogous fashion, the exhaust air temperature is calculated using the Nominal (reference) Exhaust Air Outlet Temperature and two modifier curves.
Ta,o=Ta,o,Nom(ExhAirTempFTemp)(ExhAirTempFPLR) ExhAirTempFTemp=l1+l2(Ta,i)+l3(Ta,i)2−or−l1+l2(Ta,i)+l3(Ta,i)2+l4(Ta,i)3
ExhAirTempFPLR=m1+m2(PLR)+m3(PLR)2−or−m1+m2(PLR)+m3(PLR)2+m4(PLR)3
where:
Ta,o = Exhaust air outlet temperature (°C)
Ta,o,Nom = Nominal Exhaust Air Outlet Temperature (°C), user input
ExhAirTempFTemp = Userdefined Exhaust Air Temperature Modifier Curve (function of temperature) evaluated at the current combustion air inlet temperature. This multiplier is assumed to be 1.0 if a modifier curve name is not specified in the input.
ExhAirTempFPLR = Userdefined Exhaust Air Flow Rate Rate Modifier Curve (function of partload ratio) evaluated at the current operating partload ratio. This multiplier is assumed to be 1.0 if a modifier curve name is not specified in the input.
The above calculations for exhaust air outlet temperature assume no heat recovery to water is being done. If thermal power (water heating) is being produced, then the exhaust air outlet temperature is recalculated as follows:
Ta,o=Ta,o−PThermal,Operating(˙mExhAir∗Cpair)
where:
Cpair = Heat capacity of air at the actual combustion air inlet conditions (J/kgK)
The exhaust air outlet humidity ratio is also calculated.
wa,o=wa,i+˙mfuel(HHV−LHV)(1000)/(hfg,16)˙mExhAir
where:
wa,o = Exhaust air outlet humidity ratio (kg/kg)
wa,i = Exhaust air inlet humidity ratio (kg/kg)
hfg,16 = Enthalpy of vaporization of moisture at 16°C (J/kg)
The remaining report variables are calculated as follows.
EThermal,Produced=PThermal,Operating(TimeStepSys)(3600)
ThermalEffOperating,LHV=PThermal,Operating˙QFuel,LHV
where:
EThermal,Produced = Report variable “Generator Produced Thermal Energy [J]”
ThermalEffOperating,LHV = Report variable “Generator Thermal Efficiency LHV Basis []”
MicroCogenerator[LINK]
The input object Generator:MicroCHP provides a model that is a direct implementation of a model developed by IEA Annex 42  The Simulation of BuildingIntegrated Fuel Cell and Other Cogeneration Systems (FC+COGENSIM). Annex 42 was formed as a working group within the International Energy Agency (IEA) program on Energy Conservation in Buildings and Community Systems (ECBCS). A full description of the model specification can be found in the report by Subtask B of FC+COGENSIM with the title “Specifications for Modelling Fuel Cell and CombustionBased Residential Cogeneration Device within WholeBuilding Simulation Programs.” The “Micro CHP” model in EnergyPlus is the one referred to as “A Generic Model for Combustionbased Residential Cogeneration Devices.”
The Micro CHP model is a straightforward empirical model with the exception that it is dynamic with respect to thermal heat recovery where performance is cast as a function of engine temperature. It is also dynamic with respect to possible warm up and cool down periods that may affect the ability of the generator to deliver the requested power. The relevant model equations are:
ηe=f(˙mcw,Tcw,i,Pnet,ss)
ηq=f(˙mcw,Tcw,i,Pnet,ss)
qgross=Pnet,ss/ηe
qgen,ss=ηqqgross
˙Nfuel=qgross/LHVfuel
˙mt+Δtfuel={˙mt+Δtfuel,demand˙mtfuel±(d˙mfuel/dt)maxifd˙mfuel/dt≤(d˙mfuel/dt)maxifd˙mfuel/dt>(d˙mfuel/dt)max
˙mair=f(Pnet,ss)
Pt+Δtnet={Pt+Δtnet,ssPtnet±(dPnet/dt)maxifdPnet/dt≤(dPnet/dt)maxifdPnet/dt>(dPnet/dt)max
[MC]engdTengdt=UAHX(Tcw,p−Teng)+UAloss(Troom−Teng)+qgen,ss
[MC]cwdTcw,odt=[˙mcp]cw(Tcw,i−Tcw,o)+UAHX(Teng−Tcw,o)
where,
ηe is the steadystate, part load, electrical conversion efficiency of the engine ()
ηq is the steadystate part load, thermal conversion efficiency of the engine ()
˙mcw is the mass flow rate of plant fluid through the heat recovery section [kg/s]
Tcw,i is the bulk temperature of the plant fluid entering the heat recovery section (^{o}C)
Tcw,o is the bulk temperature of the plant fluid leaving the heat recovery section (^{o}C)
Pnet,ss is the steadystate electrical output of the system (W),
qgross is the gross heat input into the engine (W),
qgen,ss is the steadystate rate of heat generation within the engine (W)
LHVfuel is the lower heating value of the fuel used by the system (J/kg or J/kmol),
˙Nfuel is the molar fuel flow rate (kmol/s)
˙mfuel is the mass fuel flow rate (kg/s)
˙mair is the mass flow rate of air thru the engine (kg/s)
[MC]eng is the thermal capacitance of the engine control volume (W/K)
Teng is the temperature of the engine control volume (C)
UAHX is the effective thermal conductance between the engine control volume and the cooling water control volume (W/K).
UAloss is the effective thermal conductance between the engine control volume and the surrounding environment (W/K)
Troom is the air temperature of the surrounding environment (C)
[MC]cw is the thermal capacitance of the encapsulated cooling water and heat exchanger shell in immediate thermal contact (J/K)
[˙mcp]cw is the thermal capacity flow rate associated with the cooling water (W/K)
The functional forms for ηe and ηq are 2^{nd} order trivariate polynomials with all of the cross terms.
EnergyPlus solves these for state values for the engine mass temperature, Teng , and the outlet plant node, Tcw,o , in the following manner. The last two equations are interrelated but otherwise ordinary differential equations with the general form
dTdt=a+bT
and have analytical solution
T=(To+ab)ebt−ab
The engine temperature at the current timestep is calculated using
a=UAHX[MC]eng∗Tcw,o+UAloss[MC]eng∗Troom+qgen,ss[MC]eng
b=−(UAHX[MC]eng+UAloss[MC]eng)
The plant node outlet fluid temperature (heat recovered) is solved using
a=[˙mcp]cw[MC]cw∗Tcw,i+UAHX[MC]cw∗Teng
b=−([˙mcp]cw[MC]cw+UAHX[MC]cw)
The interrelation of these two is handled by sequential substitution using an iteration scheme that alternates between calculations of Teng and Tcw,o . The iteration loop exits once the energy is determined to be balanced using the following criteria:
Number of iterations > 3
(qgen,ss)max10000000>UAHX(Tcw,o−Teng)+UAloss(Troom−Teng)+qgen,ss−[MC]engdTengdt
(qgen,ss)max10000000>[˙mcp]cw(Tcw,i−Tcw,o)+UAHX(Teng−Tcw,o)−[MC]cwdTcw,odt
The Micro CHP model has a number of different operating modes. The operating mode for a given system timestep is determined from the mode during the previous timestep, user inputs, and highlevel controls from elsewhere in EnergyPlus. The operating mode is reported for the state at the end of each timestep. The following summarizes the various operating modes and the criteria for switching to a new mode for any given timestep. The EnergyPlus implementation adds the “Off” mode to the modes specified by Annex 42 which corresponds to the unit being scheduled to be unavailable. The difference between OFF and Standby modes determines whether or not standby power is consumed.
For timesteps where the generator switches from warm up mode to normal mode in the middle of the timestep, part load ration values are calculated for the portion of the time step that the generator is in normal operation.
The engine and heat recovery thermal conditions are modeled for all modes so, for example, an engine that is off but still warm could provide some hot water recovery.
The engine model can use an arbitray fuel mixture that is defined by the user  see the entry for Generator:FuelSupply.
References[LINK]
Kelly, N. and A. Ferguson. 2007. A Generic Model Specification for Combustionbased Residential Cogeneration Devices. In Specifications for Modelling Fuel Cell and CombustionBased Residential Cogeneration Device within WholeBuilding Simulation Programs. I. BeausoleilMorrison and N. Kelly editors. Draft report of Annex 42 of the International Energy Agency ECBCS.
Fuel Cell Cogenerator[LINK]
The Generator:FuelCell input objects provides a model which is a direct implementation of a model developed by IEA Annex 42  The Simulation of BuildingIntegrated Fuel Cell and Other Cogeneration Systems (FC+COGENSIM). Annex 42 was formed as a working group within the International Energy Agency (IEA) program on Energy Conservation in Buildings and Community Systems (ECBCS). A full description of the model specification can be found in the report by Subtask B of FC+COGENSIM with the title “Specifications for Modelling Fuel Cell and CombustionBased Residential Cogeneration Device within WholeBuilding Simulation Programs.” The “Specifications for Modelling Fuel Cell Cogeneration Devices within WholeBuilding Simulation Programs.”
The Annex 42 Fuel Cell model is characterized as a “grey box” empirical model where a mixture of thermodynamic principles and empirical performance maps are used to model the cogeneration performance of a fairly complex device with many individual subsystems. In EnergyPlus, the individual subsystems are separate into individual input objects such as Generator:FuelCell:PowerModule or Generator:FuelCell:ExhaustGasToWaterHeatExchanger. The resulting model is relatively complex requiring on the order of one hundred inputs. The model is not for the faint of heart; this model is far more involved than most component models in building simulation. This stems from the fact that fuel cell cogenerators are complicated devices that interact with the built environment in a number of ways. Fuel cells could drawn in gas/fuel, air, and water with as many as six separate streams. In addition to electricity and heated water, they also give off heat in the form of convection and radiation and exhaust air out of the zone. The devices may take a long time to start up and include storage to follow loads rather than attempt to vary the power the fuel cell. The fuel cell model allows examining system level interactions over annual timeframes that include all the important interactions with a building’s energy and comfort systems.
The Annex 42 fuel cell model is described more thoroughly in the references (see below). Here we provide a summary of the relevant model equations which are taken from the Annex 42 model specification. The first equation is the main energy balance for the fuel cell power module (includes the fuel reformation and fuel cell stacks). This energy balance is used to model the enthalpy of the product gases that leave the fuel cell power module.
∑i(˙Ni⋅[^hi−Δf^hoi])fuel+∑i(˙Ni⋅[^hi−Δf^hoi])air+˙Nliq−water⋅([^h−Δf^ho]H2O,liq−Δf^hoH2O,fg)quad+˙Hdilution−air−in+˙Nfuel⋅LHVfuel+Pel,ancillaries−AC =Pel+∑i(˙Ni⋅[¨hi−Δf^hoi])FCPM−cg+qs−cool+qskin−loss+˙Hdilution−air−out
The remaining equations describe various terms and the balance of systems. The electrical efficiency is modeled using:
εel=[ε0+ε1⋅Pel+ε2⋅P2el]⋅[1−Nstops⋅D]⋅⎡⎣1−(M