Application Center - Maplesoft

# Adiabatic Flame Temperature and Composition of the Combustion Products of Hydrogen and Oxygen

You can switch back to the summary page by clicking here.

Adiabatic Flame Temperature and Composition of the Combustion Products of Hydrogen and Oxygen

Introduction

Consider the combustion of hydrogen and oxygen.

H2 (g) + 0.5 O2 (g) ! H2O (g)

The application calculates the adiabatic flame temperature and equilibrium composition of the combustion products.

 • The equilibrium composition is calculated by minimizing the Gibbs Free Energy of the system
 • The flame temperature is found by equating the enthalpy of the feed and combustion products.

Both relationships are solved simultaneously using fsolve.

Temperature-dependent thermodynamic data are calculated with the ThermophysicalData:-Chemicals  package.

Physical Properties

 > restart:
 > with(ThermophysicalData:-Chemicals):

Enthalpies

 > h_H2O := Property("Hmolar", "H2O(g)", "temperature" = T): h_O2  := Property("Hmolar", "O2(g)",  "temperature" = T): h_H2  := Property("Hmolar", "H2(g)",  "temperature" = T):

Entropies

 > s_H2O := Property("Smolar", "H2O(g)", "temperature" = T): s_O2  := Property("Smolar", "O2(g)",  "temperature" = T): s_H2  := Property("Smolar", "H2(g)",  "temperature" = T):

Heat of formation

 > h_f_O2  := Property("HeatOfFormation", "O2(g)",  useunits): h_f_H2  := Property("HeatOfFormation", "H2(g)",  useunits): h_f_H2O := Property("HeatOfFormation", "H2O(g)", useunits):

Reference enthalpies

 > h_r_O2 := eval(h_O2,  T = 298.15 * Unit(K)): h_r_H2 := eval(h_H2,  T = 298.15 * Unit(K)): h_r_H2O:= eval(h_H2O, T = 298.15 * Unit(K)):

Equilibrium Composition as a Function of Temperature

Gibbs free energy of H2O, O2 and H2

 > G_H2O := proc(temp)    local  DeltaH, DeltaS, DeltaG_H2O:    DeltaH := eval(h_H2O - (h_H2 + 0.5 * h_O2), T = temp):    DeltaS := eval(s_H2O - (s_H2 + 0.5 * s_O2), T = temp);    DeltaG_H2O := DeltaH - DeltaS * temp:    return DeltaG_H2O: end proc: G_O2:= proc(temp) return 0 end proc: G_H2:= proc(temp) return 0 end proc:

Constraints

With 1 mole of H2 and 0.5 mole of O2 in the initial mixture, balancing the amount of H2, O2 and H2O before and after combustion gives

H2  + 0.5 O2 = n1 H2O + n2 H2 + n3 O2

Balancing the H atoms gives

2 = 2 n1 + 2 n2

Balancing the O atoms gives

0.5 x 2 = n1+ 2 n3

 > con1 := n1 +   n2 = 1 * Unit(mol): con2 := n1 + 2*n3 = 1 * Unit(mol):

Total number of moles in products

 > nt := n1 + n2 + n3:

Equilibrium Composition

Gibbs energy of the combustion product

 > gibbs :=   n1 * (G_H2O(T) + 8.3144 * Unit(J/mol/K) * T * ln(n1/nt))          + n2 * (G_H2(T)  + 8.3144 * Unit(J/mol/K) * T * ln(n2/nt))          + n3 * (G_O2(T)  + 8.3144 * Unit(J/mol/K) * T * ln(n3/nt)):

For a given temperature, minimizing the Gibbs Energy of the combustion products will give the equilibrium composition. Hence the values of n1, n2, n3, and n4 are given by the numeric solution of these equations, where L1 and L2 are the Lagrange multipliers.

 > eqComposition := L1 * diff(lhs(con1), n1) + L2 * diff(lhs(con2), n1) = diff(gibbs, n1), L1 * diff(lhs(con1), n2) + L2 * diff(lhs(con2), n2) = diff(gibbs, n2), L1 * diff(lhs(con1), n3) + L2 * diff(lhs(con2), n3) = diff(gibbs, n3):

Adiabatic Flame Temperature as a Function of Composition

This function gives the adiabatic flame temperature as a function of the moles of H2O in the product, n1

 > H_reactants :=   0: H_products  :=   n1*(h_f_H2O + (h_H2O - h_r_H2O))                + n2*(h_f_H2 + (h_H2 - h_r_H2))                + n3*(h_f_O2 + (h_O2 - h_r_O2)):
 > flameTemp := H_reactants = H_products:

Adiabatic Flame Temperature and Composition of Combustion Products

 > res := fsolve({eqComposition, flameTemp, con1, con2}, {L1 = -30000 * Unit(J/mol), L2 = -30000 * Unit(J/mol), T = 3500 * Unit(K), n1 = 0.1 * Unit(mol), n2 = 0.1 * Unit(mol), n3 = 0.1 * Unit(mol)})
 (7.1)

The products consist of

0.663 H2O + 0.337 H2 + 0.168 O2

with a flame temperature of

 > eval(T, res)
 (7.2)
 >

Legal Notice: © Maplesoft, a division of Waterloo Maple Inc. 2018. Maplesoft and Maple are trademarks of Waterloo Maple Inc. This application may contain errors and Maplesoft is not liable for any damages resulting from the use of this material. This application is intended for non-commercial, non-profit use only. Contact Maplesoft for permission if you wish to use this application in for-profit activities.