Challenge

Week 4.2 - Combustion Efficiency Calculation after Preheating

Aim:

Combustion Efficiency Calculation after Preheating

Objective

A furnace is used to burn Methane and Air Mixture. A recuperator is connected to this furnace to recover some energy.

  1. What is the effect of preheating on the adiabatic flame temperature?
    1. Change pre-heating from 298 to 600K
    2. Explain your results
  2. Does preheating help with fuel saving? If yes, how does combustion efficiency go up as a function of pre-heating temperature? Assume that the furnace exit temperature is 1700K (For this case assume that the combustion products are CO2, H20, and N2).
    1. Write the formula for combustion efficiency
    2. Plot the effect of pre-heat temeprature on combustion efficiency
    3. Is it right or wrong to assume a fixed furnace exit temperature
  • The effect of preheating in AFT:

Preheating the air before it enters the furnace makes the adiabatic flame temperature of the product to increase. It behaves almost as a linear function.

In this way combustion can take place sooner and not so much energy needs to be employed in heating the air and therefore it can be used for further heating the products. This is going to increase the temperature when air is preheated.

The python code is scripted below

"""
Sample code to vary the temperature of air and fuel

"""
import cantera as ct
import matplotlib.pyplot as plt


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

fuel=ct.Quantity(gas)
fuel.TPX=298.15, ct.one_atm,'CH4:1'
fuel.moles=1# by default it is the no of moles in 1g of air
print(fuel.mass_fraction_dict())


n=50
Tpre_min=298
Tpre_max=600

for i in range (0,n):
	Tpre=Tpre_min+(Tpre_max-Tpre_min)*i/n
	
	air=ct.Quantity(gas)
	air.TPX= Tpre,ct.one_atm,{'O2':0.21,'N2':0.79}
	phi=1
	air.moles= 2*4.76/phi #9.523


	# The following step is used for right molar balance equations
	
	air.constant=fuel.constant='HP'
	mix= air+fuel
	mix.equilibrate ('HP')
	print(mix.T)
	plt.plot(Tpre,mix.T,'*',color='red')


plt.xlabel('Preheating [K]')
plt.ylabel('Adiabatic flame temperature in [K]')
plt.title('Effect of preheating in AFT')
plt.grid('on')
plt.show()

Graphical representation

  • Combustion efficiency of the heat recuperator:

First of all, the combustion efficiency referred here is calculated as the ratio from the specific heat q extracted from the reaction to the LHV.

Assuming adiabatic furnace, Qout= enthalpy of reactants – enthalpy of products.

LHV is the maximum extractable energy from the chemical reactions at STP.

This means that if we keep on increasing the preheat temperature without any constraint, the efficiency of the system can be greater than 1.

However the air preheating temperature is dependent upon the exhaust gas temperature after the combustion, and we know that this will be less than AFT, as there will be some work done and losses. Therefore a realistic estimation after certain approximation is that the exhaust temperature is set to a value of 1700K.

Computing of heat Q= mass of air * enthalpy of air + mass of fuel * enthalpy of fuel – mass of product * enthalpy of product

Qsp= Q/mass of fuel

The python code is scripted below

"Study of effect of Preheating through Recuperator on Combustion Efficiency"

# Reaction: CH4+2(O2+3.76N2) => CO2+2H2O+7.52N2


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

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

'''
Calculating moles 

# Product moles = n_total = 1+2+7.52 = 10.52

n_CO2 = 1/n_total = 0.096 ; n_H2O = 2/n_total = 0.1901 ; n_N2 = 7.52/n_total = 0.7148 

'''

# Creating fuel and air quantities reacting in the chamber
fuel = ct.Quantity(gas)
fuel.TPX = 298.15, ct.one_atm,'CH4:1'
fuel.moles = 1
mixture_fuel = fuel.mass #mixture in sense total mass
Air = ct.Quantity(gas)

#Creating products formed during the combustion process
prod = ct.Quantity(gas)
prod.TPX = 1700, ct.one_atm,{'CO2':0.095,'H2O':0.1901, 'N2':0.7148}
prod.moles = 10.52
mixture_prod = prod.mass #mixture in sense total mass

Tpre_min = 298
Tpre_max = 600
LHV = 50e6
eff = []
fuel_saving = []
T_ph = []

for T_pre in range(Tpre_min,Tpre_max):
	Air = ct.Quantity(gas)
	Air.TPX = T_pre,ct.one_atm,{'O2':0.21,'N2':0.79}
	Air.moles = 9.52
	mixture_Air = Air.mass #mixture in sense total mass

	h_air = Air.enthalpy_mass
	h_fuel = fuel.enthalpy_mass
	h_prod = prod.enthalpy_mass




	Q = mixture_Air*h_air+mixture_fuel*h_fuel-mixture_prod*h_prod
	Qsp = Q/mixture_fuel #sp = specific work
	η = (Qsp/LHV ) 
	if T_pre==298:
		η_0=η
	secured_fuel = 100*(1-(η_0/η))
	fuel_saving.append(secured_fuel)# The append() method in python adds a single item to the existing list. It doesn’t return a new list of items but will modify the original list by adding the item to the end of the list.
	
	T_ph.append(T_pre)
	eff.append(η)



	if (T_pre%2==0):
		plt.figure(1)
		plt.plot(T_pre,η,'.',color='teal',markersize=5)

plt.figure(2)
plt.plot(T_ph,fuel_saving,linewidth=1,linestyle='dashed',marker='o',markerfacecolor='blue',markersize=1.5)
plt.xlabel('Pre-Heat temperature(K)')
plt.ylabel('Percentage Fuel Saved')
plt.title('Fuel Saving with Pre Heating')
plt.grid(True)
plt.figure(1)
plt.plot(T_pre,η,color='blue')
plt.xlabel('Pre Heat Temperature(K)')
plt.ylabel('Combustion Efficiency')
plt.title('Effect of Pre Heating on Combustion Efficiency')
plt.grid(True)
plt.show()

Graphical representation

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.