Challenge

Week 4 - Combustion Efficiency Calculation after Preheating

INTRODUCTION

The most important method by which power is generated is by burning fossil fuels. Burning or combustion is a process where the hydrocarbon fuels reacts with oxygen in the atmospheric air and generates heat as well as other products of combustion.The combustion of fossil fuels results in the generation of heat energy which used for the generation of electricity, the methods in which the electric power is generated depends on the powerplant. But it is very important to note that a large amount of heat generated while combustion is wasted with the flue gases. So to utilize that heat energy wasted with the flue gases, the flue gases is used to preheat the incoming air which is used for combustion of the fuel.

It is important to note that the Adiabatic flame temperature depends on the temperatures of the reactants, so if the initial temperature of the air is changed by preheating the adiabatic flaame temperature also changes. The effect of preheat on AFT and the combustion efficiency can be analysed using the cantera module in python. It is important to note that fuel can be saved by preheating since a reasonable amount of heat energy is saved when the heat energy of the flue gases are used.

AIM

The aim of this project is to study the effect of preheating on adiabatic flame temperature and also its effect on the fuel efficiency.

The preheating temperature is varied between 298 and 600K,

RESULTS AND DISCUSSION

The code for determining the effect of preheating on the AFT is given below:

import cantera as ct
import matplotlib.pyplot as plt
import numpy as np

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

# Methane fuel

fuel = ct.Quantity(gas)
fuel.TPX =298,ct.one_atm,{'CH4':1}
fuel.moles =1

#Air
T_min = 298
T_max = 600
N = 20

air =ct.Quantity(gas)
Temp_air = np.linspace(T_min,T_max,N)

for Temp in Temp_air:
    air.TPX = Temp,ct.one_atm,{'O2':0.21,'N2':0.79}
    air.moles = 2/0.21
    M = fuel + air 
    M.equilibrate('HP','auto')
    plt.plot(Temp,M.T,'-o',color='red')
    

plt.title('Effect of preheating on the Adiabatic Flame Temperature(AFT) of $CH_4$')
plt.xlabel('Preheating Temperature (K)')
plt.ylabel('Adiabatic flame Temperature (K)')
plt.grid(True)
plt.show()

The stepwise explanation of the above code is as shown below:

import cantera as ct
import matplotlib.pyplot as plt
import numpy as np

In the above snippet of code the required libraries are imported.

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

# Methane fuel

fuel = ct.Quantity(gas)
fuel.TPX =298,ct.one_atm,{'CH4':1}
fuel.moles =1

The variable is an instance of the solutions class, fuel is defined as the instance of the Quantity class. The initial temperature, pressure and the mole fraction of the fuel is initialised using the fuel.TPX command. The number of moles of fuel is set as 1.

#Air
T_min = 298
T_max = 600
N = 20

air =ct.Quantity(gas)
Temp_air = np.linspace(T_min,T_max,N)

for Temp in Temp_air:
    air.TPX = Temp,ct.one_atm,{'O2':0.21,'N2':0.79}
    air.moles = 2/0.21
    M = fuel + air 
    M.equilibrate('HP','auto')
    plt.plot(Temp,M.T,'-o',color='red')
    

The preheat temperature of the air is varied between 298 and 600 K. The initial temperature is varied using a for loop and the mixture is created using the quantity class to calculate the adiabatic flame temperature. The AFT as a function of the preheat is plotted using the plot() function in the pyplot module of the matplotlib library.

plt.title('Effect of preheating on the Adiabatic Flame Temperature(AFT) of $CH_4$')
plt.xlabel('Preheating Temperature (K)')
plt.ylabel('Adiabatic flame Temperature (K)')
plt.grid(True)
plt.show()

The title, xlabel, ylabel etc. for the plot is specified using the above snippet of code. The output of the above code is given below:

From the above picture it can be seen that the AFT increases as the preheat is increased.

The effect of preheating on the efficiency of the reaction is analysed using the following code. The LHV of the fuel is assumed to be to be 50MJ/kg. The exit temperature of the products are set to be 1700K and the products of combustion are assumed to be `CO_2, H_2O and N_2`.

The reaction can be written as `CH_4 + 2(O_2 + 3.76N_2) -> CO_2 + 2H_2O + 7.52N_2`. From this it can be seen that the number of moles of air = 9.52 and the number of moles of the product is 10.52. The mole fraction of `CO_2` can be calculated as `\chi_{CO_2}= \frac{1}{10.52}=0.095` similarly `\chi_{H_2O}= \frac{2}{10.52}=0.1901` and `\chi_{N2}= \frac{7.52}{10.52}=0.7148`

The heat released after the combustion can be calculated using the formula given below:

`Q_r = \dot{m}_f\timesh_f + dot{m}_a\timesh_a - (\dot{m}_f +\dot{m}_a)\timesh_p`

where the subscripts `f,a \& p` represents the fuel, air and the products of combustion respectively.

