Production of SynGas using Coal-Steam reactions
Author's Data: Housam BINOUS
Department of Chemical Engineering
National Institute of Applied Sciences and Technology
Tunis, TUNISIA
Email: binoushousam@yahoo.com

Reference: See Appendix IV for enthalpies and free energies of formation in book by S. I. Sandler, Chemical and Engineering Thermodynamics, 3rd Edition, Wiley 1999.

Reaction taking place at 1 Bar:
	C + 2 H2O = CO2 + 2 H2	(rxn 1)
	C + H20 = CO + H2		(rxn 2)
	C + 2 H2 = CH4		(rxn 3)

Off[General::"spell1"]

Equilibrium constants at 25°C and approximate expression of equilibrium constants as a function of temperature T (we assume Δ(H^0) for reactions 1 through 3 to be independant of temperature).

ΔG1 = -394.4 - 2 (-228.6)

K1[25] = 
      Exp[-ΔG1 1000/(8.314 T)] /. 
        T ->  298.15

ΔH1 = -393.5 - 2 (-241.8)

K1[T_] :=  
      K1[25] Exp[-ΔH1 1000/(8.314) (1/T - 
                1/298.15)]

plt1 = 
      Plot[Log[10, K1[T]], {T, 600, 1600}, 
        PlotStyle -> RGBColor[1, 0, 0], 
        DisplayFunction -> Identity]

ΔG2 = -137.2 - (-228.6)

K2[25] = 
      Exp[-ΔG2 1000/(8.314 T)] /. 
        T ->  298.15

ΔH2 = -110.5 - (-241.8)

K2[T_] :=  
      K2[25] Exp[-ΔH2 1000/(8.314) (1/T - 
                1/298.15)]

plt2 = 
      Plot[Log[10, K2[T]], {T, 600, 1600}, 
        PlotStyle -> RGBColor[0, 0, 1], 
        DisplayFunction -> Identity]

ΔG3 = -50.5

K3[25] = 
      Exp[-ΔG3 1000/(8.314 T)] /. 
        T ->  298.15

ΔH3 = -74.5

K3[T_] :=  
      K3[25] Exp[-ΔH3 1000/(8.314) (1/T - 
                1/298.15)]

plt3 = 
      Plot[Log[10, K3[T]], {T, 600, 1600}, 
        PlotStyle -> RGBColor[0, 1, 0], 
        DisplayFunction -> Identity]

Plot of equilibrium constant  versus temperature.

Show[plt1, plt2, plt3, DisplayFunction ->  $DisplayFunction, 
      AspectRatio ->  1.3]

Obtaining molar extents of reactions for reaction 1 through 3 and equilibrium mole fractions for the coal steam reactions.

T = 600; i = 0; 
    While[T < 
        1610, {sol = 
          Minimize[{(K1[
                          T] ((1 - 2 X1 - X2)^2 (1 + X1 + X2 - 
                                X3)) -  
                      X1 (2  X1 + X2 - 
                              2  X3)^2)^2 + 
(K2[
                          T] ((1 - 2 X1 - X2) (1 + X1 + X2 - 
                                X3)) -  
                      X2 (2  X1 + X2 - 
                            2  X3))^2 + 
(K3[
                          T] (2 X1 + X2 - 2  X3)^2 -  
                      X3 (1 + X1 + X2 - X3))^2, 2 X1 + X2 <  1,  
              0 <  2 X3 < 2 X1  + X2, 0 < X1 < 1, 0 < X2 < 1, 0 < X2 < 1, 
              1 + X1 + X2 - X3 ≠ 0} , {X1, X2, 
              X3}], 
ξ1[i] = 
          X1 /. sol[[2]], 
ξ2[i] = 
          X2 /. sol[[2]], 
ξ3[i] = 
          X3 /. sol[[2]], 
CH4[i] = 
          X3/(1 + X1 + X2 - X3) /. sol[[2]], 
H2[
            i] = (2 X1 + X2 - 2  X3)/(1 + X1 + X2 - X3) /. 
            sol[[2]], 
CO2[i] = 
          X1/(1 + X1 + X2 - X3) /. sol[[2]], 
CO[
            i] = X2/(1 + X1 + X2 - X3) /. 
            sol[[2]], 
H2O[
            i] = (1 - 2  X1 - X2)/(1 + X1 + X2 - X3) /. 
            sol[[2]], 
Tp[i] = T, T = T + 20, 
        i = i + 1}]

i

tbl1 = Table[{Tp[i], CH4[i]}, {i, 0, 50}];

tbl2 = Table[{Tp[i], H2[i]}, {i, 0, 50}];

tbl3 = Table[{Tp[i], CO2[i]}, {i, 0, 50}];

tbl4 = Table[{Tp[i], CO[i]}, {i, 0, 50}];

tbl5 = Table[{Tp[i], H2O[i]}, {i, 0, 50}];

tbl6 = Table[{Tp[i], ξ1[i]}, {i, 0, 50}];

tbl7 = Table[{Tp[i], ξ2[i]}, {i, 0, 50}];

tbl8 = Table[{Tp[i], ξ3[i]}, {i, 0, 50}];

Plotting molar extents of reactions for reaction 1 through 3 and equilibrium mole fractions for the coal steam reactions.

<< Graphics`Graphics`

PLT1 = 
      LogListPlot[tbl1, PlotJoined ->  True, 
        PlotStyle ->  Hue[0.1], 
        DisplayFunction -> Identity]

PLT2 = 
      LogListPlot[tbl2, PlotJoined ->  True, 
        PlotStyle ->  Hue[0.2], 
        DisplayFunction -> Identity]

PLT3 = 
      LogListPlot[tbl3, PlotJoined ->  True, 
        PlotStyle ->  Hue[0.3], 
        DisplayFunction -> Identity]

PLT4 = 
      LogListPlot[tbl4, PlotJoined ->  True, 
        PlotStyle ->  Hue[0.4], 
        DisplayFunction -> Identity]

PLT5 = 
      LogListPlot[tbl5, PlotJoined ->  True, 
        PlotStyle ->  Hue[0.5], 
        DisplayFunction -> Identity]

Show[PLT1, PLT2, PLT3, PLT4, PLT5, PlotRange -> All, 
      DisplayFunction ->  $DisplayFunction, AspectRatio ->  1.5, 
      Frame -> True]

pltξ1 = 
      LogListPlot[tbl6, PlotJoined ->  True, 
        PlotStyle ->  Hue[0.1], 
        DisplayFunction -> Identity]

pltξ2 = 
      LogListPlot[tbl7, PlotJoined ->  True, 
        PlotStyle ->  Hue[0.3], 
        DisplayFunction -> Identity]

pltξ3 = 
      LogListPlot[tbl8, PlotJoined ->  True, 
        PlotStyle ->  Hue[0.5], 
        DisplayFunction -> Identity]

Show[pltξ1, pltξ2, pltξ3, PlotRange -> All, 
      DisplayFunction ->  $DisplayFunction, AspectRatio ->  1.5, 
      Frame -> True]