## Internal Cumbustion Engine[LINK]

The engine-driven 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.

electric energy outputfuel energy input=electric energy output(˙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=Electric energy outputnominal generating capacity

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 UA-effectiveness form:

Total Exhaust heatfuel energy input=Total Exhaust heat(˙mfuel{kg/s}⋅LHV{J/kg})=d1+d2PLR+d3PLR2

Exhaust Gas Temp {K}fuel energy input=Exhaust Gas Temp{K}(˙mfuel{kg/s}⋅LHV{J/kg})=e1+e2PLR+e3PLR2

The exhaust flow rate is then calculated as:

˙mexhaust=Total Exhaust heatCpexhaust⋅(Texhaust−Treference)

where Treference is the reference temperature for the fuel lower heating value (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:

Recoverable jacket heatfuel energy input=Recoverable jacket heat(˙mfuel{kg/s}⋅LHV{J/kg})=b1+b2PLR+b3PLR2

Recoverable lube oil heatfuel energy input=Recoverable lube oil heat(˙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.

fuel energy input rateelectric power output=[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=Electric energy outputnominal generating capacity

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 UA-effectiveness 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(Nominal Generating Capacity)e4

exhaust gas flow rateNominal Generating Capacity=[f1+f2ΔT+f3ΔT2]

Finally, heat recovered from the lube oil is accounted for as follows:

Recoverable lube oil heatelectric power generated=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 non-reference 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 non-reference 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 user-defined reference electrical power output along with a bi-quadratic 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,Full Load=PElec,Ref(PowerFTempElev)

PowerFTempElev=a1+a2(Ta,i)+a3(Ta,i)2+a4(Elev)+a5(Elev)2+a6(Ta,i)(Elev)

where:

PElec,Full Load is the full load electrical power output (W)

PElec,Ref is the reference electrical power output, user input (W)

PowerFTempElev is the user-defined Electric Power Modifier Curve (function of temperature and elevation) evaluated at the current combustion air inlet temperature and elevation

Ta,i is the combustion air inlet temperature (∘C)

Elev is the 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,Full Load=MIN(PElec,Full Load,PFL,Max)

PElec,Full Load=MAX(PElec,Full Load,PFL,Min)

where:

PFL,Max is the maximum Full Load Electrical Power Output, user input (W)

PFL,Min is the 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 part-load ratios, and the ancillary power.

PElec,Operating=MAX(0.0,(Load+PAncillary))

PElec,Operating=MIN(PElec,Operating,PElec,Full Load)

IF (PElec,Full Load>0) THEN PLR=PElec,Operating/PElec,Full Load PLR=MIN(PLR,PLRmax) PLR=MAX(PLR,PLRmin) ELSE PLR=0 ENDIF

PElec,Operating=PElec,Full Load∗PLR

where:

PElec,Operating is the actual (operating) electrical power output (W)

Load is the electrical power output being requested by the Electric Load Center (W)

PAncillary is the ancillary power, user input (W)

PLR is the part-load ratio of the electric generator

PLRmax is the maximum part-load 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 part-load ratio])

PLRmin is the minimum part-load 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 part-load ratio]).

The generator’s electrical efficiency is then calculated based on the user-specified reference electrical efficiency (lower heating value [LHV] basis) and two electrical efficiency modifier curves.

ElecEfficiencyFTemp=b1+b2(Ta,i)+b3(Ta,i)2 or b1+b2(Ta,i)+b3(Ta,i)2+b4(Ta,i)3

ElecEfficiencyFPLR=c1+c2(PLR)+c3(PLR)2 or c1+c2(PLR)+c3(PLR)2+c4(PLR)3

ElecEffOperating=ElecEffRef,LHV(ElecEfficiencyFTemp)(ElecEfficiencyFPLR)

where:

ElecEfficiencyFTemp is the user-defined Electrical Efficiency Modifier Curve (function of temperature) evaluated at the current combustion air inlet temperature

ElecEfficiencyFPLR is the user-defined Electrical Efficiency Modifier Curve (function of part-load ratio) evaluated at the current operating part-load ratio

ElecEffOperating is the electrical efficiency at the current operating conditions

ElecEffRef,LHV is the 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 is the fuel energy consumption rate, LHV basis (W).

If ElecEffOperating is equal to zero, then POperating and ˙QFuel,LHV are set to zero. The fuel mass flow rate is then calculated:

˙mfuel=˙QFuel,LHVLHV∗1000

where:

