All Courses
All Courses
Courses by Software
Courses by Semester
Courses by Domain
Tool-focused Courses
Machine learning
POPULAR COURSES
Success Stories
Adiabatic flame temperature: The temperature of the products in adiabatic combustion of fuel without applying for any shaft work is defined as the “Adiabatic Flame Temperature”. In a combustion process, the heat produced during the exothermic chemical reaction…
pritam gole
updated on 25 Jun 2020
Adiabatic flame temperature:
The temperature of the products in adiabatic combustion of fuel without applying for any shaft work is defined as the “Adiabatic Flame Temperature”.
In a combustion process, the heat produced during the exothermic chemical reaction is released to their product and the temperature of the products is raised. There is no possibility for dissipation of the heat to the surrounding and the process will be adiabatic as there is no heat loss to the surrounding. As a result, the temperature of the products suddenly increases and it produces a flame. This will heat up the product gases in flame region and the temperature rise will be maximum. This highest temperature is known as the adiabatic flame temperature.
The temperature rise depends on the amount of excess air used or the air-fuel ratio. The flame temperature has the highest value for using pure oxygen gas and it decreases by using air. So, the exact stoichiometric air is to be supplied for better result. With a too large amount of excess air, the flame temperature will be reduced. When the heat loss to the environment or diluted by the inert gases and there is incomplete combustion. So, the temperature of the products will be less. The flame temperature is determined from the energy balance of the reaction at equilibrium. There are two types of adiabatic flame temperature:
1. Constant pressure adiabatic flame temperature
2. Constant volume adiabatic flame temperature.
Adiabatic flame temperature Calculation.
From the first law of thermodynamics at a control volume,
At Constant Pressure; ΔH=ΔU+pΔV+VΔp
Under Adiabatic conditions, Qp = 0, ΔH = 0
For equilibrium conditions,
∑H_reactants=∑H_Products
At Constant Pressure; Qv=ΔU
Under Adiabatic conditions, Qv = 0 = ΔH -nRT
For equilibrium conditions,
∑H_reactants - ∑H_Products - R*∑(nreactants⋅Tstd−nProducts⋅Tad)
Combustion Stoichiometry:
A stoichiometric mixture contains the exact amount of fuel and oxidizer such that after combustion is completed, all the fuel and oxidizer are consumed to form products. This ideal mixture approximately yields the maximum flame temperature, as all the energy released from combustion is used to heat the products.
For stoichiometric methane combustion with air, the balanced reaction equation reads:
CH4+2⋅(O2+3.76⋅N2)=1⋅CO2+2⋅H2O+7.52⋅N2
or In general, we can express the stoichiometric equation as
CxHy + (x +y/4)(O2 + 3.76N2) = xCO2 + (y/2)H2O + (x +y/4)N2
The amount of air required for combusting a stoichiometric mixture is called stoichiometric or theoretical air. The above formula is for a single-component fuel and cannot be applied to a fuel consisting of multiple components.
When the fuel is not getting completely burned, the product contains other gases also like O2, H2, CO, OH, etc. In practice, fuels are often combusted with an amount of air different from the stoichiometric ratio. If less air than the stoichiometric amount is used, the mixture is described as fuel-rich. If excess air is used, the mixture is described as fuel lean. The common method to describe the mixture is equivalence ratio(phi,ϕ).
The equivalence ratio is the ratio of actual fuel-air ratio to the stoichiometric fuel-air ratio. So, if ϕ<1, the mixture is considered lean and if ϕ>1, it's rich.
For Lean Mixture(ϕ<1)
For Rich Mixture(ϕ>1)
In the challenge, it has been asked to perform the two types of AFT analysis with few variations. In the first case, constant volume analysis of Adiabatic flame temperature is being asked and the effect of equivalence ratio on AFT also to be performed.
Case 1: Effect of equivalence ratio on AFT
For this case, both the python and Cantera analysis is done and presented on the same plot for comparison. The combined code for AFT for python and Cantera is:
"""
Code for finding out the constant volume AFT of methane for different equivalence ratio
Equivalence ration is to be varied from 0.5 to 1.5
CH4 + 2(O2 + 3.76N2) = CO2 + 2H2O + 7.52N2
"""
import matplotlib.pyplot as plt
import math
import numpy as np
import cantera as ct
# Define the fluid: CH4
phi = np.linspace(0.5,1.5,101)
def h(T, co_effs):
"""
Function to evaluate enthalpy
"""
R = 8.314 #J/mol-K
a1 = co_effs[0]
a2 = co_effs[1]
a3 = co_effs[2]
a4 = co_effs[3]
a5 = co_effs[4]
a6 = co_effs[5]
return (a1 + a2*T/2 + a3*pow(T,2)/3 + a4*pow(T,3)/4 + a5*pow(T,4)/5 + a6/T)*R*T
ch4_coeffs_l = [5.14987613E+00,-1.36709788E-02,4.91800599E-05,-4.84743026E-08,1.66693956E-11,-1.02466476E+04,-4.64130376E+00]
o2_coeffs_l = [3.78245636E+00,-2.99673416E-03,9.84730201E-06,-9.68129509E-09,3.24372837E-12,-1.06394356E+03,3.65767573E+00]
n2_coeffs_l = [0.03298677E+02,0.14082404E-02,-0.03963222E-04,0.05641515E-07,-0.02444854E-10,-0.10208999E+04,0.03950372E+02]
n2_coeffs_h = [0.02926640E+02,0.14879768E-02,-0.05684760E-05,0.10097038E-09,-0.06753351E-13,-0.09227977E+04,0.05980528E+02]
co2_coeffs_h = [3.85746029E+00,4.41437026E-03,-2.21481404E-06,5.23490188E-10,-4.72084164E-14,-4.87591660E+04,2.27163806E+00]
h2o_coeffs_h = [3.03399249E+00,2.17691804E-03,-1.64072518E-07,-9.70419870E-11,1.68200992E-14,-3.00042971E+04,4.96677010E+00]
o2_coeffs_h = [3.28253784E+00,1.48308754E-03,-7.57966669E-07,2.09470555E-10,-2.16717794E-14,-1.08845772E+03,5.45323129E+00]
co_coeffs_h = [2.71518561E+00,2.06252743E-03,-9.98825771E-07,2.30053008E-10,-2.03647716E-14,-1.41518724E+04,7.81868772E+00]
h2_coeffs_h = [3.33727920E+00,-4.94024731E-05,4.99456778E-07,-1.79566394E-10,2.00255376E-14,-9.50158922E+02,-3.20502331E+00]
def F(T,phi):
R = 8.314 #J/mol-K
x = 1
y = 4
if phi<=1:
h_co2_p = (h(T,co2_coeffs_h))
h_h2o_p = (h(T,h2o_coeffs_h))
h_n2_p = (h(T,n2_coeffs_h))
h_o2_p = (h(T,o2_coeffs_h))
H_product = (h_co2_p + 2*h_h2o_p + ((2/phi)-2)*h_o2_p + (7.52/phi)*h_n2_p)
N_prod = 3 + (7.52/phi) + (2/phi-2)
Tstd = 298.15
h_ch4_r = h(Tstd,ch4_coeffs_l)
h_o2_r = h(Tstd,o2_coeffs_l)
h_n2_r = h(Tstd,n2_coeffs_l)
H_reactants = (h_ch4_r + ((2/phi)*(h_o2_r + 3.76*h_n2_r)))
N_reactants = 1 + 4.76*(2/phi)
else:
h_co2_p = (h(T,co2_coeffs_h))
h_h2o_p = (h(T,h2o_coeffs_h))
h_n2_p = (h(T,n2_coeffs_h))
h_o2_p = (h(T,o2_coeffs_h))
h_co_p = (h(T,co_coeffs_h))
H_product = (((4/phi)-3)*h_co2_p + (4-(4/phi))*h_co_p + 2*h_h2o_p + (7.52/phi)*h_n2_p)
N_prod = (4/phi-3) +2 + (4-4/phi) + (7.52/phi)
Tstd = 298.15
h_ch4_r = h(Tstd,ch4_coeffs_l)
h_o2_r = h(Tstd,o2_coeffs_l)
h_n2_r = h(Tstd,n2_coeffs_l)
H_reactants = (h_ch4_r + ((2/phi)*(h_o2_r + 3.76*h_n2_r)))
N_reactants = 1 + 4.76*(2/phi)
return (H_reactants - H_product - R*((N_reactants*Tstd) - (N_prod*T)))
# Newton Rapson Method to solve for AFT iteratively
def fprime(T,phi):
return(F(T+1e-6,phi) - F(T,phi))/1e-6
# Method solves for AFT till satisfying the criteria of tolerence
tol = 1e-3
alpha = 0.9
Temp=[]
for i in phi:
T_guess = 1500
R = 8.314 #J/mol-K
while(abs(F(T_guess,i))> tol):
T_guess = T_guess - alpha*((F(T_guess,i)/fprime(T_guess,i)))
Temp.append(T_guess)
print(max(Temp))
print(Temp)
plt.figure()
plt.plot(phi,Temp,color='red')
plt.xlabel('Equivalence Ratio')
plt.ylabel('Adibatic Flame Temperature')
plt.title('AFT comparison Python Vs Cantera')
###########################################################################################
# Solution using Cantera
gas = ct.Solution('gri30.xml')
npoints = 100
phi = np.linspace(0.5,1.5,npoints)
tad = np.zeros(npoints)
fuel_species = 'CH4'
for i in range(npoints):
gas.set_equivalence_ratio(phi[i], 'CH4' , 'O2:2.0, N2:7.52')
gas.TP = 298.15,101325
gas.equilibrate('UV','auto')
tad[i] = gas.T
print('At phi = {0:10.4g}, Tad = {1:10.6g}'.format(phi[i], tad[i]))
plt.plot(phi, tad)
plt.legend(('Python','Cantera'))
plt.grid()
plt.show()
The equivalence ratio has been varied from 0.5 to 1.5 because this is the practical range in which combustion can take place. Theoretically, it has been seen that stoichiometric mixture(ϕ = 1) can give maximum Adiabatic temperature, but practically it can change slightly.
The Plot to represent the comparative analysis of AFT is:
Observations:
1. The python code gives maximum value of AFT at ϕ = 1, it is because it does not consider all the species in the mixture.
2. The Cantera considers all the species, so the variation can be said to be practical than python code.
3. Cantera gives the maximum AFT at slightly more value of ϕ. (ϕ = 1.07).
Case 2: Constant pressure reactor with heat loss:
Case 2 contains three variations, which is to be presented separately.
Case 2.1 Effect of loss of heat on Adiabatic Flame Temperature:
The adiabatic chamber is practically impossible to maintain if the temperature gradient present is huge. So consideration of loss of heat is a must for practical calculation of AFT. So, the factor (H_loss) is considered here and its effect on AFT is performed.
Where,
hi,R = Enthalpy of reactants.
hi,P = Enthalpy of products.
Ni,R = No. of moles of reactants.
Ni,P = No. of moles of products.
Qrnx,p = Heat loss.
LHV = Lower heating value of a fuel.
Nfuel = No. of moles of fuel.
Mfuel = Molecular weight of the fuel.
mfuel = mass of fuel.
The heat loss coefficient(h_loss) is varied from 0 to 1. It indicates that heat loss is maximum when h_loss is 1, and heat loss is minimum when h_loss is 0.
The code to see the effect of heat loss coefficient is:
import matplotlib.pyplot as plt
import math
import numpy as np
import cantera as ct
"""
# Inputs to the system
Fuel - CH4
Reactor - Constant Pressure
HHV - 55.5 MJ/kg
LHV - 50 MJ/kg
MW - 16.04 gram/mol
Nfuel - 1 mol
mfuel - 16.04 gram
phi = 1 Stoichiometric condition
"""
x = 1
y = 4
R = 8.314 #J/kmol-K
Qs = 802000 # As product are at gas phase Qs = LHV*mf = 50*e+6*16.04*e-3
H_loss = np.linspace(0,1,21)
H_product = []
H_reactants = []
def h(T, co_effs):
"""
Function to evaluate enthalpy
"""
R = 8.314 #J/mol-K
a1 = co_effs[0]
a2 = co_effs[1]
a3 = co_effs[2]
a4 = co_effs[3]
a5 = co_effs[4]
a6 = co_effs[5]
return (a1 + a2*T/2 + a3*pow(T,2)/3 + a4*pow(T,3)/4 + a5*pow(T,4)/5 + a6/T)*R*T
ch4_coeffs_l = [5.14987613E+00,-1.36709788E-02,4.91800599E-05,-4.84743026E-08,1.66693956E-11,-1.02466476E+04,-4.64130376E+00]
o2_coeffs_l = [3.78245636E+00,-2.99673416E-03,9.84730201E-06,-9.68129509E-09,3.24372837E-12,-1.06394356E+03,3.65767573E+00]
n2_coeffs_l = [0.03298677E+02,0.14082404E-02,-0.03963222E-04,0.05641515E-07,-0.02444854E-10,-0.10208999E+04,0.03950372E+02]
n2_coeffs_h = [0.02926640E+02,0.14879768E-02,-0.05684760E-05,0.10097038E-09,-0.06753351E-13,-0.09227977E+04,0.05980528E+02]
co2_coeffs_h = [3.85746029E+00,4.41437026E-03,-2.21481404E-06,5.23490188E-10,-4.72084164E-14,-4.87591660E+04,2.27163806E+00]
h2o_coeffs_h = [3.03399249E+00,2.17691804E-03,-1.64072518E-07,-9.70419870E-11,1.68200992E-14,-3.00042971E+04,4.96677010E+00]
o2_coeffs_h = [3.28253784E+00,1.48308754E-03,-7.57966669E-07,2.09470555E-10,-2.16717794E-14,-1.08845772E+03,5.45323129E+00]
co_coeffs_h = [2.71518561E+00,2.06252743E-03,-9.98825771E-07,2.30053008E-10,-2.03647716E-14,-1.41518724E+04,7.81868772E+00]
def f(T, H_loss):
"""
Function to solve for Heat balance and AFT
"""
h_co2_p = h(T,co2_coeffs_h)
h_h2o_p = h(T,h2o_coeffs_h)
h_n2_p = h(T,n2_coeffs_h)
H_product = h_co2_p + 2*h_h2o_p + 7.52*h_n2_p
Tstd = 298.15
h_ch4_r = h(Tstd,ch4_coeffs_l)
h_o2_r = h(Tstd,o2_coeffs_l)
h_n2_r = h(Tstd,n2_coeffs_l)
H_reactants = h_ch4_r + 2*h_o2_r + 7.52*h_n2_r
return H_product - H_reactants + (H_loss*Qs)
# Newton Rapson Method to solve for AFT iteratively
def fprime(T,H_loss):
return(f(T+1e-6,H_loss) - f(T,H_loss))/1e-6
# Method solves for AFT till satisfying the criteria of tolerence
tol = 1e-3
alpha = 0.9
Temp=[]
# Newton Rapson Method
for i in H_loss:
T_guess = 1500
R = 8.314 #J/mol-K
while(abs(f(T_guess,i))> tol):
T_guess = T_guess - alpha*((f(T_guess,i)/fprime(T_guess,i)))
Temp.append(T_guess)
print(Temp)
T_loss = (Temp[7])
print(T_loss)
plt.figure()
plt.plot(H_loss,Temp,color='red')
plt.xlabel('H_loss Coefficient')
plt.ylabel('Adiabatic Flame Temperature')
plt.title('Variation of AFT with Heat loss Coefficient')
plt.show()
The plot to represent the effect of heat loss coefficient is:
Observation:
1. It is been seen that when heat loss is zero, AFT is maximum and minimum when heat loss is maximum.
2. The AFT varies linearly with the heat loss coefficient.
3. For the heat loss coefficient of 0.35, the AFT is 1678.8364K.
Case 2.2 Effect of Fuel type(alkanes, alkynes, and alkenes) on Adiabatic Flame Temperature:
The number of carbon atoms considered here is 2. Which gives Alkane (C2H6), Alkene(C2H4), Alkyne(C2H2). The results are plotted using python as well as Cantera. The variation results are same as we obtained in the first case.
The code for effect of the fuel type on AFT is:
"""
Code for finding out the AFT of methane for different equivalence ratio
CH4 + 2(O2 + 3.76N2) = CO2 + 2H2O + 7.52N2
"""
import matplotlib.pyplot as plt
import math
import numpy as np
def h(T, co_effs):
"""
Function to evaluate enthalpy
"""
R = 8.314 #J/mol-K
a1 = co_effs[0]
a2 = co_effs[1]
a3 = co_effs[2]
a4 = co_effs[3]
a5 = co_effs[4]
a6 = co_effs[5]
return (a1 + a2*T/2 + a3*pow(T,2)/3 + a4*pow(T,3)/4 + a5*pow(T,4)/5 + a6/T)*R*T
# Coefficients for fuel: Alkynes(c2h2), Alkenes(c2h4), Alkane(c2h6)
c2h2_coeffs_l = [8.08681094E-01,2.33615629E-02,-3.55171815E-05,2.80152437E-08,-8.50072974E-12,2.64289807E+04,1.39397051E+01]
c2h4_coeffs_l = [3.95920148E+00,-7.57052247E-03,5.70990292E-05,-6.91588753E-08,2.69884373E-11,5.08977593E+03,4.09733096E+00]
c2h6_coeffs_l = [4.29142492E+00,-5.50154270E-03,5.99438288E-05,-7.08466285E-08,2.68685771E-11,-1.15222055E+04,2.66682316E+00]
# Coefficients for Oxidiser: Oxygen(o2),Nitrogen(N2)
o2_coeffs_l = [3.78245636E+00,-2.99673416E-03,9.84730201E-06,-9.68129509E-09,3.24372837E-12,-1.06394356E+03,3.65767573E+00]
n2_coeffs_l = [0.03298677E+02,0.14082404E-02,-0.03963222E-04,0.05641515E-07,-0.02444854E-10,-0.10208999E+04,0.03950372E+02]
# Coefficients for Products at high temperature: Co2,H2o,N2
n2_coeffs_h = [0.02926640E+02,0.14879768E-02,-0.05684760E-05,0.10097038E-09,-0.06753351E-13,-0.09227977E+04,0.05980528E+02]
co2_coeffs_h = [3.85746029E+00,4.41437026E-03,-2.21481404E-06,5.23490188E-10,-4.72084164E-14,-4.87591660E+04,2.27163806E+00]
h2o_coeffs_h = [3.03399249E+00,2.17691804E-03,-1.64072518E-07,-9.70419870E-11,1.68200992E-14,-3.00042971E+04,4.96677010E+00]
Tstd = 298.15
H1 = h(Tstd,c2h2_coeffs_l)
H2 = h(Tstd,c2h4_coeffs_l)
H3 = h(Tstd,c2h6_coeffs_l)
H = [H1,H2,H3]
H = np.array(H)
def f(T,H):
"""
#Function that represent the root finding problem
"""
h_co2_p = h(T,co2_coeffs_h)
h_h2o_p = h(T,h2o_coeffs_h)
h_n2_p = h(T,n2_coeffs_h)
h_o2_r = h(Tstd,o2_coeffs_l)
h_n2_r = h(Tstd,n2_coeffs_l)
if H == H1:
x = 2
y = 2
a = x + (y/4)
H_product = x*h_co2_p + (y/2)*h_h2o_p + (3.76*a)*h_n2_p
H_reactants = H1 + a*h_o2_r + (3.76*a)*h_n2_r # C2H2
elif H == H2:
x = 2
y = 4
a = x + (y/4)
H_product = x*h_co2_p + (y/2)*h_h2o_p + (3.76*a)*h_n2_p
H_reactants = H2 + a*h_o2_r + (3.76*a)*h_n2_r # C2H4
elif H == H3:
x = 2
y = 6
a = x + (y/4)
H_product = x*h_co2_p + (y/2)*h_h2o_p + (3.76*a)*h_n2_p
H_reactants = H3 + a*h_o2_r + (3.76*a)*h_n2_r # C2H6
return H_product - H_reactants
def fprime(T,H):
return(f(T+1e-6,H) - f(T,H))/1e-6
T_guess = 1500
tol = 1e-3
ct = 0
alpha = 0.9
Temp =[]
for i in H:
R = 8.314 #J/mol-K
while(abs(f(T_guess,i))> tol):
T_guess = T_guess - alpha*((f(T_guess,i)/fprime(T_guess,i)))
Temp.append(T_guess)
print(Temp)
plt.figure()
plt.bar(['C2H2','C2H4','C2H6'],Temp)
plt.ylabel('Adiabatic Flame Temperature')
plt.title('AFT vs Fuel type(Python)')
###########################################################################################
# Solution using Cantera
import cantera as ct
gas = ct.Solution('gri30.xml')
gas.TPX = 298.15,101325,{'C2H2':1, 'O2':2.5, 'N2':9.4}
gas.equilibrate('HP','auto')
T_c2h2 = gas.T
gas.TPX = 298.15,101325,{'C2H4':1, 'O2':3, 'N2':11.28}
gas.equilibrate('HP','auto')
T_c2h4 = gas.T
gas.TPX = 298.15,101325,{'C2H6':1, 'O2':3.5, 'N2':13.16}
gas.equilibrate('HP','auto')
T_c2h6 = gas.T
temp = (T_c2h2,T_c2h4,T_c2h6)
temp= np.array(temp)
print(temp)
plt.figure()
plt.bar(['C2H2','C2H4','C2H6'],temp)
plt.ylabel('Adiabatic Flame Temperature')
plt.title('AFT vs Fuel type(Cantera)')
plt.show()
The Plot to represent the comparative analysis of AFT is:
Observations:
1. The Alkyne gives maximum temperature because it contains less number of hydrogen atoms because less water will be produced.
2. The fuel which contains fewer hydrogen atoms gives maximum temperature.
3. The trend with the type of fuel is the same for python as well as Cantera, but the temperature value differs by at least 400K. Which is because Cantera solves for all the species.
Case 2.3 Effect of carbon atoms(1 to 3) with alkane fuel on Adiabatic Flame Temperature:
The carbon atoms of the alkane are varied from 1 to 3, and the effect on AFT is to be studied. The more carbon means more heat is to be produced and flame temperature will be increased with carbon atoms.
The code to study the effect of carbon atom on AFT is:
"""
Code for finding out the AFT of methane for different equivalence ratio
CH4 + 2(O2 + 3.76N2) = CO2 + 2H2O + 7.52N2
"""
import matplotlib.pyplot as plt
import math
import numpy as np
def h(T, co_effs):
"""
Function to evaluate enthalpy
"""
R = 8.314 #J/mol-K
a1 = co_effs[0]
a2 = co_effs[1]
a3 = co_effs[2]
a4 = co_effs[3]
a5 = co_effs[4]
a6 = co_effs[5]
return (a1 + a2*T/2 + a3*pow(T,2)/3 + a4*pow(T,3)/4 + a5*pow(T,4)/5 + a6/T)*R*T
# Coefficients for fuel: Alkane(ch4), Alkane(c2h6), Alkane(c3h8)
ch4_coeffs_l = [5.14987613E+00,-1.36709788E-02,4.91800599E-05,-4.84743026E-08,1.66693956E-11,-1.02466476E+04,-4.64130376E+00]
c2h6_coeffs_l = [4.29142492E+00,-5.50154270E-03,5.99438288E-05,-7.08466285E-08,2.68685771E-11,-1.15222055E+04,2.66682316E+00]
c3h8_coeffs_l = [0.93355381E+00,0.26424579E-01,0.61059727E-05,-0.21977499E-07,0.95149253E-11,-0.13958520E+05,0.19201691E+02]
# Coefficients for Oxidiser: Oxygen(o2),Nitrogen(N2)
o2_coeffs_l = [3.78245636E+00,-2.99673416E-03,9.84730201E-06,-9.68129509E-09,3.24372837E-12,-1.06394356E+03,3.65767573E+00]
n2_coeffs_l = [0.03298677E+02,0.14082404E-02,-0.03963222E-04,0.05641515E-07,-0.02444854E-10,-0.10208999E+04,0.03950372E+02]
# Coefficients for Products at high temperature: Co2,H2o,N2
n2_coeffs_h = [0.02926640E+02,0.14879768E-02,-0.05684760E-05,0.10097038E-09,-0.06753351E-13,-0.09227977E+04,0.05980528E+02]
co2_coeffs_h = [3.85746029E+00,4.41437026E-03,-2.21481404E-06,5.23490188E-10,-4.72084164E-14,-4.87591660E+04,2.27163806E+00]
h2o_coeffs_h = [3.03399249E+00,2.17691804E-03,-1.64072518E-07,-9.70419870E-11,1.68200992E-14,-3.00042971E+04,4.96677010E+00]
Tstd = 298.15
H1 = h(Tstd,ch4_coeffs_l)
H2 = h(Tstd,c2h6_coeffs_l)
H3 = h(Tstd,c3h8_coeffs_l)
H = [H1,H2,H3]
H = np.array(H)
def f(T,H):
"""
#Function that represent the root finding problem
"""
h_co2_p = h(T,co2_coeffs_h)
h_h2o_p = h(T,h2o_coeffs_h)
h_n2_p = h(T,n2_coeffs_h)
h_o2_r = h(Tstd,o2_coeffs_l)
h_n2_r = h(Tstd,n2_coeffs_l)
if H == H1:
x = 1
y = 4
a = x + (y/4)
H_product = x*h_co2_p + (y/2)*h_h2o_p + (3.76*a)*h_n2_p
H_reactants = H1 + a*h_o2_r + (3.76*a)*h_n2_r # C2H2
elif H == H2:
x = 2
y = 6
a = x + (y/4)
H_product = x*h_co2_p + (y/2)*h_h2o_p + (3.76*a)*h_n2_p
H_reactants = H2 + a*h_o2_r + (3.76*a)*h_n2_r # C2H4
elif H == H3:
x = 3
y = 8
a = x + (y/4)
H_product = x*h_co2_p + (y/2)*h_h2o_p + (3.76*a)*h_n2_p
H_reactants = H3 + a*h_o2_r + (3.76*a)*h_n2_r # C2H6
return H_product - H_reactants
def fprime(T,H):
return(f(T+1e-6,H) - f(T,H))/1e-6
T_guess = 1500
tol = 1e-3
ct = 0
alpha = 0.9
Temp =[]
for i in H:
R = 8.314 #J/mol-K
while(abs(f(T_guess,i))> tol):
T_guess = T_guess - alpha*((f(T_guess,i)/fprime(T_guess,i)))
Temp.append(T_guess)
print(Temp)
plt.figure()
plt.bar(['CH4','C2H6','C3H8'],Temp)
plt.ylabel('Adiabatic Flame Temperature')
plt.title('AFT vs Fuel type(Effect of Carbon atoms)')
plt.show()
The plot to show the effect of carbon atom on AFT is:
Observation:
1. The fuel which contains more carbon atoms gives maximum temperature.
Leave a comment
Thanks for choosing to leave a comment. Please keep in mind that all the comments are moderated as per our comment policy, and your email will not be published for privacy reasons. Please leave a personal & meaningful conversation.
Other comments...
Adiabatic Flame Temperature calculation using Python and Cantera.
Adiabatic flame temperature: The temperature of the products in adiabatic combustion of fuel without applying for any shaft work is defined as the “Adiabatic Flame Temperature”. In a combustion process, the heat produced during the exothermic chemical reaction…
25 Jun 2020 08:06 AM IST
Numerical Solution of 2D Heat equation using Matlab.
The heat equation is a second order partial differential equation that describes how the distribution of some quantity (such as heat) evolves over time in a solid medium, as it spontaneously flows from places where it is higher towards places where it is lower. It is a special case of the diffusion equation. …
13 Jan 2020 02:54 PM IST
CFD analysis of 1D Linear equation using Matlab.
The first step to computing the Navier-Stokes’ equation is a wave propagation equation in 1D. The 1 dimensional linear convection equation: ∂u∂t+c∂u∂x=0 'u' is a quantity that is transported at a constant velocity. The constant velocity makes the equation linear in nature contrary to…
19 Dec 2019 07:27 AM IST
Error analysis of different order of approximation Finite difference method using Matlab.
Problem Statement: The comparative error analysis of different order of approximations for the function sin(x)/x^3 is presented below using Finite Difference Method. The matlab is used to code and plot the results. The error and slope analysis are presented for 20 values of dx. The range is mentioned…
30 Sep 2019 12:39 PM IST
Related Courses
0 Hours of Content
Skill-Lync offers industry relevant advanced engineering courses for engineering students by partnering with industry experts.
© 2025 Skill-Lync Inc. All Rights Reserved.