Spontaneity of the Reaction of Nitrogen and Oxygen to form Nitrogen Monoxide - Maple Programming Help

Home : Support : Online Help : Applications and Example Worksheets : Science and Engineering : applications/ReactionSpontaneity

Spontaneity of the Reaction of Nitrogen and Oxygen to form Nitrogen Monoxide

Introduction

 Nitrogen reacts with oxygen as follows.   N2 (g) + O2 (g) → 2 NO (g)   This application will calculate the temperature at which this reaction becomes spontaneous.   Using the ThermophysicalData:-Chemicals package, the application first defines a temperature-dependent function that describes the Gibbs Energy of the reaction   This function is then numerically solved for the temperature at which the Gibbs Energy is zero. The reaction is spontaneous at or above this temperature.

Physical Properties

 > with(ThermophysicalData:-Chemicals):

Enthalpies

 > h_NO := Property("Hmolar", "NO(g)", "temperature" = T): h_N2 := Property("Hmolar", "N2(g)", "temperature" = T): h_O2 := Property("Hmolar", "O2(g)", "temperature" = T):

Entropies

 > s_NO := Property("Smolar", "NO(g)", temperature = T): s_N2 := Property("Smolar", "N2(g)", temperature = T): s_O2 := Property("Smolar", "O2(g)", temperature = T):

Gibbs Energy of Reaction

 > Gibbs := proc(temp)    local DeltaS, DeltaH, DeltaG:    uses Units:-Simple:    # Change in entropy    DeltaS := 2 * s_NO - (s_N2 + s_O2):    # Change in enthalpy    DeltaH := 2 * h_NO - (h_N2 + h_O2):    # Gibbs free energy    DeltaG := 0.5 * eval(DeltaH - temp * DeltaS, T = temp):    return DeltaG: end proc:

At 298 K, the Gibbs Energy per mole of NO   is

 > Gibbs(298 * Unit(K))
 ${87.58553545}{}⟦\frac{{\mathrm{kJ}}}{{\mathrm{mol}}}⟧$ (3.1)

The reaction is spontaneous when the Gibbs Energy is zero or negative. Hence the reaction is spontaneous at a temperature of

 > fsolve(Gibbs(T) = 0, T = 300 * Unit(K))
 ${7571.230267}{}⟦{K}⟧$ (3.2)
 > plot(Gibbs, 298 * Unit(K) .. 10000 * Unit(K), numpoints = 5, title = "Gibbs Energy of the Reaction of Nitrogen and Oxygen to Form Nitrogen Monoxide", labels = ["Temperature (K)", "Gibbs Free Energy (J/mol/K)"], labeldirections = [horizontal, vertical], size = [800,400])
 >