Week 4.2 - Combustion Efficiency Calculation after Preheating
Combustion Efficiency & Fuel-saving Calculation after various Preheating Temperatures
Aim:
To find the effect of preheating on the adiabatic flame temperature, Combustion Efficiency & Fuel-saving Calculation after Preheating
Description:
A furnace is used to burn Methane and Air Mixture. A recuperator is connected to this furnace to recover some energy.
Recuperator
A recuperator is a special purpose counter-flow energy recovery heat exchanger positioned within the supply and exhaust air streams of an air handling system, or in the exhaust gases of an industrial process, in order to recover the waste heat. Generally, they are used to extract heat from the exhaust and use it to preheat air entering the combustion system. In this way they use waste energy to heat the air, offsetting some of the fuel, and thereby improves the energy efficiency of the system as a whole.
Procedure:
- Import all required libraries and modules.
- Create a gas instance from solution class from cantera library.
- Declare preheating temperature range from 298 to 600K.
- Assign the quantities amount of fuel & air going to participate in the combustion process, along with temperatures and pressures.
- Mix the air and fuel and calculate AFT for the mixture after combustion.
- Plot the results.
Manin program to calculate AFT for various preheating temperatures.
# Sample code to check effect of Air preheating on the adiabatic flame temperature for methane combustion
import math
import numpy as np
import matplotlib.pyplot as plt
import cantera as ct
gas = ct.Solution('gri30.cti') #gas object is the instance of solution class
# Pre- Heating Temperature range
T_pre = np.linspace(298,600,11)
AFT_T = []
print("Pre heating temperature K ","Adiabatic Flame Temperature K")
for T in T_pre:
# Air
air = ct.Quantity(gas) # air object is the instance of Quantity class
air.TPX = T,ct.one_atm,{'O2':0.21, 'N2':0.79} # giving input parameters temperature, pressure & mole fraction to air
air.moles = 9.2
# print("Mole fraction's of species in air =", air.mole_fraction_dict()) # prints mole fractions of elements in the species A(air)
# print("Mass fraction's of species in air =", air.mass_fraction_dict()) # prints mass fractions of elements in the species A(air)
# Fuel
fuel = ct.Quantity(gas)
fuel.TPX= 298.15,ct.one_atm,'CH4:1' # there is no importance to 1546 for single fuel combustion. it may be any number except 0
fuel.moles = 1
# print("Mole fraction's of species in fuel =", fuel.mole_fraction_dict()) # prints mole fractions of elements in the species B(fuel)
# print("Mass fraction's of species in fuel =", fuel.mass_fraction_dict()) # prints mass fractions of elements in the species B(fuel)
# mixture
Mix = air + fuel #quantitative air + fuel mixer
Mix.equilibrate('HP', 'auto')
AFT_for_pre_heat = Mix.T
print( T ," ", Mix.T)
# print("mass of mixture = ", Mix.mass, 'g')
# print("Mole fraction's of species in air fuel mixture =", Mix.mole_fraction_dict()) # prints mole fractions of elements in the species air fuel mixture
# print("Mass fraction's of species in air fuel mixture =", Mix.mass_fraction_dict()) # prints mass fractions of elements in the species air fuel mixture
AFT_T.append(AFT_for_pre_heat)
# print(AFT_T)
# Plotting results
plt.plot(T_pre,AFT_T,marker='o')
plt.xlabel('Preheated temperature of air in K')
plt.ylabel('Adiabatic Flame Temperature in K')
plt.title('''Effect of Air preheating Temperature on the
\n Adiabatic Flame Temperature for methane combustion''')
plt.grid('on')
plt.show()