The theoretical heat supplied can be calculated to be:

`Q_s =m_f\times LHV`

The efficiency `\eta =\frac{Q_r}{Q_s}` = `\frac{\dot{m}_f\timesh_f + dot{m}_a\timesh_a - (\dot{m}_f +\dot{m}_a)\timesh_p}{\dot{m}_f\timesLHV`

which we can write as `eta = \frac{h_f + dot{m}_a/\dot{m}_f\timesh_a - (1 +\dot{m}_a/\dot{m}_f)\timesh_p}{LHV}` and `\dot{m}_a/\dot{m}_f = AF` the air fuel ratio.

So we can write

`eta = \frac{h_f + AF\timesh_a - (1 +AF)\timesh_p}{LHV}`

The code is given below:

import cantera as ct
import matplotlib.pyplot as plt
import numpy as np

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

# Methane fuel

fuel = ct.Quantity(gas)
fuel.TPX =298,ct.one_atm,{'CH4':1}
fuel.moles =1
mass_fuel = fuel.mass

# Products of combustion

products = ct.Quantity(gas)
products.TPX = 1700,ct.one_atm,{'CO2':0.095,'H2O':0.1901,'N2':0.7148}
products.moles =10.52
mass_product = products.mass


#Air
T_min = 298
T_max = 600
N = 20
LHV = 50e6

air = ct.Quantity(gas)
Temp_air = np.linspace(T_min,T_max,N)

for Temp in Temp_air:
    air.TPX = Temp,ct.one_atm,{'O2':0.21,'N2':0.79}
    air.moles = 2/0.21
    mass_air = air.mass
    
    h_air = air.enthalpy_mass
    h_fuel = fuel.enthalpy_mass
    h_products = products.enthalpy_mass
    
    AF = mass_air/mass_fuel
    
    Q = AF*h_air + h_fuel - (AF+1)*h_products
    
    Qs = LHV
    
    eta = (Q/Qs)*100
    
    plt.plot(Temp,eta,'*',color='red')
    
    
    
    
   
plt.grid()
plt.xlabel('Preheating Temperature (K)',fontsize =14)
plt.ylabel(r'Efficiency $\eta $ (%)',fontsize=14)
plt.title('Efficiency v/s Preheating Temperature',fontsize = 16)
plt.savefig('effvspheat.png')
plt.show()

The stepwise explanation of the codeis shown below:

import cantera as ct
import matplotlib.pyplot as plt
import numpy as np

In the above snippet of code the required libraries are imported.

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

# Methane fuel

fuel = ct.Quantity(gas)
fuel.TPX =298,ct.one_atm,{'CH4':1}
fuel.moles =1
mass_fuel = fuel.mass

# Products of combustion

products = ct.Quantity(gas)
products.TPX = 1700,ct.one_atm,{'CO2':0.095,'H2O':0.1901,'N2':0.7148}
products.moles =10.52
mass_product = products.mass


In the above snippet of code, gas is an instance of the solutions class. The fuel and the products are initialised the conditions as explained before.

#Air
T_min = 298
T_max = 600
N = 20
LHV = 50e6

air = ct.Quantity(gas)
Temp_air = np.linspace(T_min,T_max,N)

for Temp in Temp_air:
    air.TPX = Temp,ct.one_atm,{'O2':0.21,'N2':0.79}
    air.moles = 2/0.21
    mass_air = air.mass
    
    h_air = air.enthalpy_mass
    h_fuel = fuel.enthalpy_mass
    h_products = products.enthalpy_mass
    
    AF = mass_air/mass_fuel
    
    Q = AF*h_air + h_fuel - (AF+1)*h_products
    
    Qs = LHV
    
    eta = (Q/Qs)*100
    
    plt.plot(Temp,eta,'*',color='red')
    
    
    
    
   
plt.grid()
plt.xlabel('Preheating Temperature (K)',fontsize =14)
plt.ylabel(r'Efficiency $\eta $ (%)',fontsize=14)
plt.title('Efficiency v/s Preheating Temperature',fontsize = 16)
plt.savefig('effvspheat.png')
plt.show()

In the above snippet of code, the preheating of air is achieved by setting the initial temperature which is changed using a for loop. For every value of the preheat, the efficiency is calculated in the for loop. The matplotlib library is used to plot the efficiency v/s temperature graph. The output of the above code is shown below.

From the above image it is clear that as the preheat temperature increases, the efficiency also increases. It is also important to note that the exit temperature of the furnace is kept as 1700K. It is important to control the exit temperature since excessive high temperature can damage the furnace.

It is very important to note that the exit temperature from the furnace must be constant or in other words a fixed value. The value depends on many factors including the material properties. It is a correct practice of fixing the exit temperature.

CONCLUSION

It can be seen that as the preheating is increased, the AFT also increases. It is also important to note that the efficiency of the combustion process also increases with the preheating temperature.

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.