Challenge

Combustion Efficiency Calculation after Preheating

# Aim:

In this project, we are going to study the effect on the combustion efficiency of a simple natural gas burner due to the pre-heating of air by a recuperator.

# Theory:

Recuperator

A recuperator is simply a heat exchanger used to recover waste heat from thermodynamic processes, especially in power plants. For this project, we will consider a recuperator that pre-heats the incoming air to the furnace where the air is mixed with fuel (natural gas).

The recuperator will extract the heat from hot flue gases at the outlet of the gas turbine and pre-heat air before it enters the furnace.

Assumptions

  • The exhaust products are `CO_2`, `H_2O` and `N_2` only.
  • Combustion is stoichiometric.
  • Exhaust gases exit the furnace at a constant temperature of 1700 K.
  • Recuperator is 100% efficient.
  • LHV(Lower Heating Value) of methane is 50 MJ/Kg.

Formulas

  • Stoichiometric combustion equation

`CH_4 + 2(O_2 + 3.76N_2) -> CO_2 + 2H_2O + 7.52N_2`

  • Air/Fuel ratio

Atomic weight of C = 12.01 g/mol
Atomic weight of H = 1.00 g/mol
Atomic weight of O = 16 g/mol

Molecular weight of CH4 = 12.01 + 4(1) = 16.01

For stoichiometric combustion,

`AF = "Mass of air"/"Mass of Fuel" = (2(32 + 3.76"x"28))/(16) = 17.16` . . . . (1)

  • Combustion Efficiency

`" "eta_(comb) = "Heat released"/"LHV of fuel" = (H_("reactants") - H_("Products"))/(m_(f) "LHV")`

`therefore eta_(comb) = ( [m_fh_(f(298K)) + m_ah_(a("pre-heated")) ] - [ (m_f + m_a)h_("exh"(1700K)) ] )/ (m_f"LHV")`

`therefore eta_(comb) = ( m_(f)[h_f + (m_a/m_f) h_a ] - m_(f)[1 + (m_a/m_f)]h_("exh") )/ (m_f"LHV")`

`therefore" "eta_(comb) = ( (h_f + AF*h_a) - (1 + AF)h_("exh") )/"LHV"` . . . . (2)

  • Fuel saved

Energy released by `1" Kg"` of fuel at STP(Standard Temperature Pressure) `= (1*LHV*eta_(STP))" MJ"`

At temperature `T" K"`, `x" Kg"` of fuel will produce the same energy `= (x*"LHV"*eta_(T))" MJ"`

`therefore x = eta_(STP)/eta_(T)" "Kg`

`therefore "fuel saved" = 1 - x = (1 - eta_(STP)/eta_(T))" "Kg`

`therefore "Perentage of fuel saved" = 100*(1 - eta_(STP)/eta_(T))""%` . . . . (3)

# Coding approach:

  1. First, a 'Solution' class of Cantera is created using the 'gri30.cti' file.
  2. The air-Fuel ratio obtained from eq.(1) is stored in a variable AF.
  3. Next, three objects fuel, air & exh ('exhaust') of class 'Quantity' are created using gas object.
  4. air and fuel objects are initialized at STP conditions while exh is initialized with 1700 K & 1 atm pressure.
  5. Combustion efficiency as STP is calculated using eq.(2).
  6. In the for loop, the temperature of air is varied from 298.15 K to 600 K. In loop body, AFT(Adiabatic Flame Temperature) is computed using Cantera's 'Equilibrate()' method. Combustion efficiency is computed assuming `CO_2, H_2O & N_2` as the only products using eq.(2) Also, fuel_saved_arr is computed using eq.(3).
  7. The results are plotted as subplots in the same figure.
# --------------------------------------------------------------------------------------------------------
# Made By: Kshitiz Sahai
# --------------------------------------------------------------------------------------------------------
import cantera as ct
import numpy as np
import matplotlib.pyplot as plt

gas = ct.Solution('gri30.cti')

AF          = 17.16                                     # Air/Fuel ratio
fuel        = ct.Quantity(gas)
fuel.TPX    = 298.15, ct.one_atm,'CH4:1'
fuel.moles  = 1

