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
|
4
|
n8
|
9
|
C2H6
|
1
|
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
|
|
|
CH4
|
|
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)
|
Gibbs energy of formation
>
|
DeltaG_CH4 := DeltaH - DeltaS*temp
|
|
|
H2O
|
|
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)
|
Entropy change
>
|
DeltaS := 1*Unit(mol)*s_H2O - (1*Unit(mol)*s_H2 + 1/2*Unit(mol)*s_O2)
|
Gibbs energy of formation
>
|
DeltaG_H2O := DeltaH - DeltaS*temp
|
|
|
CO
|
|
C (gr) + 0.5 O2 (g) → CO (g)
Enthalpy change
>
|
DeltaH := 1*Unit(mol)*h_CO - (1*Unit(mol)*h_C + 0.5*Unit(mol)*h_O2)
|
Entropy change
>
|
DeltaS := 1*Unit(mol)*s_CO - (1*Unit(mol)*s_C + 0.5*Unit(mol)*s_O2)
|
Gibbs energy of formation
>
|
DeltaG_CO := DeltaH - DeltaS*temp
|
|
|
CO2
|
|
C (gr) + O2 (g) → CO2 (g)
Enthalpy change
>
|
DeltaH := 1*Unit(mol)*h_CO2 - (1*Unit(mol)*h_C + 1*Unit(mol)*h_O2)
|
Entropy change
>
|
DeltaS := 1*Unit(mol)*s_CO2 - (1*Unit(mol)*s_C + 1*Unit(mol)*s_O2)
|
Gibbs Energy of Formation
>
|
DeltaG_CO2 := DeltaH - DeltaS*temp
|
|
|
C2H4
|
|
2 C (gr) + 2 H2 (g) → C2H4 (g)
Enthalpy change
>
|
DeltaH := Unit(mol)*h_C2H4 - (2*Unit(mol)*h_C + 2*Unit(mol)*h_H2)
|
Entropy change
>
|
DeltaS := Unit(mol)*s_C2H4 - (2*Unit(mol)*s_C + 2*Unit(mol)*s_H2)
|
Gibbs energy of formation
>
|
DeltaG_C2H4 := DeltaH - DeltaS*temp
|
|
|
C2H2
|
|
2 C (gr) + H2 (g) → C2H2 (g)
Enthalpy change
>
|
DeltaH := Unit(mol)*h_C2H2 - (2*Unit(mol)*h_C + 1*Unit(mol)*h_H2)
|
Entropy change
>
|
DeltaS := Unit(mol)*s_C2H2 - (2*Unit(mol)*s_C + 1*Unit(mol)*s_H2)
|
Gibbs energy of formation
>
|
DeltaG_C2H2 := DeltaH - DeltaS*temp
|
|
|
C2H6
|
|
2 C (gr) + 3 H2 (g) → C2H6 (g)
Enthalpy change
>
|
DeltaH := Unit(mol)*h_C2H6 - (2*Unit(mol)*h_C + 3*Unit(mol)*h_H2)
|
Entropy change
>
|
DeltaS := Unit(mol)*s_C2H6 - (2*Unit(mol)*s_C + 3*Unit(mol)*s_H2)
|
Gibbs energy of formation
>
|
DeltaG_C2H6 := DeltaH - DeltaS*temp
|
|
|
H2
|
|
|
|
O2
|
|
|
|
|
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
|
|
>
|
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
| (6.1) |
|
|