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 on the amount of carbon and hydrogen in the system.
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)
Entropy change
DeltaS := 1*Unit(mol)*s_CH4 - (1*Unit(mol)*s_C + 2*Unit(mol)*s_H2)
DeltaG_CH4 := DeltaH - DeltaS*temp
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)
DeltaS := 1*Unit(mol)*s_H2O - (1*Unit(mol)*s_H2 + 1/2*Unit(mol)*s_O2)
Gibbs Free Energy of Formation
DeltaG_H2O := DeltaH - DeltaS*temp
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)
DeltaS := 1*Unit(mol)*s_CO - (1*Unit(mol)*s_C + 0.5*Unit(mol)*s_O2)
DeltaG_CO := DeltaH - DeltaS*temp
C (gr) + O2 (g) → CO2 (g)
DeltaH := 1*Unit(mol)*h_CO2 - (1*Unit(mol)*h_C + 1*Unit(mol)*h_O2)
DeltaS := 1*Unit(mol)*s_CO2 - (1*Unit(mol)*s_C + 1*Unit(mol)*s_O2)
DeltaG_CO2 := DeltaH - DeltaS*temp
2 C (gr) + 2 H2 (g) → C2H4 (g)
DeltaH := Unit(mol)*h_C2H4 - (2*Unit(mol)*h_C + 2*Unit(mol)*h_H2)
DeltaS := Unit(mol)*s_C2H4 - (2*Unit(mol)*s_C + 2*Unit(mol)*s_H2)
DeltaG_C2H4 := DeltaH - DeltaS*temp
2 C (gr) + H2 (g) → C2H2 (g)
DeltaH := Unit(mol)*h_C2H2 - (2*Unit(mol)*h_C + 1*Unit(mol)*h_H2)
DeltaS := Unit(mol)*s_C2H2 - (2*Unit(mol)*s_C + 1*Unit(mol)*s_H2)
DeltaG_C2H2 := DeltaH - DeltaS*temp
2 C (gr) + 3 H2 (g) → C2H6 (g)
DeltaH := Unit(mol)*h_C2H6 - (2*Unit(mol)*h_C + 3*Unit(mol)*h_H2)
DeltaS := Unit(mol)*s_C2H6 - (2*Unit(mol)*s_C + 3*Unit(mol)*s_H2)
DeltaG_C2H6 := DeltaH - DeltaS*temp
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
DeltaG := [DeltaG_CH4, DeltaG_C2H4, DeltaG_C2H2, DeltaG_CO2, DeltaG_CO, DeltaG_O2, DeltaG_H2, DeltaG_H2O, DeltaG_C2H6] /~ Unit(mol):
Gibbs Energy of the product
Gt := n -> 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]
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.