Catalytic Cracking of Ethane - Maple Programming Help

Online Help

All Products    Maple    MapleSim


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

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)

89.06855636kJ

(3.1.1)

Entropy change

DeltaS := 1*Unit(mol)*s_CH4 - (1*Unit(mol)*s_C + 2*Unit(mol)*s_H2)

108.5548332JK

(3.1.2)

Gibbs energy of formation

DeltaG_CH4 := DeltaH - DeltaS*temp

19.48627684kJ

(3.1.3)

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)

247.8552767kJ

(3.2.1)

Entropy change

DeltaS := 1*Unit(mol)*s_H2O - (1*Unit(mol)*s_H2 + 1/2*Unit(mol)*s_O2)

55.2736411JK

(3.2.2)

Gibbs energy of formation

DeltaG_H2O := DeltaH - DeltaS*temp

192.5816356kJ

(3.2.3)

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)

111.9965341kJ

(3.3.1)

Entropy change

DeltaS := 1*Unit(mol)*s_CO - (1*Unit(mol)*s_C + 0.5*Unit(mol)*s_O2)

88.2948423JK

(3.3.2)

Gibbs energy of formation

DeltaG_CO := DeltaH - DeltaS*temp

200.2913764kJ

(3.3.3)

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)

394.6125062kJ

(3.4.1)

Entropy change

DeltaS := 1*Unit(mol)*s_CO2 - (1*Unit(mol)*s_C + 1*Unit(mol)*s_O2)

1.2572526JK

(3.4.2)

Gibbs  Energy of Formation

DeltaG_CO2 := DeltaH - DeltaS*temp

395.8697588kJ

(3.4.3)

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)

38.22373474kJ

(3.5.1)

Entropy change

DeltaS := Unit(mol)*s_C2H4 - (2*Unit(mol)*s_C + 2*Unit(mol)*s_H2)

80.9312581JK

(3.5.2)

Gibbs energy of formation

DeltaG_C2H4 := DeltaH - DeltaS*temp

119.1549928kJ

(3.5.3)

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)

224.9812831kJ

(3.6.1)

Entropy change

DeltaS := Unit(mol)*s_C2H2 - (2*Unit(mol)*s_C + 1*Unit(mol)*s_H2)

53.7969897JK

(3.6.2)

Gibbs energy of formation

DeltaG_C2H2 := DeltaH - DeltaS*temp

171.1842934kJ

(3.6.3)

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)

105.0401991kJ

(3.7.1)

Entropy change

DeltaS := Unit(mol)*s_C2H6 - (2*Unit(mol)*s_C + 3*Unit(mol)*s_H2)

215.8750025JK

(3.7.2)

Gibbs energy of formation

DeltaG_C2H6 := DeltaH - DeltaS*temp

110.8348034kJ

(3.7.3)

H2

DeltaG_H2:= 0:

O2

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 -> 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=0.067518947817769323367mol,n2=9.134756911912727794510-8mol,n3=2.774890605694566555710-10mol,n4=0.55669335375188894522mol,n5=1.3757872150171095145mol,n6=0.,n7=5.3541353936680476732mol,n8=1.5108260774791125946mol,n9=1.500815579289763842910-7mol

(6.1)