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.