# Chapter 18 : Adiabatic Reaction Temperature¶

### Example 18.1 Page Number : 650¶

In [2]:


import math

# Variables
T_1 = 298.15;			#[K] - standard reaction temperature
T_2 = 500;			#[K] - Reaction temperature
P = 1;			#[atm] - Pressure

a_CO2 = 5.316;
a_O2 = 6.085;
a_N2 = 6.903;
a_H2O = 7.700;
a_C3H8 = -0.966;
b_CO2 = 1.4285*10**(-2);
b_O2 = 0.3631*10**(-2);
b_N2 = -0.03753*10**(-2);
b_H2O = 0.04594*10**(-2);
b_C3H8 = 7.279*10**(-2);
c_CO2 = -0.8362*10**(-5);
c_O2 = -0.1709*10**(-5);
c_N2 = 0.1930*10**(-5);
c_H2O = 0.2521*10**(-5);
c_C3H8 = -3.755*10**(-5);
d_CO2 = 1.784*10**(-9);
d_O2 = 0.3133*10**(-9);
d_N2 = -0.6861*10**(-9);
d_H2O = -0.8587*10**(-9);
d_C3H8 = 7.580*10**(-9);

# The smath.tan(math.radiansard enthalpy of formation at 298.15 K is given by
delta_H_for_CO2 = -94.052;			#[kcal/mol]
delta_H_for_C3H8 = -24.820;			#[kcal/mol]
delta_H_for_H2O = -57.7979;			#[kcal/mol]

# The reaction with stoichiometric amount of air is
# C3H8 + 5(O2 + 3.7N2) - 3CO2 + 4H2O + 18.8N2

# The reaction with 100% excess air is
# C3H8 + 10(O2 + 3.7N2) - 3CO2 + 4H2O + 5O2 + 37.6N2

# Calculations
# The smath.tan(math.radiansard enthalpy change of reaction at 298.15 K
delta_H_rkn_298 = 3*delta_H_for_CO2 + 4*delta_H_for_H2O - delta_H_for_C3H8;

# For exit stream
sum_ai_ni = 3*a_CO2 + 4*a_H2O + 5*a_O2 + 37.6*a_N2;
sum_bi_ni = 3*b_CO2 + 4*b_H2O + 5*b_O2 + 37.6*b_N2;
sum_ci_ni = 3*c_CO2 + 4*c_H2O + 5*c_O2 + 37.6*c_N2;
sum_di_ni = 3*d_CO2 + 4*d_H2O + 5*d_O2 + 37.6*d_N2;

# To raise the exit species from 298.15 to 500 K the enthalpy change is

def f1(T):
return sum_ai_ni+sum_bi_ni*T+sum_ci_ni*T**(2)+sum_di_ni*T**(3)

delta_H_rkn = delta_H_rkn*10**(-3);			#[kcal]

# Therefore per mole of fuel the heat exchange is
# Q = Heat exchange in step 1 + Heat exchange in step 2
Q = delta_H_rkn_298 + delta_H_rkn;

# Results
print "   The heat transfer from the combustion chamber per mole of fuel is %f kcal (per mol of C3H8)"%(Q);

   The heat transfer from the combustion chamber per mole of fuel is -415.328732 kcal (per mol of C3H8)


### Example 18.2 Page Number : 650¶

In [2]:


from scipy.optimize import fsolve

# Variables
T_1 = 298.15;			#[K] - Smath.tan(math.radiansard reaction temperature

a_CO2 = 5.316;
a_H2O = 7.700;
a_O2 = 6.085;
a_C2H6 = 1.648;
b_CO2 = 1.4285*10**(-2);
b_H2O = 0.04595*10**(-2);
b_O2 = 0.3631*10**(-2);
b_C2H6 = 4.124*10**(-2);
c_CO2 = -0.8362*10**(-5);
c_H2O = 0.2521*10**(-5);
c_O2 = -0.1709*10**(-5);
c_C2H6 = -1.530*10**(-5);
d_CO2 = 1.784*10**(-9);
d_H2O = -0.8587*10**(-9);
d_O2 = 0.3133*10**(-9);
d_C2H6 = 1.740*10**(-9);