Conclusion (or) Result explanation:
What is the effect of preheating on the adiabatic flame temperature?
As the Pre-heating temperature increase, the Adiabatic Flame Temperature of fuel combustion also increases linearly.
`AFT prop T_(pre)`
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Question 2
Assumptions:
Furnace exit temperature = 1700K
LHV of combustion of Methane = 50 MJ/KG.
Combustion products are CO2, H20, and N2
Preheating temperature range = 298-600K
Stiochometric Combustion = `CH_4 + 2(O_2 + 3.76 N_2) -> CO_2 + 2 H_2O + 7.52 N_2`
- Write the formula for combustion efficiency
Combustion efficiency = `eta = Q/(m_f*LHV)`
`Q = m_a*h_a+m_f*h_f-m_p*h_p`
a = air
f = fuel `CH_4`
p = Products
Fuel_saving = `(eta[T_(text(preheat))]-eta[T_(text(Room))])/(eta[T_(text(preheat))])*100`
procedure:
- Import all required libraries and modules.
- Create a gas instance from the solution class from the cantera library.
- Declare preheating temperature range from 298 to 600K.
- Assign the quantities amount of fuel & air going to participate in the combustion process, along with preheating temperatues, furnace exit temperature, and pressures.
- calculate combustion Efficiency and fuel saving for various preheating temperatures.
- plot the results & drawing conclusions from the results obtained.
Manin program to calculate Efficiency and fuel-saving of methane combustion for various preheating temperatures
# Sample code to check effect of Air preheating on the combustion efficiency & fuel saving for methane combustion
import math
import numpy as np
import matplotlib.pyplot as plt
import cantera as ct
gas = ct.Solution('gri30.cti') #gas object is the instance of solution class
n = 11
# Pre- Heating Temperature range
T_pre = np.linspace(298,600,n)
# Assuming the LHV of combustion of Methane as 50 MJ/KG.
LHV_methane = 50e6 # J/Kg
# Assuming that the furnace exit temperature is 1700K
T_out = 1700 # K
# CH4 + 2(O2 + 3.76 N2) -> CO2 + 2 H2O + 7.52 N2
Q_out = []
Efficiency = []
Fuel_saving = []
i = 0
for T in T_pre:
# Air
air = ct.Quantity(gas) # air object is the instance of Quantity class
air.TPX = T,ct.one_atm,{'O2':0.21, 'N2':0.79} # assigning input parameters temperature, pressure & mole fraction to air
air.moles = 9.2 # assigning number of moles of air
air_h = air.enthalpy_mass # enthalpy of air j/Kg
air_mass = air.mass # mass of air Kg
# Fuel
fuel = ct.Quantity(gas)
fuel.TPX= 298.15,ct.one_atm,{'CH4':1}
fuel.moles = 1 # assigning number of moles of air
fuel_h = fuel.enthalpy_mass # enthalpy of air j/Kg
fuel_mass = fuel.mass # mass of air Kg
# products
products = ct.Quantity(gas)
products.TPX= T_out,ct.one_atm,{'CO2':0.095,'H2O':0.190,'N2':0.714}
products.moles = 10.52 # moles
products_h = products.enthalpy_mass # enthalpy of air j/Kg
products_mass = products.mass # mass of air Kg
Q_out.append(air_mass*air_h + fuel_mass*fuel_h - products_mass*products_h)
Efficiency.append((Q_out[i]/(fuel_mass*LHV_methane))*100)
Fuel_saving.append(((Efficiency[i]-Efficiency[0])/Efficiency[i])*100)
if i == 0: print('T_pre K Q Kj Efficiency % Fuel_saving %')
print(T,' ',Q_out[i],' ',Efficiency[i],' ',Fuel_saving[i])
i = i+1
print("overall fuel saving = ",((Efficiency[-1]-Efficiency[0])/Efficiency[-1])*100)
# Plotting results
plt.figure(1)
plt.plot(T_pre,Efficiency, marker='p')
for a,b in zip(T_pre,Efficiency):
plt.text(a, b, str(b))
plt.xlabel('Preheated temperature of air in K')
plt.ylabel('Efficiency %')
plt.title('Preheated temperature V/S Efficiency')
plt.grid('on')
plt.figure(2)
plt.plot(T_pre[1:n],Fuel_saving[1:n], marker='o')
for a,b in zip(T_pre[1:n],Fuel_saving[1:n]):
plt.text(a, b, str(b))
plt.xlabel('Preheated temperature of air in K')
plt.ylabel('Fuel saving %')
plt.title('Preheated temperature V/S Fuel Saving')
plt.grid('on')
plt.show()
- Plot the effect of pre-heat temperature on combustion efficiency



Conclusions:
As the Preheating temperature increases Combustion Efficiency also increases linearly.
- Does preheating help with fuel-saving?
Yes, Preheating helps with fuel-saving. We increased preheating temperature from 298K to 600K fuel saving = 23.29%.
- Is it right or wrong to assume a fixed furnace exit temperature?
strictly speaking, it is wrong to fix furnace exit temperature, because furnace exit temperature will depend on many factors like quality of fuel and air used, combustion rate, number of species participated, equivalence ratio, etc. at the beginning level to reduce the complexity of the problem we fixed few parameters in those furnace exit temperature is one.