˙mfuel is the 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 user-specified 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 is the user-defined 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 is the ancillary power, user input (W)

PAncillary,Operating is the 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 PElecOperating, ElecEffOperating, ˙QFuel,LHV and PAncillary,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 is the generator net electric power output (W), 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 is the fuel energy consumption rate (W), report variables “Generator <FuelType> HHV Basis Rate [W]” and “Generator Fuel HHV Basis Rate [W]”

HHV is the 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.

PStandby={PStandby,User Inputif Load≤00otherwise

where:

PStandby,User Input is the standby power, user input (W)

PStandby is the 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 is the report variable “Generator Produced Electric Energy” (J)

ElecEffOperating,LHV is the report variable “Generator LHV Basis Electric Efficiency”

QFuel,HHV can be represented as either report variable “Generator <FuelType> HHV Basis Energy” or “Generator Fuel HHV Basis Energy” (J)

EStandby is the report variable “Generator Standby Electric Energy” (J)

EAncillary is the report variable “Generator Ancillary Electric Energy” (J)

*TimeStepSys* is the 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*: ˙mw=˙Vw,refρw

If *InternalControl*: HeatRecFlowFTempPow=e1+e2Tw,i+e3T2w,i+e4Pnet+e5P2net+e6Tw,iPnet ˙mw=˙Vw,Refρw(HeatRecFlowFTempPow)

where:

˙mw is the report variable “Generator Heat Recovery Water Mass Flow Rate” (kg/s)

˙Vw,Ref is the reference heat recovery water flow rate, user input (m3/s)

ρw is the density of water (kg/m3) at 5.05∘C

HeatRecFlowFTempPow is the user-defined 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 is the heat recovery inlet water temperature (∘C), report variable “Generator Heat Recovery Inlet Temperature [C]”

Pnet is the 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 steady-state thermal efficiency is calculated based on the user-specified 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 is the steady-state thermal efficiency at current conditions

ThermalEffRef,LHV is the reference thermal efficiency (LHV Basis), user input

ThermalEffFTempElev is the user-defined 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 steady-state thermal power produced (heat recovery rate) is then calculated:

PThermal,SS=ThermalEffSS(˙QFuel,LHV)

The actual (operating) thermal power is then calculated using the steady-state thermal power and three modifier curves:

PThermal,Operating=PThermal,SS(HeatRecRateFPLR)(HeatRecRateFTemp)(HeatRecRateFFlow) HeatRecRateFPLR=⎧⎪
⎪⎨⎪
⎪⎩=g1+g2(PLR)+g3(PLR)2or=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 is the report variable “Generator Produced Thermal Rate” (W)

HeatRecRateFPLR is the user-defined Heat Recovery Rate Modifier Curve (function of part-load ratio) evaluated at the current operating part-load ratio. This multiplier is assumed to be 1.0 if a modifier curve name is not specified in the input.

HeatRecRateFTemp is the user-defined 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 is the user-defined 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˙mwCpw

where:

Tw,o is the heat recovery outlet water temperature (°C), report variable “Generator Heat Recovery Outlet Temperature [C]”

Cpw is the heat capacity of water (J/kg-K).

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+j2Ta,i+j3T2a,ior=j1+j2Ta,i+j3T2a,i+j4T3a,i

ExhFlowFPLR=⎧⎪
⎪⎨⎪
⎪⎩=k1+k2TPLR+k3T2PLRor=k1+k2TPLR+k3T2PLR+k4T3PLR

where:

˙mExhAir is the exhaust air mass flow rate (kg/s)

˙mExhAir,Ref is the reference Exhaust Air Mass Flow Rate, user input (kg/s)

ExhFlowFTemp is the user-defined 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 is the user-defined Exhaust Air Flow Rate Rate Modifier Curve (function of part-load ratio) evaluated at the current operating part-load ratio. This multiplier is assumed to be 1.0 if a modifier curve name is not specified in the input.

ρa,i is the density of the combustion inlet air (kg/m3)

ρa,Ref is the density of combustion inlet air at reference conditions (kg/m3).

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+l2Ta,i+l3T2a,ior=l1+l2Ta,i+l3T2a,i+l4T3a,i

ExhAirTempFPLR=⎧⎪
⎪⎨⎪
⎪⎩=m1+m2TPLR+m3T2PLRor=m1+m2TPLR+m3T2PLR+m4T3PLR

where:

Ta,o is the exhaust air outlet temperature (∘C)

Ta,o,Nom is the nominal exhaust air outlet temperature, user input (∘C)

ExhAirTempFTemp is the user-defined 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 is the user-defined Exhaust Air Flow Rate Rate Modifier Curve (function of part-load ratio) evaluated at the current operating part-load 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,i−PThermal,Operating˙mExhAirCpair

where Cpair = Heat capacity of air at the actual combustion air inlet conditions (J/kg-K).

The exhaust air outlet humidity ratio is also calculated.

wa,o=wa,i+˙mfuel(HHV−LHV)(1000)hfg,16˙mExhAir

where:

wa,o is the exhaust air outlet humidity ratio (kg/kg)

wa,i is the exhaust air inlet humidity ratio (kg/kg)

hfg,16 is the 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 is the report variable “Generator Produced Thermal Energy” (J)

ThermalEffOperating,LHV is the report variable “Generator Thermal Efficiency LHV Basis”.

## Micro-Cogenerator[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 Building-Integrated Fuel Cell and Other Cogeneration Systems (FC+COGEN-SIM). 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+COGEN-SIM with the title “Specifications for Modelling Fuel Cell and Combustion-Based Residential Cogeneration Device within Whole-Building Simulation Programs.” The “Micro CHP” model in EnergyPlus is the one referred to as “A Generic Model for Combustion-based 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,demandif d˙mfuel/dt≤(d˙mfuel/dt)max˙mtfuel,demand±(d˙mfuel/dt)maxif d˙mfuel/dt>(d˙mfuel/dt)max

˙mair=f(Pnet,ss)

Pt+Δtnet={Pt+Δtnet,ssif dPnet/dt≤(dPnet/dt)maxPtnet,ss±(dPnet/dt)maxif dPnet/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 steady-state, part load, electrical conversion efficiency of the engine

ηq is the steady-state 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 (∘C)

Tcw,o is the bulk temperature of the plant fluid leaving the heat recovery section (∘C)

Pnet,ss is the steady-state electrical output of the system (W)

qgross is the gross heat input into the engine (W)

qgen,ss is the steady-state 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 2nd 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+a/abb)ebt−a/abb

The engine temperature at the current timestep is calculated using:

a=UAHX[MC]eng∗Tcw,o+UAloss[MC]eng∗Troom+qgen,ss[MC]e

## Generators[LINK]

## Internal Cumbustion Engine[LINK]

The engine-driven 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.

electric energy outputfuel energy input=electric energy output(˙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=Electric energy outputnominal generating capacity

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 UA-effectiveness form:

Total Exhaust heatfuel energy input=Total Exhaust heat(˙mfuel{kg/s}⋅LHV{J/kg})=d1+d2PLR+d3PLR2

Exhaust Gas Temp {K}fuel energy input=Exhaust Gas Temp{K}(˙mfuel{kg/s}⋅LHV{J/kg})=e1+e2PLR+e3PLR2

The exhaust flow rate is then calculated as:

˙mexhaust=Total Exhaust heatCpexhaust⋅(Texhaust−Treference)

where Treference is the reference temperature for the fuel lower heating value (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:

Recoverable jacket heatfuel energy input=Recoverable jacket heat(˙mfuel{kg/s}⋅LHV{J/kg})=b1+b2PLR+b3PLR2

Recoverable lube oil heatfuel energy input=Recoverable lube oil heat(˙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.

fuel energy input rateelectric power output=[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=Electric energy outputnominal generating capacity

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 UA-effectiveness 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(Nominal Generating Capacity)e4

exhaust gas flow rateNominal Generating Capacity=[f1+f2ΔT+f3ΔT2]

Finally, heat recovered from the lube oil is accounted for as follows:

Recoverable lube oil heatelectric power generated=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 non-reference 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 non-reference 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 user-defined reference electrical power output along with a bi-quadratic 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,Full Load=PElec,Ref(PowerFTempElev)

PowerFTempElev=a1+a2(Ta,i)+a3(Ta,i)2+a4(Elev)+a5(Elev)2+a6(Ta,i)(Elev)

where:

PElec,Full Load is the full load electrical power output (W)

PElec,Ref is the reference electrical power output, user input (W)

PowerFTempElev is the user-defined Electric Power Modifier Curve (function of temperature and elevation) evaluated at the current combustion air inlet temperature and elevation

Ta,i is the combustion air inlet temperature (∘C)

Elev is the 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,Full Load=MIN(PElec,Full Load,PFL,Max)

PElec,Full Load=MAX(PElec,Full Load,PFL,Min)

where:

PFL,Max is the maximum Full Load Electrical Power Output, user input (W)

PFL,Min is the 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 part-load ratios, and the ancillary power.

PElec,Operating=MAX(0.0,(Load+PAncillary))

PElec,Operating=MIN(PElec,Operating,PElec,Full Load)

IF (PElec,Full Load>0) THEN PLR=PElec,Operating/PElec,Full Load PLR=MIN(PLR,PLRmax) PLR=MAX(PLR,PLRmin) ELSE PLR=0 ENDIF

PElec,Operating=PElec,Full Load∗PLR

where:

PElec,Operating is the actual (operating) electrical power output (W)

Load is the electrical power output being requested by the Electric Load Center (W)

PAncillary is the ancillary power, user input (W)

PLR is the part-load ratio of the electric generator

PLRmax is the maximum part-load 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 part-load ratio])

PLRmin is the minimum part-load 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 part-load ratio]).

The generator’s electrical efficiency is then calculated based on the user-specified reference electrical efficiency (lower heating value [LHV] basis) and two electrical efficiency modifier curves.

ElecEfficiencyFTemp=b1+b2(Ta,i)+b3(Ta,i)2 or b1+b2(Ta,i)+b3(Ta,i)2+b4(Ta,i)3

ElecEfficiencyFPLR=c1+c2(PLR)+c3(PLR)2 or c1+c2(PLR)+c3(PLR)2+c4(PLR)3

ElecEffOperating=ElecEffRef,LHV(ElecEfficiencyFTemp)(ElecEfficiencyFPLR)

where:

ElecEfficiencyFTemp is the user-defined Electrical Efficiency Modifier Curve (function of temperature) evaluated at the current combustion air inlet temperature

ElecEfficiencyFPLR is the user-defined Electrical Efficiency Modifier Curve (function of part-load ratio) evaluated at the current operating part-load ratio

ElecEffOperating is the electrical efficiency at the current operating conditions

ElecEffRef,LHV is the 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 is the fuel energy consumption rate, LHV basis (W).

If ElecEffOperating is equal to zero, then POperating and ˙QFuel,LHV are set to zero. The fuel mass flow rate is then calculated:

˙mfuel=˙QFuel,LHVLHV∗1000

where:

˙mfuel is the 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 user-specified 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 is the user-defined 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 is the ancillary power, user input (W)

PAncillary,Operating is the 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 PElecOperating, ElecEffOperating, ˙QFuel,LHV and PAncillary,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 is the generator net electric power output (W), 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 is the fuel energy consumption rate (W), report variables “Generator <FuelType> HHV Basis Rate [W]” and “Generator Fuel HHV Basis Rate [W]”

HHV is the 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.,

Loadfrom 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.PStandby={PStandby,User Inputif Load≤00otherwise

where:

PStandby,User Input is the standby power, user input (W)

PStandby is the 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 is the report variable “Generator Produced Electric Energy” (J)

ElecEffOperating,LHV is the report variable “Generator LHV Basis Electric Efficiency”

QFuel,HHV can be represented as either report variable “Generator <FuelType> HHV Basis Energy” or “Generator Fuel HHV Basis Energy” (J)

EStandby is the report variable “Generator Standby Electric Energy” (J)

EAncillary is the report variable “Generator Ancillary Electric Energy” (J)

TimeStepSysis the 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: ˙mw=˙Vw,refρwIf

InternalControl: HeatRecFlowFTempPow=e1+e2Tw,i+e3T2w,i+e4Pnet+e5P2net+e6Tw,iPnet ˙mw=˙Vw,Refρw(HeatRecFlowFTempPow)where:

˙mw is the report variable “Generator Heat Recovery Water Mass Flow Rate” (kg/s)

˙Vw,Ref is the reference heat recovery water flow rate, user input (m3/s)

ρw is the density of water (kg/m3) at 5.05∘C

HeatRecFlowFTempPow is the user-defined 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 is the heat recovery inlet water temperature (∘C), report variable “Generator Heat Recovery Inlet Temperature [C]”

Pnet is the 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 steady-state thermal efficiency is calculated based on the user-specified 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 is the steady-state thermal efficiency at current conditions

ThermalEffRef,LHV is the reference thermal efficiency (LHV Basis), user input

ThermalEffFTempElev is the user-defined 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 steady-state thermal power produced (heat recovery rate) is then calculated:

PThermal,SS=ThermalEffSS(˙QFuel,LHV)

The actual (operating) thermal power is then calculated using the steady-state thermal power and three modifier curves:

PThermal,Operating=PThermal,SS(HeatRecRateFPLR)(HeatRecRateFTemp)(HeatRecRateFFlow) HeatRecRateFPLR=⎧⎪ ⎪⎨⎪ ⎪⎩=g1+g2(PLR)+g3(PLR)2or=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 is the report variable “Generator Produced Thermal Rate” (W)

HeatRecRateFPLR is the user-defined Heat Recovery Rate Modifier Curve (function of part-load ratio) evaluated at the current operating part-load ratio. This multiplier is assumed to be 1.0 if a modifier curve name is not specified in the input.

HeatRecRateFTemp is the user-defined 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 is the user-defined 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˙mwCpw

where:

Tw,o is the heat recovery outlet water temperature (°C), report variable “Generator Heat Recovery Outlet Temperature [C]”

Cpw is the heat capacity of water (J/kg-K).

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+j2Ta,i+j3T2a,ior=j1+j2Ta,i+j3T2a,i+j4T3a,i

ExhFlowFPLR=⎧⎪ ⎪⎨⎪ ⎪⎩=k1+k2TPLR+k3T2PLRor=k1+k2TPLR+k3T2PLR+k4T3PLR

where:

˙mExhAir is the exhaust air mass flow rate (kg/s)

˙mExhAir,Ref is the reference Exhaust Air Mass Flow Rate, user input (kg/s)

ExhFlowFTemp is the user-defined 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 is the user-defined Exhaust Air Flow Rate Rate Modifier Curve (function of part-load ratio) evaluated at the current operating part-load ratio. This multiplier is assumed to be 1.0 if a modifier curve name is not specified in the input.

ρa,i is the density of the combustion inlet air (kg/m3)

ρa,Ref is the density of combustion inlet air at reference conditions (kg/m3).

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+l2Ta,i+l3T2a,ior=l1+l2Ta,i+l3T2a,i+l4T3a,i

ExhAirTempFPLR=⎧⎪ ⎪⎨⎪ ⎪⎩=m1+m2TPLR+m3T2PLRor=m1+m2TPLR+m3T2PLR+m4T3PLR

where:

Ta,o is the exhaust air outlet temperature (∘C)

Ta,o,Nom is the nominal exhaust air outlet temperature, user input (∘C)

ExhAirTempFTemp is the user-defined 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 is the user-defined Exhaust Air Flow Rate Rate Modifier Curve (function of part-load ratio) evaluated at the current operating part-load 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,i−PThermal,Operating˙mExhAirCpair

where Cpair = Heat capacity of air at the actual combustion air inlet conditions (J/kg-K).

The exhaust air outlet humidity ratio is also calculated.

wa,o=wa,i+˙mfuel(HHV−LHV)(1000)hfg,16˙mExhAir

where:

wa,o is the exhaust air outlet humidity ratio (kg/kg)

wa,i is the exhaust air inlet humidity ratio (kg/kg)

hfg,16 is the 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 is the report variable “Generator Produced Thermal Energy” (J)

ThermalEffOperating,LHV is the report variable “Generator Thermal Efficiency LHV Basis”.

## Micro-Cogenerator[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 Building-Integrated Fuel Cell and Other Cogeneration Systems (FC+COGEN-SIM). 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+COGEN-SIM with the title “Specifications for Modelling Fuel Cell and Combustion-Based Residential Cogeneration Device within Whole-Building Simulation Programs.” The “Micro CHP” model in EnergyPlus is the one referred to as “A Generic Model for Combustion-based 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,demandif d˙mfuel/dt≤(d˙mfuel/dt)max˙mtfuel,demand±(d˙mfuel/dt)maxif d˙mfuel/dt>(d˙mfuel/dt)max

˙mair=f(Pnet,ss)

Pt+Δtnet={Pt+Δtnet,ssif dPnet/dt≤(dPnet/dt)maxPtnet,ss±(dPnet/dt)maxif dPnet/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 steady-state, part load, electrical conversion efficiency of the engine

ηq is the steady-state 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 (∘C)

Tcw,o is the bulk temperature of the plant fluid leaving the heat recovery section (∘C)

Pnet,ss is the steady-state electrical output of the system (W)

qgross is the gross heat input into the engine (W)

qgen,ss is the steady-state 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 2nd 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+a/abb)ebt−a/abb

The engine temperature at the current timestep is calculated using:

a=UAHX[MC]eng∗Tcw,o+UAloss[MC]eng∗Troom+qgen,ss[MC]e