# The stabdard enthalpy of formation at 298.15 K is given by
delta_H_for_CO2 = -94.052;			#[kcal/mol]
delta_H_for_C2H6 = -20.236;			#[kcal/mol]
delta_H_for_H2O = -57.7979;			#[kcal/mol]

# Calculations
# The reaction with stoichiometric amount of air is
# C2H6 + (7/2)O2 - 2CO2 + 3H2O

# The reaction with 4 mol of O2 and 10 mol CO2 is
# C2H6 + 4O2 + 10CO2 - 12H2O + 3H2O + 0.5O2
# The product consists of 12 mol of CO2, 3 mol of water vapour and 0.5 mol of oxygen
delta_H_rkn_298 = 2*delta_H_for_CO2 + 3*delta_H_for_H2O - delta_H_for_C2H6;			#[kcal]
delta_H_rkn_298 = delta_H_rkn_298*10**(3);			#[cal]

# For exit stream
sum_ai_ni = 12*a_CO2 + 3*a_H2O + 0.5*a_O2;
sum_bi_ni = 12*b_CO2 + 3*b_H2O + 0.5*b_O2;
sum_ci_ni = 12*c_CO2 + 3*c_H2O + 0.5*c_O2;
sum_di_ni = 12*d_CO2 + 3*d_H2O + 0.5*d_O2;

# From energy balance equation we get
# delta_H_rkn_298 + sum_ai_ni*(T_2 - T_1) + (sum_bi_ni/2)*(T_2**(2) - T_1**(2)) + (sum_ci_ni/3)*(T_2**(3) - T_1**(3)) + (sum_di_ni/4)*(T_2**(4) - T_1**(4))
# Solving above equation for T_2
def f(T_2):
return delta_H_rkn_298 +sum_ai_ni*(T_2-T_1)+(sum_bi_ni/2)*(T_2**(2)-T_1**(2))+(sum_ci_ni/3)*(T_2**(3)-T_1**(3))+(sum_di_ni/4)*(T_2**(4)-T_1**(4))
T_2 = fsolve(f,-1)

# Results
print " The adiabatic flame temperature is %f K"%(T_2);

 The adiabatic flame temperature is 2090.385277 K


### Example 18.3 Page Number : 651¶

In [3]:

# Variables
T_1 = 298.15;			#[K] - Standard reaction temperature

# The reaction with theoritical air is
# CH4 + 2(O2 + 3.76N2) - CO2 + 2H20 + 7.52N2

# Calculations and Results
#(1)
n_product = (1 + 2 + 7.52);			# Total number of moles of product
# The mole fraction of water vapour is
y_H2O = 2/(n_product);
print " 1).The mole fraction of water vapour is %f"%(y_H2O);

#(2)
delta_H_rkn_298 = -730*10**(3);			#[J/mol]
C = 40;			#[J/mol-K] - Average molar heat capacity

# From energy balance we have
# delta_H_rkn_298 + n_product*C(T_2 - T_1) = 0
T_2 = - delta_H_rkn_298/(n_product*C) + T_1;			#[K]
T_max = T_2 - T_1;

print " 2).The maximum temperature rise of the exhaust gases is %f K"%(T_max);

 1).The mole fraction of water vapour is 0.190114
2).The maximum temperature rise of the exhaust gases is 1734.790875 K


### Example 18.4 Page Number : 651¶

In [7]:

from scipy.optimize import fsolve

# Variables
T_1 = 298.15;			#[K] - Standiansard reaction temperature

# The standard enthalpy of formation at 298.15 K is given by
delta_H_for_CO2 = -94.052;			#[kcal/mol]
delta_H_for_C8H18 = -59.780;			#[kcal/mol]
delta_H_for_H2O = -57.7979;			#[kcal/mol]

