Project

Combustion Efficiency Calculation of a Heat Recuperator using Python and Cantera

OBJECTIVE:

To write a program to determine combustion efficiency when a heat recuperator device is involved.

Questions:

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?

a. Change pre-heating from 298 to 600K

b. 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).

a. Write the formula for combustion efficiency.

b. Plot the effect of pre-heat temperature on combustion efficiency.

c. Is it right or wrong to assume a fixed furnace exit temperature? Explain your answer

Assumptions:

LHV of combustion of Methane as 50 MJ/KG.

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.

Exhaust gas heat is extracted and used to preheat the fresh air before entering the chamber. Hence, waste heat energy is been used with the help of heat recuperator, increasing the efficiency of the system.

1. The effect of preheating on the adiabatic flame temperature.

Approach:

We created an object called 'gas' which is an instance of a 'Solution' class.

We also created different objects for air, fuel and product with 'Quantity' as a class.

The mixture of fuel and oxidizer are kept at Constant pressure 'HP' and an 'auto' solver is used.

Programme:

"""
code to determine the effect of pre-heating temperature on the adiabatic flame temperature
"""

import cantera as ct
import matplotlib.pyplot as plt

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

# fuel(methane)
B = ct.Quantity(gas)
B.TPX = (298.15,ct.one_atm,{'CH4':1})
B.moles=1
print(B.mass_fraction_dict())


#Temperatures
T_ini=298 #k
T_final=600 #k

# Oxidizer(Air)
A = ct.Quantity(gas)

for T in range(T_ini,T_final):
	A.TPX = (T,ct.one_atm,{'O2':0.21, 'N2':0.79})
	A.moles = 2/0.21

	print(A.mass_fraction_dict())

	M=A+B #mass balance
	M.equilibrate('HP','auto')
	if T%10 is 0:
		plt.plot(T,M.T,'o',color = 'green')
	
plt.xlabel('Preheating Temperature')
plt.ylabel('Adiabatic Flame Temperature')
plt.title('Effect of Pre-heating Temperature on AFT')
plt.grid()
plt.show()

Results:

For the first part of the project, i.e. determining the relation between the Preheating temperature and AFT, we can clearly see from the plot below as the preheating temperature increases, the Adiabatic Flame temperature also increases with the positive slope. Hence, AFT and preheating temp. are directly proportional to each other.

2. The effects of pre-heat temperature on combustion efficiency.

Approach:

We created an object called 'gas' which is an instance of a 'Solution' class.

We also created different objects for air, fuel and product with 'Quantity' as a class.

We determined the Lower Heating value by the enthalpy difference of reactants and products.

Stochiometric mixture is used i.e. phi value is kept as 1.

The preheating temperature 'T' is kept variable which ranges from 298k to 600 k using the for the loop.

The incoming air and fuel are kept at STP and the product exhaust temperature is assumed to be 1700k.

Efficiency is been calculated with the following formula:

where Q specific is the specific work done and LHV is the Lower Heating Value.

Programme:

"""
code to determine the effect of pre-heating temperature on the conmbustion efficiency
combustion products are CO2, H2O and N2
"""

import cantera as ct
import matplotlib.pyplot as plt

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


#reactant
B1_R = ct.Quantity(gas)
B1_R.TPX = (298.15,ct.one_atm,{'CH4':0.095,'O2':0.1901,'N2':0.7148})
B1_R.moles= 2/0.21 +1

#product
A1_P = ct.Quantity(gas)
A1_P.TPX = (298.15,ct.one_atm,{'CO2':0.095,'H2O':0.1901,'N2':0.7148})
A1_P.moles = 2/0.21 +1

LHV = B1_R.enthalpy - A1_P.enthalpy


#Temperatures
T_ini=298 #k
T_final=600
LHV_new=50

for T in range(T_ini,T_final):
	if T%10 is 0:
		phi=1 #stoichiometric mixture
	
	#T = T_ini + (T_final - T_ini) *T/LHV_new

	#air
		A=ct.Quantity(gas)
		A.TPX=T,ct.one_atm,{'O2':0.21,'N2':0.79}
		A.moles=2/0.21*phi
		M_air= A.mass 

	#fuel
		B2_F = ct.Quantity(gas)
		B2_F.TPX = 298.15,ct.one_atm,{'CH4':1}
		B2_F.moles = 1
		M_fuel = B2_F.mass

	#product
		A2_P = ct.Quantity(gas)
		A2_P.TPX = 1700,ct.one_atm,{'CO2':0.095,'H2O':0.1901,'N2':0.7148}
		A2_P.moles = 1/0.21 *phi +1
		M_prod = A2_P.mass 

		H_air = A.enthalpy
		H_fuel =  B2_F.enthalpy
		H_prod =  A2_P.enthalpy

		Air_fuel=M_air/M_fuel

		Qout= Air_fuel*H_air+H_fuel - (Air_fuel+1)*(H_prod)
		
		Qspec=Qout/M_fuel
		effic_gain = Qspec/LHV

		plt.plot(T,effic_gain,'o',color = 'green')

plt.xlabel('Pre Heat Temperature')
plt.ylabel('Efficiency')
plt.title('Effect of pre-heating temperature on the efficiency')
plt.grid()
plt.show()

Result:

From the plots, we can infer that the increase in preheats temperature of the air, the combustion efficiency as well as adiabatic flame temperature increases. i.e. the more the preheating temperature, it is beneficial for the system to increase the output.

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.