Project

Adiabatic Flame Temperature calculation

ADIABATIC FLAME TEMPERATURE:-

  • The adiabatic flame temperature is defined as the temperature attained when all of the chemical reaction heat released heat combustion product.
  • It is one that occur in the combustion chamber is well insulated with no heat loss that is adiabatic condition (Q=0)
  • The temperature rise or fall depend on the amount of excess air used in air fuel ratio.
  • The flame temperature has the highest value for using pure oxygen gas and it decrease by using air.
  • Adiabatic flame temperature can be determined by constant volume and constant pressure process.
  • If a fuel air mixture burns adiabatically at constant pressure the absolute enthalpy of the reactant at the initial state (T = 298 K , P = 1 atm) equal the absolute enthalpy of the product at the final state (T = `T_(ad)` , P = 1 atm)
  • In constant volume process, adiabatic flame temperature is the temperature that result from a complete combustion process that occur without any work, heat transfer or change in Kinetic and Potential Energy.
  • Since, In constant volume it temperature is higher than the constant pressure process because no energy is ultilized to change the volume of the system.

1. EFFECT OF EQUIVALENCE RATIO ON AFT:-

CASE 1:-

Assume that Methane is contained in a constant volume chamber and assume `N_2` is present.

  • Equivalence ratio is defined as the ratio of the actual fuel/air ratio to the stoichiometric fuel/air ratio.
  • If the equivalence ratio is equal to one, the combustion is stoichiometric.
  • If it is `phi` < 1, it combustion is clean with excess air and if it `phi` > 1 the combustion is rich with incomplete combustion.

Stoichiometric reaction,

`C_xH_y + a(O_2 +3.76N_2) rightarrow aCO_2 + y/2H_2O + 3.76*aN_2`

Equivalence ratio mixture, consider Methane

`CH_4 + (2/phi)(O_2 + 3.76 N_2) rightarrow xCO_2 +y/2H_2O +Other Product`

For Lean Mixture, `(phi<1)`

`CH_4 + (2/phi)(O_2+3.76N_2) rightarrow CO_2 + 2H_2O +(7.52/phi)N_2 + (2/phi-2)O_2`

For Rich Mixture, `(phi>1)`

`CH_4 + (2/phi)(O_2 + 3.76 N_2) rightarrow (4/phi - 3)CO_2 + 2H_2O + (7.52/phi)N_2 + (4-4/phi)CO`

Constant Volume Process

`(h_(pdt)-h_(react)) - R (n_(pdt)T-n_(react)T_(std))`

Code for Python:-

\"\"\"  
In this program we are going to calculate Adiabatic Flame Temperature at different equivalance ratio

Effect of equivalance ratio on AFT

CH4 + 2(O2+3.76N2) = CO2 + 2H2O + 7.5N2

\"\"\"

import matplotlib.pyplot as plt 
import math
import numpy as np 


R = 8.314 # J/mole-K