a_CO2 = 5.316;
a_H2O = 7.700;
a_N2 = 6.903;
b_CO2 = 1.4285*10**(-2);
b_H2O = 0.04595*10**(-2);
b_N2 = -0.03753*10**(-2);
c_CO2 = -0.8362*10**(-5);
c_H2O = 0.2521*10**(-5);
c_N2 = 0.1930*10**(-5);
d_CO2 = 1.784*10**(-9);
d_H2O = -0.8587*10**(-9);
d_N2 = -0.6861*10**(-9);

# Calculations and Results
#(a)
# The reaction with stoichiometric amount of air is
# C3H18 + 12.5(O2 + 3.76N2) - 8CO2 + 9H2O + 47N2

# The standard enthalpy change of reaction at 298.15 K is
delta_H_rkn_298 = 8*delta_H_for_CO2 + 9*delta_H_for_H2O - delta_H_for_C8H18;			#[kcal]
delta_H_rkn_298 = delta_H_rkn_298*10**(3);			#[cal]

# For exit stream
sum_ai_ni = 8*a_CO2 + 9*a_H2O + 47*a_N2;
sum_bi_ni = 8*b_CO2 + 9*b_H2O + 47*b_N2;
sum_ci_ni = 8*c_CO2 + 9*c_H2O + 47*c_N2;
sum_di_ni = 8*d_CO2 + 9*d_H2O + 47*d_N2;

# From energy balance equation we get
# delta_H_rkn_298 + sum_ai_ni*(T_2 - T_1) + (sum_bi_ni/2)*(T_2**(2) - T_1**(2)) + (sum_ci_ni/3)*(T_2**(3) - T_1**(3)) + (sum_di_ni/4)*(T_2**(4) - T_1**(4))
# Solving above equation for T_2
def f(T_2):
return delta_H_rkn_298 +sum_ai_ni*(T_2-T_1)+(sum_bi_ni/2)*(T_2**(2)-T_1**(2))+(sum_ci_ni/3)*(T_2**(3)-T_1**(3))+(sum_di_ni/4)*(T_2**(4)-T_1**(4))
T_2 = fsolve(f,-1)

print " 1).The adiabatic flame temperature is %f K"%(T_2);

#(2)
# The mean standard heat capacity of various components over the temperature range from 25 to 3000 C is
Cp_CO2 = 13.91;			#[cal/mol-K]
Cp_H2O = 10.16;			#[cal/mol-K]
Cp_O2 = 7.88;			#[cal/mol-K]
Cp_N2 = 7.45;			#[cal/mol-K]

# From energy balance equation we get
# delta_H_rkn_298 + (8*Cp_CO2 + 9*Cp_H2O + 47*Cp_N2)*(T_2_prime)
T_2_prime = - delta_H_rkn_298/(8*Cp_CO2 + 9*Cp_H2O + 47*Cp_N2);			#[K]
print " 2).The adiabatic flame temperature is %f K"%(T_2_prime);


 1).The adiabatic flame temperature is 2415.861178 K
2).The adiabatic flame temperature is 2193.675005 K


### Example 18.5 Page Number : 652¶

In [3]:

# Variables
# N2 + 3H2 - 2NH3
T_1 = 700;			#[K] - Reaction temperature
T_2 = T_1 + Max_adia_rise;			#[K] -

delta_H_rkn_700 = -94.2;			#[kJ] - Smath.tan(math.radiansard enthalpy of reaction at 700 K
delta_H_rkn_700 = delta_H_rkn_700*10**(3);			#[J]

# The mean standard heat capacity of various components over the temperature range from 700 to 800 K is
Cp_N2 = 30.0;			#[cal/mol-K]
Cp_H2 = 28.9;			#[cal/mol-K]
Cp_NH3 = 49.2;			#[cal/mol-K]

# Calculations
# The energy balance equation is

def f46(T):
return (sum_ni_Cpi_exit)*dT

