## Engineering Reference — EnergyPlus 8.4

### Engineering Reference

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.

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 UA-effectiveness 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(TexhaustTreference)

where Treference is the reference temperature for the fuel lower heating value, and is given as 25°C in manufacturer’s data, and

Tstack=TDesignMinExhaust+(TexhaustTDesignMinExhaust)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.

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=TairTdesign

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+(TexhaustTDesignMinExhaust)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 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).

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

where:

PElec,Ref = Reference Electrical Power Output, user input (W)

PowerFTempElev = User-defined 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:

PFLMax = Maximum Full Load Electrical Power Output, user input (W)

PFLMin = 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.

PLR = MIN( PLR, PLR_max )
PLR = MAX( PLR, PLR_min )
ELSE
PLR = 0
END IF

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 = Part-load ratio of the electric generator

PLRmax = 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 = 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)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 = User-defined Electrical Efficiency Modifier Curve (function of temperature) evaluated at the current combustion air inlet temperature

ElecEfficiencyFPLR = User-defined Electrical Efficiency Modifier Curve (function of part-load ratio) evaluated at the current operating part-load 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={{P_{Elec,Operating}}}/PElec,OperatingElecEffOperating{ElecEf{f_{Operating}}}

where:

˙QFuel,LHV = 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={{{\dot Q}_{Fuel,LHV}}}/˙QFuel,LHV(LHV1000){\left( {LHV*1000} \right)}

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 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 = 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 = 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 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,OperatingPAncillary,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.

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={{P_{Elec,Produced}}}/PElec,Produced˙QFuel,LHV{{{\dot Q}_{Fuel,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 (m3/s), user input

ρw = Density of water (kg/m3) at 5.05°C

HeatRecFlowFTempPow = 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 = 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 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 = Steady-state thermal efficiency at current conditions

ThermalEffRef,LHV = Reference Thermal Efficiency (LHV Basis), user input

ThermalEffFTempElev = 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)2org1+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 = 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 = 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 = 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+{{P_{Thermal,Operating}}}/PThermal,Operating(˙mwCpw){\left( {{{\dot m}_w}{\rm{ }}*{\rm{ }}C{p_w}} \right)}

where:

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

Cpw = 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)({{\rho_{a,i}}}/ρa,iρa,Ref{{\rho_{a,Ref}}}) ExhFlowFTemp=j1+j2(Ta,i)+j3(Ta,i)2orj1+j2(Ta,i)+j3(Ta,i)2+j4(Ta,i)3

ExhFlowFPLR=k1+k2(PLR)+k3(PLR)2ork1+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 = 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 = 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 = Density of the combustion inlet air (kg/m3)

ρa,Ref = 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+l2(Ta,i)+l3(Ta,i)2orl1+l2(Ta,i)+l3(Ta,i)2+l4(Ta,i)3

ExhAirTempFPLR=m1+m2(PLR)+m3(PLR)2orm1+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 = 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 = 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,o{{P_{Thermal,Operating}}}/PThermal,Operating(˙mExhAirCpair){\left( {{{\dot m}_{ExhAir}}*C{p_{air}}} \right)}

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+{\left[ {{{{{\dot m}_{fuel}}\left( {HHV - LHV} \right)\left( {1000} \right)} \mathord{\left/ {\vphantom {{{{\dot m}_{fuel}}\left( {HHV - LHV} \right)\left( {1000} \right)} {\left( {{h_{fg,16}}} \right)}}} \right. } {\left( {{h_{fg,16}}} \right)}}} \right]}/[˙mfuel(HHVLHV)(1000)/˙mfuel(HHVLHV)(1000)(hfg,16)(hfg,16)](˙mExhAir){\left( {{{\dot m}_{ExhAir}}} \right)}

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={{P_{Thermal,Operating}}}/PThermal,Operating˙QFuel,LHV{{{\dot Q}_{Fuel,LHV}}}

where:

EThermal,Produced = Report variable “Generator Produced Thermal Energy [J]”

ThermalEffOperating,LHV = Report variable “Generator Thermal Efficiency LHV Basis [-]”

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,demandifd˙mfuel/dt(d˙mfuel/dt)max˙mtfuel,demand±(d˙mfuel/dt)maxifd˙mfuel/dt>(d˙mfuel/dt)max

˙mair=f(Pnet,ss)

Pt+Δtnet={Pt+Δtnet,ssifdPnet/dt(dPnet/dt)maxPtnet,ss±(dPnet/dt)maxifdPnet/dt>(dPnet/dt)max

[MC]engdTengdt=UAHX(Tcw,pTeng)+UAloss(TroomTeng)+qgen,ss

[MC]cwdTcw,odt=[˙mcp]cw(Tcw,iTcw,o)+UAHX(TengTcw,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 (oC)

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

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