Practice problem: Isothermal reactor design
CHEN3010/ CHEN5040: chemical reaction engineering
Introduction
Ethylene oxide (EO) (), also known as oxirane, is a colorless, flammable gas with a sweet, ether-like smell. EO is an important industrial chemical used primarily to make ethylene glycol (a key ingredient in antifreeze and polyester fiber) and other chemicals, such as surfactants, detergents, and solvents.
In 2022, global production of EO was nearly 28 millions of tons and s expected to grow at a steady CAGR of 4.07% during the forecast period until 2032. With a selling price of $1913 per tonne, the commercial value of EO is around $53 billion.
The primary route for EO production involves the direct vapor phase oxidation of ethylene in the presence of a silver catalyst:
This reaction is highly exothermic and requires careful control to manage the risk of runaway reactions. The process typically involves a recovery stage to separate EO from water and other byproducts.
We want to design a reactor achieve a desired conversion of ethylene. Ethylene and oxygen (as air) are fed in stoichiometric proportions to a packed-bed reactor operated isothermally at 280 . Ethylene is fed at a rate of 200 mol/s at a pressure of 10 atm (1013 kPa). It is proposed to use 10 banks of 25.4 mm diameter schedule 40 tubes packed with catalyst with 100 tubes per bank. Consequently, the molar flow rate to each tube is to be 0.2 mol/s.
The rate law for the reaction is
with k = 0.00392 at 260 . The heat of reaction, is -106.7 kJ/mol and the activation energy, E is 69.49 kJ/mol.
Question 1: Reactor selection (5 marks)
In order to aid reactor design, laboratory experiments were performed at 260 °C to determine reaction rate at various ethylene conversions. The data is plotted in Figure 1.
We want to achieve 60% conversion of ethylene. What kind of reactor would you suggest? Why?
Answer
Since this is a gas phase catalytic reaction a packed bed reactor would be ideal.
The graph is monotonously decreasing with conversion. Hence increases monotonically with conversion.
The amount of catalyst required is the area under the curve for a PBR and the area of rectangle with a width of and height of .
For a monotonously increasing curve, catalyst weight using CSTR will always be higher than a PBR. Therefore PBR is preferred.
Question 2: Isobaric reactor design
Write correct mole balance equation(s) for flow reactors (CSTR, and PBR) in terms of conversion of ethylene. (5 marks)
Using the mole balances developed in (a), determine the weight of catalyst required to achieve 60% conversion in a PBR. Show your working by following the reaction engineering algorithm. State your assumptions if any. (10 marks)
Answer
(a) We write mole balance equations for the two flow reactors: CSTR, and PBR
CSTR
PBR
and
or
(b) Isobaric reactor design
Mole balance
Rate law
Where,
Stoichiometry
For isothermal, isobaric reactors
Reaction:
Combine
Solve equations 1, 2, and 3 to obtain conversion as a function of catalyst weight.
Evaluate
import numpy as np
from scipy.integrate import solve_ivp
import matplotlib.pyplot as plt
= 280 + 273.15 # K
T = 260 + 273.15 # K
T0 = 10 # atm
P0
= 0.00392 # mol/ (atm kg-cat s)
k0
= 0.082 # atm dm^3/ (mol K)
R = 69490 # J/mol
E
# It is usually a good idea to write k as a function of temperature. However,
# since we are simulating isothermal case, we just evaluate it.
= k0 * np.exp((E/8.314) * ((1/T0) - (1/T)))
k
= 0.2
fa0 = 0.5 * fa0
fb0 = 0
fc0 = fb0 * (79/21)
fi0
= fa0 + fb0 + fc0 + fi0
ft0
= fa0/fa0
thetaA = fb0/fa0
thetaB = fc0/fa0
thetaC = fi0/fa0
thetaI
= fa0/ft0
ya0 = -0.5
delta = ya0 * delta
epsilon
= ya0 * P0
pa0 = pa0/(R * T) ca0
at 280
k = 0.00392 at 260 .
k at 280 = 0.00691
Ethylene and oxygen are fed in stoichiometric proportions to a packed-bed. The oxygen is fed as air (21% O2 and 79% N2 (Inert)).
= 0.20 mol/s
= 0.10 mol/s
= 0.00 mol/s
= 0.38 mol/s
= 0.68 mol/s
: = 1.00 , = 0.50 , = 0.00 , = 1.88 mol/s.
= 0.30.
= -0.15.
= 2.96 atm
= 0.07 .
def pbr(W, y, *args):
= y[0]
X
= args
fa0, ca0, thetaA, thetaB, nu_A, nu_B, epsilon, k
= ca0 * (thetaA + nu_A * X)/ ( 1 + epsilon * X)
ca = ca0 * (thetaB + nu_B * X)/ ( 1 + epsilon * X)
cb
= ca *(R * T)
pa = cb *(R * T)
pb
= k * pa**(1/3) * pb**(2/3)
rate
= rate/ fa0
dXdW
return [dXdW]
= -1
nu_A = -0.5
nu_B
# Solve the pbr model
= 25 # kg
W
# initial conditions
= [0]
y0
= (fa0, ca0, thetaA, thetaB, nu_A, nu_B, epsilon, k)
system_args
= solve_ivp(pbr, [0, W], y0, args=system_args, dense_output=True)
sol
= np.linspace(0,W, 1000)
w = sol.sol(w)[0]
X
= X[X > 0.6][0]
x_final = w[X > 0.6][0] w_final
Weight of catalyst required to achieve a conversion of 60%, W = 13.51 kg. The final conversion is X = 0.60.
Question 3: Effect of pressure drop (20 marks)
As this is a gas phase reaction carried out in a PBR, there is a significant pressure drop. The properties of the reacting fluid are to be considered identical to those of air at this temperature and pressure. The density of the 6.35 mm catalyst particles is 1925 , the bed void fraction is 0.45, and the gas density is 16 . For these catalyst properties, the pressure drop parameter is 0.0367
How will the equations change when you consider pressure drop? (4 marks)
Draw the profiles of concentrations of reactants and products, conversion, volumetric flow rate ratio (), and pressure ratio () as a function of catalyst weight. (12 marks)
Estimate the catalyst weight required to achieve 60% conversion considering pressure drop. Compare the results with those obtained in question 2. (4 marks)
Answer
a. How will the equations change when you consider pressure drop?
Mole balance
No change
Rate law
No change
Where,
Stoichiometry
The reator is no more isobaric
For isothermal reactors
Reaction:
Pressure drop
Where:
Combine
Solve equations 4, 5, 6, and 7 to obtain conversion as a function of catalyst weight.
Evaluate
def pbr_with_pressure_drop(W, y, *args):
= y
X,p = args
fa0, ca0, thetaA, thetaB, nu_A, nu_B, epsilon, k, alpha
= ca0 * (thetaA + nu_A * X)/ ( 1 + epsilon * X) * p
ca = ca0 * (thetaB + nu_B * X)/ ( 1 + epsilon * X) * p
cb
= ca * R * T
pa = cb * R * T
pb
= k * pa**(1/3) * pb**(2/3)
rate
= rate/ fa0
dXdW
= - alpha * (1 + epsilon * X) / (2 * p)
dpdW
return [dXdW, dpdW]
= -1
nu_A = -0.5
nu_B = 1
nu_C = 0
nu_I
# Solve the pbr model
= 25 # kg
W
# initial conditions
# at W = 0 , X = 0; p = 1
= [0, 1]
y0
= 0.0367
alpha = (fa0, ca0, thetaA, thetaB, nu_A, nu_B, epsilon, k, alpha)
system_args
= solve_ivp(
sol
pbr_with_pressure_drop, 0, W],
[
y0, =system_args,
args=True
dense_output
)
= np.linspace(0,W, 1000)
w = sol.sol(w)[0]
X = sol.sol(w)[1]
p
= X[X > 0.6][0]
x_final_2 = w[X > 0.6][0] w_final_2
b. Draw the profiles
# Concentrations
# C_j = C_A0 * (Theta_j + nu_j * X) * p/ (1 + epsilon *X)
= lambda X, p: ca0 * (thetaA + nu_A * X) * p / (1 + epsilon * X)
ca = lambda X, p: ca0 * (thetaB + nu_B * X) * p / (1 + epsilon * X)
cb = lambda X, p: ca0 * (thetaC + nu_C * X) * p / (1 + epsilon * X)
cc = lambda X, p: ca0 * (thetaI + nu_I * X) * p / (1 + epsilon * X)
ci
# volumetric flow rate ratio
# v/v0 = (1 + epsilon * X) * P_0/P = (1 + epsilon * X)/p
= lambda X, p: (1 + epsilon * X)/p
vv0
# Set up graph
= X[X < 0.6]
x_p = p[X < 0.6]
p_p = w[X < 0.6]
w_p
= ca(x_p, p_p)
ca_p = cb(x_p, p_p)
cb_p = cc(x_p, p_p)
cc_p = ci(x_p, p_p)
ci_p
= vv0(x_p, p_p) vv0_p
='$C_A$')
plt.plot(w_p, ca_p, label='$C_B$')
plt.plot(w_p, cb_p, label='$C_C$')
plt.plot(w_p, cc_p, label='$C_I$')
plt.plot(w_p, ci_p, label
'Catalyst weight (kg)')
plt.xlabel('Concentration $mol/dm^3$')
plt.ylabel(
# Setting x and y axis limits
0, np.ceil(w_final_2))
plt.xlim(0, 0.14)
plt.ylim(
='upper right')
plt.legend(loc
= plt.gca()
ax ='major', linestyle='-', linewidth='0.5', color='gray')
ax.grid(which
plt.show()
='conversion ($X$)')
plt.plot(w_p, x_p, label='$\\upsilon/\\upsilon_0 (f)$')
plt.plot(w_p, vv0_p, label='$P/P_0 (p)$')
plt.plot(w_p, p_p, label
'Catalyst weight (kg)')
plt.xlabel('$X, f, p$')
plt.ylabel(
# Setting x and y axis limits
0, np.ceil(w_final_2))
plt.xlim(0, 1.4)
plt.ylim(
plt.legend()
= plt.gca()
ax ='major', linestyle='-', linewidth='0.5', color='gray')
ax.grid(which plt.show()
- half marks for essentially correct procedure but wrong answers.
c. Estimate the catalyst weight required to achieve 60% conversion
Weight of catalyst required to achieve a conversion of 60%, W = 16.07 kg. The final conversion is X = 0.60.
As the presesure decreases within the reactor, the cocentration (and consequently the rate) decreases. This results into lower conversion for the same catalyst weight.
For the isobaric case, to achieve a conversion of 0.60, we needed 13.51 kg catalyst. If we used this catalyst weight to manufacture our reactor, the real life conversion would have been 0.55 and our reactor would severely underperform.
Citation
@online{untitled,
author = {},
title = {Practice Problem: {Isothermal} Reactor Design},
url = {https://cre.smilelab.dev/content/portfolio/practice/solution.html},
langid = {en}
}