Catalytic Cracking of Ethane
Introduction
Ethylene and hydrogen are generated by a steam cracker using ethane as a feedstock.
C2H6 (g) ⇌ C2H4 (g) + H2 (g)
The feed is 4 mol of H2O to 1 mol of ethane, with the cracker operating at 1.01 bar and 1000 K. The products contain CH4, C2H4, C2H2, CO2, CO, O2, H2, H2O, and C2H6 in the molar amounts n1 to n9.
Species
In Feed
In Product
1
CH4
n1
2
C2H4
n2
3
C2H2
n3
4
CO2
n4
5
CO
n5
6
O2
n6
7
H2
n7
8
H2O
n8
9
C2H6
n9
This application calculates the composition of the reaction products by
calculating the Gibbs energy of formation of the individual species in the products, employing data from the ThermophysicalData:-Chemicals package
constructing a function that describes Gibbs Energy of the products as a function of product composition
and minimizing the Gibbs Energy of the products, subject to constraints.
restart: with(ThermophysicalData:-Chemicals): with(Optimization):
temp := 1000 * Unit(K): R := 8.314 * Unit(J/mol/K):
Physical Properties
Enthalpies
h_CH4 := Property("Hmolar", "CH4", temperature = temp): h_C := Property("Hmolar", "C(gr)", temperature = temp): h_H2 := Property("Hmolar", "H2", temperature = temp): h_H2O := Property("Hmolar", "H2O", temperature = temp): h_O2 := Property("Hmolar", "O2", temperature = temp): h_CO := Property("Hmolar", "CO", temperature = temp): h_CO2 := Property("Hmolar", "CO2", temperature = temp): h_C2H4 := Property("Hmolar", "C2H4", temperature = temp): h_C2H2 := Property("Hmolar", "C2H2,acetylene", temperature = temp): h_C2H6 := Property("Hmolar", "C2H6", temperature = temp):
Entropies
s_CH4 := Property("Smolar", "CH4", temperature = temp): s_C := Property("Smolar", "C(gr)", temperature = temp): s_H2 := Property("Smolar", "H2", temperature = temp): s_H2O := Property("Smolar", "H2O", temperature = temp): s_O2 := Property("Smolar", "O2", temperature = temp): s_CO := Property("Smolar", "CO", temperature = temp): s_C := Property("Smolar", "C(gr)", temperature = temp): s_CO2 := Property("Smolar", "CO2", temperature = temp): s_C2H4 := Property("Smolar", "C2H4", temperature = temp): s_C2H2 := Property("Smolar", "C2H2,acetylene", temperature = temp): s_C2H6 := Property("Smolar", "C2H6", temperature = temp):
Gibbs energy of formation
C (gr) + 2 H2 (g) → CH4 (g)
Enthalpy change
DeltaH := 1*Unit(mol)*h_CH4 - (1*Unit(mol)*h_C + 2*Unit(mol)*h_H2)
−89.07⁢kJ
Entropy change
DeltaS := 1*Unit(mol)*s_CH4 - (1*Unit(mol)*s_C + 2*Unit(mol)*s_H2)
−108.55⁢JK
DeltaG_CH4 := DeltaH - DeltaS*temp
19.49⁢kJ
H2 (g) + 0.5 O2 (g) → H2O (l)
Enthalpy Change
DeltaH := 1*Unit(mol)*h_H2O - (1*Unit(mol)*h_H2 + 0.5*Unit(mol)*h_O2)
−247.86⁢kJ
DeltaS := 1*Unit(mol)*s_H2O - (1*Unit(mol)*s_H2 + 1/2*Unit(mol)*s_O2)
−55.27⁢JK
DeltaG_H2O := DeltaH - DeltaS*temp
−192.58⁢kJ
C (gr) + 0.5 O2 (g) → CO (g)
DeltaH := 1*Unit(mol)*h_CO - (1*Unit(mol)*h_C + 0.5*Unit(mol)*h_O2)
−112.00⁢kJ
DeltaS := 1*Unit(mol)*s_CO - (1*Unit(mol)*s_C + 0.5*Unit(mol)*s_O2)
88.29⁢JK
DeltaG_CO := DeltaH - DeltaS*temp
−200.29⁢kJ
C (gr) + O2 (g) → CO2 (g)
DeltaH := 1*Unit(mol)*h_CO2 - (1*Unit(mol)*h_C + 1*Unit(mol)*h_O2)
−394.61⁢kJ
DeltaS := 1*Unit(mol)*s_CO2 - (1*Unit(mol)*s_C + 1*Unit(mol)*s_O2)
1.26⁢JK
Gibbs Energy of Formation
DeltaG_CO2 := DeltaH - DeltaS*temp
−395.87⁢kJ
2 C (gr) + 2 H2 (g) → C2H4 (g)
DeltaH := Unit(mol)*h_C2H4 - (2*Unit(mol)*h_C + 2*Unit(mol)*h_H2)
38.22⁢kJ
DeltaS := Unit(mol)*s_C2H4 - (2*Unit(mol)*s_C + 2*Unit(mol)*s_H2)
−80.93⁢JK
DeltaG_C2H4 := DeltaH - DeltaS*temp
119.15⁢kJ
2 C (gr) + H2 (g) → C2H2 (g)
DeltaH := Unit(mol)*h_C2H2 - (2*Unit(mol)*h_C + 1*Unit(mol)*h_H2)
224.98⁢kJ
DeltaS := Unit(mol)*s_C2H2 - (2*Unit(mol)*s_C + 1*Unit(mol)*s_H2)
53.80⁢JK
DeltaG_C2H2 := DeltaH - DeltaS*temp
171.18⁢kJ
2 C (gr) + 3 H2 (g) → C2H6 (g)
DeltaH := Unit(mol)*h_C2H6 - (2*Unit(mol)*h_C + 3*Unit(mol)*h_H2)
−105.04⁢kJ
DeltaS := Unit(mol)*s_C2H6 - (2*Unit(mol)*s_C + 3*Unit(mol)*s_H2)
−215.88⁢JK
DeltaG_C2H6 := DeltaH - DeltaS*temp
110.83⁢kJ
DeltaG_H2:= 0:
DeltaG_O2:= 0:
Constraints
A mole balance on the carbon, hydrogen and oxygen gives these constraints
Carbon
n1 + 2 n2 + 2 n3 + n4 + n5 + 2 n9 = 2
Hydrogen
4 n1 + 4 n2 + 2 n3 + 2 n7 + 2 n8 + 6 n9 = 14
Oxygen
2 n4 + n5 + 2 n6 + n8 = 4
cons := n1 + 2*n2 + 2*n3 + n4 + n5 + 2*n9 = 2 * Unit(mol) ,4*n1 + 4*n2 + 2*n3 + 2*n7 + 2*n8 + 6*n9 = 14 * Unit(mol) ,2*n4 + n5 + 2*n6 + n8 = 4 * Unit(mol):
Gibbs Energy of the Products
Collect the Gibbs Energy of all species in a list
DeltaG := [DeltaG_CH4, DeltaG_C2H4, DeltaG_C2H2, DeltaG_CO2, DeltaG_CO, DeltaG_O2, DeltaG_H2, DeltaG_H2O, DeltaG_C2H6] /~ Unit(mol):
Total Gibbs Energy of the products
Gt := n -> local i; add(n[i] * DeltaG[i], i=1..9) + R * temp * add(n[i] * ln(((n[i] + 1e-10*Unit(mol))/ add(n[i], i=1..9))), i=1..9):
Optimization
Digits := 20:
composition := Minimize(Gt([n1, n2, n3, n4, n5, n6, n7, n8, n9]), {cons}, initialpoint = [n1 = 1 * Unit(mol), n2 = 1 * Unit(mol), n3 = 1 * Unit(mol), n4 = 1 * Unit(mol), n5 = 1 * Unit(mol), n6 = 1 * Unit(mol), n7 = 1 * Unit(mol), n8 = 1 * Unit(mol), n9 = 1 * Unit(mol)], assume = nonnegative, iterationlimit = 300):
Hence the product composition is
composition[2]
n1=6.75×10-2⁢mol,n2=9.13×10-8⁢mol,n3=2.77×10-10⁢mol,n4=5.57×10-1⁢mol,n5=1.38×100⁢mol,n6=0.00×100,n7=5.35×100⁢mol,n8=1.51×100⁢mol,n9=1.50×10-7⁢mol
Download Help Document