air         = ct.Quantity(gas)
air.TPX     = 298.15, ct.one_atm, {'O2':0.21, 'N2':0.79}
air.moles   = 2/0.21

exh_g       = ct.Quantity(gas)
eg_mol      = fuel.moles + air.moles
exh_g.TPX   = 1700, ct.one_atm, {'CO2':1/eg_mol, 'H2O':2/eg_mol, 'N2':7.524/eg_mol}

eff_STP= (fuel.h + AF*air.h - (1+AF)*exh_g.h)/(50*10**6)

T_air_arr   = np.arange(298.15,600.15,4)
aft_arr     = np.array([])
eff_arr    = np.array([])
fuel_saved_arr = np.array([])

for T_air in T_air_arr:

    air.TP = T_air, ct.one_atm

    # The following step is used to apply the right molar balance
    M = air + fuel
    M.equilibrate('UV')
    aft_arr     = np.append(aft_arr, M.T)

    eff_T       = (fuel.h + AF*air.h - (1+AF)*exh_g.h)/(50*10**6)
    eff_arr    = np.append(eff_arr, eff_T )
    fuel_saved_arr  = np.append(fuel_saved_arr, 100*(1 - eff_T/eff_STP))

fig = plt.figure(figsize=(18,5), layout='tight')

# PART I: Effect of preheating on the adiabatic flame temperature
ax1 = fig.add_subplot(1, 2, 1)
ax1.plot(T_air_arr, aft_arr, 'b.-', label='AFT')
ax1.set_xlabel('Pre-heating temperature [K]$\longrightarrow$')
ax1.set_ylabel("Adiabatic Flame Temperature [K]$\longrightarrow$")
ax1.grid(linestyle='-.')
ax1.legend()

# PART II: effect of preheating on the Combustion efficiency
ax2 = fig.add_subplot(1, 2, 2)
eff_arr = eff_arr*100                                         # Converting fractions to percents
ax2.plot(T_air_arr, eff_arr, 'r.-', label='$eta_{comb}$')
ax2.set_xlabel('Pre-heating temperature [K]$\longrightarrow$')
ax2.set_ylabel('Combustion efficiency [%]$\longrightarrow$')
ax2.tick_params(axis='y')
ax2.grid(linestyle='-.')
ax2.legend(loc='upper center')

ax2_T = ax2.twinx()
ax2_T.plot(T_air_arr, fuel_saved_arr, 'g.-', label='Fuel saved')
ax2_T.set_ylabel("$\longleftarrow$Fuel saved (w.r.t. $T_{STP}$)  [%]")
ax2_T.tick_params(axis='y')
ax2_T.legend(loc='lower center')

fig.show()
# ----------------------------------------END-------------------------------------------------------------

# Results & inferences:

Effect of pre-heating air on AFT:

  • It can be seen that pre-heating air increases AFT linearly.
  • This increase is because of an increase in the internal energy `(DeltaU)` of the system (fuel + air) as the pre-heating temperature increases.
  • Also, the heated air reduces the activation energy needed to start combustion.

Effect of pre-heating air on combustion efficiency:

  • As pre-heating temperature increases combustion efficiency increases linearly.
  • This is due to increasing enthalpy change `(DeltaH)` with pre-heating temperature.
  • The green plot shows the percentage of fuel saved with reference to STP conditions. So, at 500 K with `eta_(T)~~41%` fuel savings are `~~21%` which means, `21%` less fuel is burned to obtain the same power output.

Furnace exit temperature:

For this study, one of the most important assumptions was a constant furnace exit temperature. And this is impractical, as the furnace doesn't operate at the same temperature throughout the duty cycle. This is due following facts:

  • When the furnace is fired up it goes through a transient state during which temperature increases. Only at a steady-state, do the temperature readings at exhaust show fluctuations about a mean value.
  • The cause of fluctuations can be numerous like ambient temperature variations, depositions on recuperator, etc as no mechanical system is perfect.
  • Also, the energy demand for furnaces varies depending on the purpose of operations (power generation, heat treatment, etc).
Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.