def h(T,coeff): # Function for calculating enthalpy
	a1=coeff[0]
	a2=coeff[1]
	a3=coeff[2]
	a4=coeff[3]
	a5=coeff[4]
	a6=coeff[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 # Main Equations

# Low Temperature  Heat Transfer Coefficient
CH4_coeff_l= [5.14987613E+00, -1.36709788E-02, 4.91800599E-05, -4.84743026E-08, 1.66693956E-11, -1.02466476E+04, -4.64130376E+00]
O2_coeff_l= [3.78245636E+00, -2.99673416E-03, 9.84730201E-06, -9.68129509E-09, 3.24372837E-12, -1.06394356E+03, 3.65767573E+00]
N2_coeff_l=[0.03298677E+02, 0.14082404E-02, -0.03963222E-04, 0.05641515E-07, -0.02444854E-10, -0.10208999E+04, 0.03950372E+02]

# High Temperature Heat Transfer Coefficient
CO2_coeff_h=[3.85746029E+00, 4.41437026E-03, -2.21481404E-06, 5.23490188E-10, -4.72084164E-14, -4.87591660E+04, 2.27163806E+00]
H2O_coeff_h=[3.03399249E+00, 2.17691804E-03, -1.64072518E-07, -9.70419870E-11, 1.68200992E-14, -3.00042971E+04, 4.96677010E+00]
N2_coeff_h=[0.02926640E+02, 0.14879768E-02, -0.05684760E-05, 0.10097038E-09, -0.06753351E-13, -0.09227977E+04, 0.05980528E+02]
CO_coeff_h=[2.71518561E+00, 2.06252743E-03,-9.98825771E-07, 2.30053008E-10,-2.03647716E-14, -1.41518724E+04, 7.81868772E+00]
O2_coeff_h=[ 3.28253784E+00, 1.48308754E-03, -7.57966669E-07, 2.09470555E-10, -2.16717794E-14, -1.08845772E+03, 5.45323129E+00]

def f(T,phi): # Enthalpy
	if (phi<=1): # Lean Mixture
		h_CO2_p=h(T,CO2_coeff_h)
		h_H2O_p=h(T,H2O_coeff_h)
		h_O2_p=h(T,O2_coeff_h)
		h_N2_p=h(T,N2_coeff_h)
		h_product= h_CO2_p + 2*h_H2O_p + (2/phi-2)*h_O2_p + (7.52/phi)*h_N2_p
		n_product= 1 + 2 + (2/phi-2) + (7.52/phi)
	elif (phi>1): # Rich Mixture
		h_CO2_p=h(T,CO2_coeff_h)
		h_H2O_p=h(T,H2O_coeff_h)
		h_CO_p=h(T,CO_coeff_h)
		h_N2_p=h(T,N2_coeff_h)
		h_product= (4/phi-3)*h_CO2_p + 2*h_H2O_p + (4-4/phi)*h_CO_p + (7.52/phi)*h_N2_p
		n_product= (4/phi-3) + 2 + (4-4/phi) +(7.52/phi)
	print(h_product)

	T_std = 298.15 #K # Reactants
	h_CH4_r=h(T_std,CH4_coeff_l)
	h_O2_r=h(T_std,O2_coeff_l)
	h_N2_r=h(T_std,N2_coeff_l)
	h_reactant=h_CH4_r + (2/phi)*(h_O2_r + (3.76*h_N2_r))
	n_reactant=1 + (2/phi) + 3.76*(2/phi)
	print(h_reactant)
	return(h_product - h_reactant) - R*(n_product*T-n_reactant*T_std)


def fprime(T,phi): 
	return(f(T+1e-6,phi)-f(T,phi))/1e-6

# Newton Rhapson Method
T_guess=1500
tol=1e-4
alpha=0.8
phi=np.linspace(0.1,1.5,20)
temp = []

for i in range (0,len(phi)):
	while(abs(f(T_guess,phi[i]))>tol):
		T_guess=T_guess-alpha*(f(T_guess,phi[i])/fprime(T_guess,phi[i]))
	temp.append(T_guess)
 	

# Plot
plt.plot(phi,temp)
plt.xlabel(\'Equivalance Ratio\') # X axis
plt.ylabel(\'Adiabatic Flame Temperature\') # Y axis
plt.title(\'Effect of Equivalance ratio using AFT\') # Title
plt.grid(\'on\')
plt.show()

\"\"

  • From the graph, we can observe the solution is increasing and 0.98 it start decreasing.
  • From the graph, the maximum temperature is 2800 K
  • The maximum equivalence ratio is 0.98

Code for Cantera:-

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


#CH4 + 2(O2+3.76N2) = CO2 + 2H2O + 7.5N2

gas=ct.Solution(\'gri30.xml\')
phi=np.linspace(0.5,1.5,20)
tempo=[]
for i in phi:
	gas.TPX=298.15,101325,{\'CH4\':1,\'O2\':2/i,\'N2\':7.52/i}
	gas.set_equivalence_ratio(i,\'CH4\' , \'O2:1, N2:3.76\')
	gas.equilibrate(\'UV\',\'auto\')
	temp = gas.T
	tempo.append(temp)


plt.plot(phi,tempo)
plt.xlabel(\'Equivalance Ratio\') # X axis
plt.ylabel(\'Adiabatic Flame Temperature\') # Y axis
plt.title(\'Effect of Equivalance ratio using AFT\') # Title
plt.grid(\'on\')
plt.show()

#help(gas)

\"\"

  • From the graph, the solution is gradually increasing but at 1.08 it decreasing.
  • The maximum temperature is 2600 K
  • The maximum temperature at which the equivalence ratio is 1.08.

RESULT:-

By comparing both the result of Python and Cantera program, the Cantera program is more smooth than the Python program.

2. CONSTANT PRESSURE REACTOR WITH HEAT LOSS.

Consider a constant pressure reactor with heat loss. The reactor is initially set at Standard condition, the heat loss should be as input with \"Maximum possible heat loss\" . Calculate the AFT for H loss = 0.35

For constant pressure Adiabatic Flame Temperature,

`H_(pdt) - H_(react) + H_(loss) = 0`

Code:-

\"\"\"  
In this program we are going to calculate Adiabatic Flame Temperature at different equivalance ratio

Effect of equivalance ratio on AFT

CH4 + 2(O2+3.76N2) = CO2 + 2H2O + 7.5N2

\"\"\"

import matplotlib.pyplot as plt 
import math
import numpy as np 


R = 8.314 # J/mole-K

def h(T,coeff): # Function for calculating enthalpy
	a1=coeff[0]
	a2=coeff[1]
	a3=coeff[2]
	a4=coeff[3]
	a5=coeff[4]
	a6=coeff[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 # Main Equations

# Low Temperature  Heat Transfer Coefficient
CH4_coeff_l= [5.14987613E+00, -1.36709788E-02, 4.91800599E-05, -4.84743026E-08, 1.66693956E-11, -1.02466476E+04, -4.64130376E+00]
O2_coeff_l= [3.78245636E+00, -2.99673416E-03, 9.84730201E-06, -9.68129509E-09, 3.24372837E-12, -1.06394356E+03, 3.65767573E+00]
N2_coeff_l=[0.03298677E+02, 0.14082404E-02, -0.03963222E-04, 0.05641515E-07, -0.02444854E-10, -0.10208999E+04, 0.03950372E+02]

# High Temperature Heat Transfer Coefficient
CO2_coeff_h=[3.85746029E+00, 4.41437026E-03, -2.21481404E-06, 5.23490188E-10, -4.72084164E-14, -4.87591660E+04, 2.27163806E+00]
H2O_coeff_h=[3.03399249E+00, 2.17691804E-03, -1.64072518E-07, -9.70419870E-11, 1.68200992E-14, -3.00042971E+04, 4.96677010E+00]
N2_coeff_h=[0.02926640E+02, 0.14879768E-02, -0.05684760E-05, 0.10097038E-09, -0.06753351E-13, -0.09227977E+04, 0.05980528E+02]
CO_coeff_h=[2.71518561E+00, 2.06252743E-03,-9.98825771E-07, 2.30053008E-10,-2.03647716E-14, -1.41518724E+04, 7.81868772E+00]
O2_coeff_h=[ 3.28253784E+00, 1.48308754E-03, -7.57966669E-07, 2.09470555E-10, -2.16717794E-14, -1.08845772E+03, 5.45323129E+00]

def f(T,H_loss): # Enthalpy
	T_std = 298.15 #K
	Q = 802000
	h_CH4_r=h(T_std,CH4_coeff_l)
	h_O2_r=h(T_std,O2_coeff_l)
	h_N2_r=h(T_std,N2_coeff_l)
	h_CO2_p=h(T,CO2_coeff_h)
	h_H2O_p=h(T,H2O_coeff_h)
	h_N2_p=h(T,N2_coeff_h)

	h_reactant=h_CH4_r+2*h_O2_r+7.52*h_N2_r
	h_product=h_CO2_p+2*h_H2O_p+7.52*h_N2_p

	
	return h_product - h_reactant + (H_loss*Q)


def fprime(T,H_loss): 
	return(f(T+1e-6,H_loss)-f(T,H_loss))/1e-6

# Newton Rhapson Method
T_guess=1500
tol=1e-3
alpha=0.8
H_loss=np.linspace(0,1,10)
temp = []

for i in range (0,len(H_loss)):
	while(abs(f(T_guess,H_loss[i]))>tol):
		T_guess=T_guess-alpha*(f(T_guess,H_loss[i])/fprime(T_guess,H_loss[i]))
	temp.append(T_guess)
 	

# Plot
plt.plot(H_loss,temp)
plt.xlabel(\'Heat Loss Factor\') # X axis
plt.ylabel(\'Adiabatic Flame Temperature\') # Y axis
plt.title(\'Effect of Heat Loss in Adiabatic Flame Temperature\') # Title
plt.grid(\'on\')
plt.show()

\"\"

OBSERVATION:-

  • From the graph, we can easily see that the increase in heat loss the Adiabatic Flame Temperature is gradually decreasing.
  • The graph is linearly decreasing.
  • The maximum temperature from the graph is 2350 K and minimum temperature is 298 K
  • For 0.35 Heat loss the Adiabatic Flame Temperature is 1750 K from the graph.

CASE 3:-

Test it only for -ane, -ene and -yne of two carbon atom and verify using cantera.

Code by using Python:-

\"\"\"
Calculation of AFT of Alkane, Alkene and Alkyne of Heat loss of 0.35%
In this case we are going to Compare the of two Carbon atom 

Ethane

C2H6 + 3.5(O2+3.76N2) = 2CO2 + 3H2O + 13.16N2

Ethene

C2H4 + 3(O2+3.76N2) = 2CO2 + 2H2O + 11.28N2

Ethyne 

C2H2 + 2.5(O2+3.76N2) = 2CO2 + H2O + 9.4N2

Fuel    M(g/Kmole)   LHV(MJ/kg)   Q(J/Kmole)
Ethane  30.07        47.611       1431662.77
Ethene  28.05        47.132       1322052.6
Ethyne  26.04        48.225       1255779
\"\"\"

import matplotlib.pyplot as plt 
import numpy as np 
import math

def h(T,coeff):
	R = 8.314 #J/mole-K
	# Calculating Enthalpy
	a1=coeff[0]
	a2=coeff[1]
	a3=coeff[2]
	a4=coeff[3]
	a5=coeff[4]
	a6=coeff[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

# Low Temperature Heat Transfer Coefficient

C2H6_coeff_l=[4.29142492E+00, -5.50154270E-03, 5.99438288E-05, -7.08466285E-08, 2.68685771E-11, -1.15222055E+04, 2.66682316E+00]
C2H4_coeff_l=[3.95920148E+00, -7.57052247E-03, 5.70990292E-05, -6.91588753E-08, 2.69884373E-11, 5.08977593E+03, 4.09733096E+00]
C2H2_coeff_l=[8.08681094E-01, 2.33615629E-02, -3.55171815E-05, 2.80152437E-08, -8.50072974E-12, 2.64289807E+04, 1.39397051E+01]
O2_coeff_l=[3.78245636E+00, -2.99673416E-03, 9.84730201E-06, -9.68129509E-09, 3.24372837E-12, -1.06394356E+03, 3.65767573E+00]
N2_coeff_l=[0.03298677E+02, 0.14082404E-02, -0.03963222E-04, 0.05641515E-07, -0.02444854E-10, -0.10208999E+04, 0.03950372E+02]

# High Temperature Heat Transfer Coefficient

CO2_coeff_h=[3.85746029E+00, 4.41437026E-03, -2.21481404E-06, 5.23490188E-10, -4.72084164E-14, -4.87591660E+04, 2.27163806E+00]
H2O_coeff_h=[3.03399249E+00, 2.17691804E-03, -1.64072518E-07, -9.70419870E-11, 1.68200992E-14, -3.00042971E+04, 4.96677010E+00]
N2_coeff_h=[0.02926640E+02, 0.14879768E-02, -0.05684760E-05, 0.10097038E-09, -0.06753351E-13, -0.09227977E+04, 0.05980528E+02]

# Ethane
def f_ethane(T):
	R = 8.314 # J/K-mole
	T_std=298.15 #K
	LHV = 47611000 #J
	h_CO2_p=h(T,CO2_coeff_h)
	h_H2O_p=h(T,H2O_coeff_h)
	h_N2_p=h(T,N2_coeff_h)
	h_C2H6_r=h(T_std,C2H6_coeff_l)
	h_O2_r=h(T_std,O2_coeff_l)
	h_N2_r=h(T_std,N2_coeff_l)

	h_product=2*h_CO2_p + 3*h_H2O_p + 13.16*h_N2_p
	h_reactant=h_C2H6_r + 3.5*h_O2_r + 13.16*h_N2_r

	return h_product - h_reactant

def fprime_ethane(T):
	return(f_ethane(T+1e-06)-f_ethane(T))/1e-06

# Ethene
def f_ethene(T):
	R = 8.314 # J/K-mole
	T_std=298.15 #K
	LHV = 47132000 #J
	h_CO2_p=h(T,CO2_coeff_h)
	h_H2O_p=h(T,H2O_coeff_h)
	h_N2_p=h(T,N2_coeff_h)
	h_C2H4_r=h(T_std,C2H4_coeff_l)
	h_O2_r=h(T_std,O2_coeff_l)
	h_N2_r=h(T_std,N2_coeff_l)

	h_product=2*h_CO2_p + 2*h_H2O_p + 11.28*h_N2_p
	h_reactant=h_C2H4_r + 3*h_O2_r + 11.28*h_N2_r

	return h_product - h_reactant 

def fprime_ethene(T):
	return(f_ethene(T+1e-06)-f_ethene(T))/1e-06

# Ethyne
def f_ethyne(T):
	R = 8.314 # J/K-mole
	T_std=298.15 #K
	LHV = 48225000 #J
	h_CO2_p=h(T,CO2_coeff_h)
	h_H2O_p=h(T,H2O_coeff_h)
	h_N2_p=h(T,N2_coeff_h)
	h_C2H2_r=h(T_std,C2H2_coeff_l)
	h_O2_r=h(T_std,O2_coeff_l)
	h_N2_r=h(T_std,N2_coeff_l)

	h_product=2*h_CO2_p + h_H2O_p + 9.4*h_N2_p
	h_reactant=h_C2H2_r + 2.5*h_O2_r + 9.4*h_N2_r

	return h_product - h_reactant 

def fprime_ethyne(T):
	return(f_ethyne(T+1e-06)-f_ethyne(T))/1e-06

T_ethane_guess = 1500 #K
T_ethene_guess = 1500 #K
T_ethyne_guess = 1500 #K
tol = 1e-4
alpha = 0.8
temp = [] # to find the value and storing the data 

# Ethane
while(abs(f_ethane(T_ethane_guess))>tol):
	T_ethane_guess = T_ethane_guess - alpha*(f_ethane(T_ethane_guess)/fprime_ethane(T_ethane_guess))
temp.append(T_ethane_guess)

# Ethene
while(abs(f_ethene(T_ethene_guess))>tol):
	T_ethene_guess = T_ethene_guess - alpha*(f_ethene(T_ethene_guess)/fprime_ethene(T_ethene_guess))
temp.append(T_ethene_guess)

# Ethyne
while(abs(f_ethyne(T_ethyne_guess))>tol):
	T_ethyne_guess = T_ethyne_guess - alpha*(f_ethyne(T_ethyne_guess)/fprime_ethyne(T_ethyne_guess))
temp.append(T_ethyne_guess)

fuel = [\'Ethane\', \'Ethene\', \'Ethyne\']
print(temp)
plt.bar(fuel,temp) # Bar Graph
plt.xlabel(\'Fuel\') # X axis
plt.ylabel(\'Adiabatic Flame Temperature\') # Y axis
plt.title(\'Fuel Vs AFT using Python at constant Pressure\') # Title
plt.show()

\"\"

OBSERVATION:-

  • The temperature for Ethane is 2379.84 K
  • The temperature for Ethene is 2564.53 K
  • The temperature for Ethyne is 2909.35 K

Code by using Cantera:-

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


gas = ct.Solution(\'gri30.xml\')
gas.TPX = 298.15,101325,{\'C2H6\':1, \'O2\':3.5, \'N2\':13.16}
gas.equilibrate(\'HP\',\'auto\')
T_C2H6=gas.T

gas = ct.Solution(\'gri30.xml\')
gas.TPX = 298.15,101325,{\'C2H4\':1, \'O2\':3, \'N2\':11.28}
gas.equilibrate(\'HP\',\'auto\')
T_C2H4=gas.T

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

temp=(T_C2H6,T_C2H4,T_C2H2)
temp=np.array(temp)

fuel=[\'Ethane\',\'Ethene\',\'Ethyne\']
print(temp)
plt.bar(fuel,temp)
plt.xlabel(\'Fuel\')
plt.ylabel(\'Adiabatic Flame Temperature\')
plt.title(\'Fuel Vs AFT using Cantera at constant Pressure\')
plt.show()

\"\"

OBSERVATION:-

  • The maximum temperature for Ethane is 2258.73 K
  • The maximum temperature for Ethene is 2368.64 K
  • The maximum temperature for Ethyne is 2539.67 K

RESULT:-

  • By both the observation of the Python and Cantera Program the bar graph plot are almost same, only the difference is about 200 - 400 K.
  • Since, the Ethyne has higher Adiabatic Flame Temperature this is due to Ethyne consist of less element of Hydrogen atom which produce less mole of Water molecule due to which it has higher AFT than other two.

CASE 4:-

Effect of number of carbon atom in alkane family in Adiabatic Flame Temperature.

\"\"\"
For a general alkane, plot the effect of the number of carbon atoms (from 1 to 3) on the final temperature. Assume H_loss = 0

The first three member of Alkane family are Methane, Ethane and Propane

For Methane,
CH4 + 2(O2+3.76N2) = CO2 + 2H2O + 7.52N2

For Ethane,
C2H6 + 3.5(O2+3.76N2) = 2CO2 + 3H2O + 13.16N2

For Propane,
C3H8 + 5(O2+3.76N2) = 3CO2 + 4H2O +18.8N2

Since, In this H_loss = 0
\"\"\"
import matplotlib.pyplot as plt 
import numpy as np 

def h(T,coeff):
	R = 8.314 #J/K-mole
	# Calculating Enthalpy
	a1=coeff[0]
	a2=coeff[1]
	a3=coeff[2]
	a4=coeff[3]
	a5=coeff[4]
	a6=coeff[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

# Low Temperature Heat Transfer Coefficient
CH4_coeff_l=[5.14987613E+00, -1.36709788E-02, 4.91800599E-05, -4.84743026E-08, 1.66693956E-11, -1.02466476E+04, -4.64130376E+00]
C2H6_coeff_l=[4.29142492E+00, -5.50154270E-03, 5.99438288E-05, -7.08466285E-08, 2.68685771E-11, -1.15222055E+04, 2.66682316E+00]
C3H8_coeff_l=[0.93355381E+00, 0.26424579E-01, 0.61059727E-05, -0.21977499E-07, 0.95149253E-11, -0.13958520E+05, 0.19201691E+02]
O2_coeff_l=[3.78245636E+00, -2.99673416E-03, 9.84730201E-06, -9.68129509E-09, 3.24372837E-12, -1.06394356E+03, 3.65767573E+00]
N2_coeff_l=[0.03298677E+02, 0.14082404E-02, -0.03963222E-04, 0.05641515E-07, -0.02444854E-10, -0.10208999E+04, 0.03950372E+02]

# High Temperature Heat Transfer Coefficient
CO2_coeff_h=[3.85746029E+00, 4.41437026E-03, -2.21481404E-06, 5.23490188E-10, -4.72084164E-14, -4.87591660E+04, 2.27163806E+00]
H2O_coeff_h=[3.03399249E+00, 2.17691804E-03, -1.64072518E-07, -9.70419870E-11, 1.68200992E-14, -3.00042971E+04, 4.96677010E+00]
N2_coeff_h=[0.02926640E+02, 0.14879768E-02, -0.05684760E-05, 0.10097038E-09, -0.06753351E-13, -0.09227977E+04, 0.05980528E+02]

# Methane
def f_methane(T):
	R = 8.314 # J/mole-K
	T_std = 298.15 #K
	h_CH4_l=h(T_std,CH4_coeff_l)
	h_O2_l=h(T_std,O2_coeff_l)
	h_N2_l=h(T_std,N2_coeff_l)
	h_CO2_h=h(T,CO2_coeff_h)
	h_H2O_h=h(T,H2O_coeff_h)
	h_N2_h=h(T,N2_coeff_h)

	h_product = h_CO2_h + 2*h_H2O_h + 7.52*h_N2_h
	h_reactant = h_CH4_l + 2*(h_O2_l + 3.76*h_N2_l)

	return h_product - h_reactant

def fprime_methane(T):
	return (f_methane(T+1e-06)-f_methane(T))/1e-06

# Ethane
def f_ethane(T):
	R = 8.314 # J/K-mole
	T_std=298.15 #K
	h_CO2_p=h(T,CO2_coeff_h)
	h_H2O_p=h(T,H2O_coeff_h)
	h_N2_p=h(T,N2_coeff_h)
	h_C2H6_r=h(T_std,C2H6_coeff_l)
	h_O2_r=h(T_std,O2_coeff_l)
	h_N2_r=h(T_std,N2_coeff_l)

	h_product=2*h_CO2_p + 3*h_H2O_p + 13.16*h_N2_p
	h_reactant=h_C2H6_r + 3.5*(h_O2_r + 3.76*h_N2_r)

	return h_product - h_reactant 

def fprime_ethane(T):
	return(f_ethane(T+1e-06)-f_ethane(T))/1e-06

# Propane
def f_propane(T):
	R = 8.314 # J/K-mole
	T_std=298.15 #K
	h_CO2_p=h(T,CO2_coeff_h)
	h_H2O_p=h(T,H2O_coeff_h)
	h_N2_p=h(T,N2_coeff_h)
	h_C3H8_r=h(T_std,C3H8_coeff_l)
	h_O2_r=h(T_std,O2_coeff_l)
	h_N2_r=h(T_std,N2_coeff_l)

	h_product=3*h_CO2_p + 4*h_H2O_p + 18.8*h_N2_p
	h_reactant=h_C3H8_r + 5*(h_O2_r + 3.76*h_N2_r)

	return h_product - h_reactant 

def fprime_propane(T):
	return(f_propane(T+1e-06)-f_propane(T))/1e-06

T_guess_methane = 1500 #K
T_guess_ethane = 1500 #K
T_guess_propane = 1500 #K
alpha = 0.8
tol = 1e-4
temp = []

# Methane
while (abs(f_methane(T_guess_methane))>tol):
	T_guess_methane=T_guess_methane-alpha*(f_methane(T_guess_methane)/fprime_methane(T_guess_methane))
temp.append(T_guess_methane)

# Ethane
while (abs(f_ethane(T_guess_ethane))>tol):
	T_guess_ethane=T_guess_ethane-alpha*(f_ethane(T_guess_ethane)/fprime_ethane(T_guess_ethane))
temp.append(T_guess_ethane)

# Propane
while (abs(f_propane(T_guess_propane))>tol):
	T_guess_propane=T_guess_propane-alpha*(f_propane(T_guess_propane)/fprime_propane(T_guess_propane))
temp.append(T_guess_propane)

fuel = [\'Methane\',\'Ethane\',\'Propane\']
print(temp)
plt.bar(fuel,temp)
plt.xlabel(\'Fuel\')
plt.ylabel(\'Adiabatic Flame Temperature\')
plt.title(\'Effect of Adiabatic Flame Temperature in Alkane family\')
plt.show()

\"\"

OBSERVATION:-

  • The Temperature for Methane is 2325.59 K
  • The Temperature for Ethane is 2379.84 K
  • The Temperature for Propane is 2392.09 K
  • The difference in adiabatic flame temperature is not much enough differenc but it slightly in which propane has maximum Adiabatic Flame Temperature and Methane has minimum Adiabatic Flame Temperature.

RESULT :-

The reason for having the maximum Adiabatic Flame Temperature for Propane is due present high number of Hydrogen atom which result in high mole of water molecule and hence result in high Adiabatic Flame Temperature.

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.