#At exit, let moles of NH3 = (1-X),  moles of H2 = (3-3X),  moles of NH3 = 2X . Therefore we have,
# delta_H_rkn_700*X + {(1-X)*Cp_N2 + (3-3X)*Cp_H2 + (2X)*Cp_NH3}*(T_2 - T_1)
# On simplification we get, 960.3*X = 116.7
X = 116.7/960.3;

# Results
print " The maximum allowable conversion fraction in the reactor is given by X =  %f "%(X);

 The maximum allowable conversion fraction in the reactor is given by X =  0.121525


### Example 18.6 Page Number : 653¶

In [6]:

from scipy.optimize import fsolve
import math

# Variables
T_1 = 298.15;			#[K] - standard reaction temperature
V = 2.0*10**(-3);			#[m**(3)] - Volume of calorimeter
m = 10.;			#[g] - Mass of liquid octane
Mol_wt = 114.;			#[g/mol] - Molecular weight of octane
n = m/Mol_wt;			#[mol] - No of moles of octane
R = 8.314;			#[J/mol*K] - Universal gas constant

# The standard enthalpy of formation at 298.15 K is given by
delta_H_for_CO2 = -94.052;			#[kcal/mol]
delta_H_for_C8H18 = -59.780;			#[kcal/mol]
delta_H_for_H2O = -57.7979;			#[kcal/mol]

# The standard molar heat capacity of various components in high temperature range from is given by
# Cp_H2O = 6.970 + 0.3464*10**(-2)*T - 0.04833*10**(-5)*T**(2);
# Cp_O2 = 6.732 + 0.1505*10**(-2)*T - 0.01791*10**(-5)*T**(2);
# Cp_CO2 = 18.036 - 4.474*10**(-5)*T - 158.08/(T**(1/2));
# Therefore we have
# Sum_ni_Cpi_exit = 249.09 + 0.04*T - 0.547*10**(-5)*T**(2) - 1264.64/(T**(1/2))

# The reaction with stoichiometric amount of oxygen is
# C8H18 + 12.5O2 - 8CO2 + 9H2O

# The reaction with 50% excess oxygen is
# C8H18 + 18.75O2 - 8CO2 +9H2O + 6.25O2

# Calculations
# The standard enthalpy change of reaction at 298.15 K is
delta_H_rkn_298 = 8*delta_H_for_CO2 + 9*delta_H_for_H2O - delta_H_for_C8H18;			#[kcal]
delta_H_rkn_298 = delta_H_rkn_298*10**(3);			#[cal]

# From the energy balance equation we get

def f10(T):
return (sum_ni_Cpi_exit)*dT

# delta_H_rkn_298 + 249.09*(T_2 - T_1) + (0.04/2)*(T_2**(2) - T_1**(2)) - ((0.547*10**(-5))/3)*(T_2**(3)-T_1**(3)) - (1264.64*2)*(T_2**(1/2)-T_1**(1/2))
# Solving above equation for T_2
def f(T_2):
return delta_H_rkn_298 + 249.09*(T_2 - T_1) + (0.04/2)*(T_2**(2)-T_1**(2)) - ((0.547*10**(-5))/3)*(T_2**(3)-T_1**(3)) - (1264.64*2)*(T_2**(1./2)-T_1**(1./2))
T_2 = fsolve(f,1000)

# When 1 mol of octane reacts the final number of moles in the calorimeter is 23.25
# When n mol of octane reacts the final number of moles in the calorimeter is
n_total = n*23.25;			#[mol]

# Thus maximum explosion pressure is given by
P = (n_total*R*T_2)/V;			#[N/m**(2)]
P = P*10**(-5);			#[bar]

# Results
print " The maximum explosion pressure inside the bomb calorimeter is %f bar"%(P);

 The maximum explosion pressure inside the bomb calorimeter is 397.138166 bar


### Example 18.7 Page Number : 656¶

In [2]:
from scipy.optimize import fsolve
import math

# Variables
T_1 = 400 + 273.15;			#[K]
# SO2(g) + 1./2*(O2) (g) - SO3 (g)

a_SO2 = 6.157;
a_SO3 = 3.918;
a_O2 = 6.085;
a_N2 = 6.903;
b_SO2 = 1.384*10**(-2);
b_SO3 = 3.483*10**(-2);
b_O2 = 0.3631*10**(-2);
b_N2 = -0.03753*10**(-2);
c_SO2 = -0.9103*10**(-5);
c_SO3 = -2.675*10**(-5);
c_O2 = -0.01709*10**(-5);
c_N2 = 0.1930;
d_SO2 = 2.057*10**(-9);
d_SO3 = 7.744*10**(-9);
d_O2 = 0.3133*10**(-9);
d_N2 = -0.6861*10**(-9);

# Calculations
# At 400 C, from the given math.expressions
delta_H_rkn_T_1 = -22630.14 - 5.2815*T_1 + 0.9587*10**(-2)*T_1**(2) - 0.5598*10**(-5)*T_1**(3) + 1.3826*10**(-9)*T_1**(4);			#[cal]

# delta_H_rkn_T_X (for X moles of SO2 reacted) = delta_H_rkn_T_1*X

# Let the number of moles at equilibrium be
# n_O2 = 9-0.5*X
# n_SO2 =  12-X
# n_SO3 = X
# n_N2 = 79
# Total moles at equilibrium = 100-0.5X
# Ky = y_SO3/(y_SO2*y_O2**(1./2))
# Ky = (X*(100-0.5*X)**(1./2))/((12-X)*(9-0.5*X)**(1./2))
# We know that K = Ky*Kp. Since P = 1 atm, therefore Ky = K

# Now we have to account for the heat required to raise 9-0.5*X mol of O2, 12-X mol of SO2, X mol of SO3 and 79 mol of N2 from T to ART
# sum_ni_Cp_i = (12-X)*(a + b*T + c*T**(2) + d*T**(3)) + (9-0.5*X)*(a + b*T + c*T**(2) + d*T**(3)) + X*(a + b*T + c*T**(2) + d*T**(3)) + 79*(a + b*T + c*T**   (2) + d*T**(3))

# From energy balance equation we get

def f19(T):
return sum_ni_Cp_i

# The above equation on simplification becomes
# (673.99-5.2815*X)*(T-T_1) + (16.91+1.9175*X)*(10**(-2)/2)*(T**(2)-T_1**(2)) + (2.79-1.6793*X)*(10**(-5)/3)*(T**(3)-T_1**(3)) + (-26.70+5.5304*X)*(10**(-9)   /4)*(T**(4)-T_1**(4)) = delta_H_rkn_T_1*X

# Let us assume a temperature, say
T = 800;			#[K]
fault = 10;
def f(X):
return  K - (X*(100-0.5*X)**(1./2))/((12-X)*(9-0.5*X)**(1./2))

def f1(X):
return  (673.99-5.2815*X)*(T-T_1)+(16.91+1.9175*X)*(10**(-2)/2)*(T**(2)-T_1**(2))+(2.79-1.6793*X)*(10**(-5)/3)*(T**(3)-T_1**(3))+(-26.70+5.5304*X)*(10**(-9)/4)*(T**(4)-T_1**(4))+delta_H_rkn_T_1*X

while(fault>0.01):
K = math.exp(3.87 + (11389.10/T) - 2.6580*math.log(T) + 0.4825*10**(-2)*T - 0.1409*10**(-5)*T**(2) + 0.2320*10**(-9)*T**(3));
X1 = fsolve(f,0.1)
X2 = fsolve(f1,1)
fault = abs(X1-X2);
T = T + 0.01;

# Results
print " The moles of SO2 reacted are %f mol"%(X1);
print " The adiabatic reaction temperature is %f K"%(T);

 The moles of SO2 reacted are 7.594592 mol
The adiabatic reaction temperature is 886.860000 K