In class activity: Isothermal reactor design

Lecture notes for chemical reaction engineering

Author
Published

March 13, 2024

Modified

May 10, 2024

Apply reaction engineering algorithm

  1. Derive the equation for batch time as a function of conversion for a second order reaction -r_A = k_2C_A^2
  1. Mole balance

    N_{A0} \frac{dX_A}{dt} = -r_A V

  2. Rate law

    -r_A = kC_A^2

  3. Stoichiometry

    C_A = C_{A0}(1-X_A)

  4. Combine

    N_{A0} \frac{dX_A}{dt} = k C_{A0}^2 (1 - X_A)^2 V

  5. Evaluate

    For constant batch volume V = V_0 solve

    N_{A0} \frac{dX_A}{dt} = k C_{A0}^2 (1 - X_A)^2 V_0

    \frac{dX_A}{dt} = k C_{A0} (1 - X_A)^2

    Integrate: \frac{1}{k C_{A0}} \int_0^X \frac{dX_A}{(1 - X_A)^2} = \int_0^t dt

from sympy import symbols, integrate, simplify, pprint

k, CA0, X, XA = symbols('k CA0 X XA')

expression = 1/ (1 - XA)**2 
integral_result = integrate(expression,(XA,0,X))
simplified_integral = simplify(integral_result)

t = (1 / (k * CA0)) * simplified_integral

pprint(t)
     -X      
─────────────
CA₀⋅k⋅(X - 1)

t = \frac{1}{k C_{A0}}\frac{X}{1-X}

  1. Determining k from Batch Data

    It is desired to design a CSTR to produce 200 million pounds of ethylene glycol per year by hydrolyzing ethylene oxide. However, before the design can be carried out, it is necessary to perform and analyze a batch-reactor experiment to determine the specific reaction-rate constant, k. Because the reaction will be carried out isothermally, the specific reaction rate will need to be determined only at the reaction temperature of the CSTR. At temperatures above 80^\circ C, there is a significant by-product formation, while at temperatures below 40^\circ C, the reaction does not proceed at a significant rate; consequently, a temperature of 55^\circ C has been chosen. Because water is present in excess, its concentration (55.5 mol/dm^3) may be considered constant during the course of the reaction. The reaction is first-order in ethylene oxide.

    \ce{C2H4O + H2O ->[H2SO4] (CH2-OH)2}

    \ce{A + B ->[catalyst] C}

    In the laboratory experiment, 500 mL of a 2 M solution (2 kmol/m^3) of ethylene oxide (A) in water was mixed with 500 mL of water (B) containing 0.9 wt% sulfuric acid, which is a catalyst. The temperature was maintained at 55^\circ C. The concentration of ethylene glycol (C) was recorded as a function of time (Table 1).

    1. Derive an equation for the concentration of ethylene glycol as a function of time.

    2. Rearrange the equation derived in (a) to obtain a linear plot of a function concentration versus time.

    3. Using the data in (Table 1), determine the specific reaction rate at 55^\circ C.

Table 1: Concentration-Time Data
Time (min) 0.00 0.50 1.00 1.50 2.00 3.00 4.00 6.00 10.00
Concentration of Ethylene Glycol (C) (kmol/m^3) 0.00 0.14 0.27 0.38 0.47 0.61 0.71 0.85 0.96
  1. See slides 9 and 10.

  2. \ln \frac{C_{A0}}{C_A} = kt

Concentration of ethylene oxide (A) C_A = C_{A0} e^{-kt}

Concentration of ethylene oxide (C) C_C = C_A0 - C_A = C_{A0}(1 - e^{-kt}) \tag{1}

  1. Rearranging Equation 1 we get

\ln \frac{C_A0 - C_C}{C_A0} = t

The plot of \ln [(C_A0 - C_C)/C_A0] vs. t will be a straight line with slope -k.

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import linregress

time = np.array([0.0, 0.5, 1.0, 1.5, 2.0, 3.0, 4.0, 6.0, 10.0])
conc_C = np.array([0.000, 0.145, 0.270, 0.376, 0.467, 0.610, 0.715, 0.848, 0.957])

conc_A0 = 1.0 # kmol/m^3 

lhs = np.log((conc_A0 - conc_C)/conc_A0)

slope, intercept, r_value, p_value, std_err = linregress(time, lhs)
line = slope * time + intercept

k = -slope

# Plot 
plt.scatter(time, lhs, color='blue', label='Data points')
plt.plot(time, line, color='red', label='Fit line')

# Labels and title
plt.xlabel('t (min)')
plt.ylabel('$\ln[(C_{A0}-C_C)/C_{A0}]$')
plt.title('Linear Fit of $\ln[(C_{A0}-C_C)/C_{A0}]$ vs t')
plt.legend()

k_text = f'k: {k:.3f} $min^{{-1}}$'
plt.annotate(f'{k_text}', xy=(0.05, 0.20), xycoords='axes fraction', verticalalignment='top')

# Show plot
plt.show()

  1. Exit concentration for CSTR in series using the algorithm:

    Obtain C_{A2} in terms of C_{A0} and Da for two CSTRs operating in series. The reaction is first order isothermal liquid phase reaction.

Relate C_{A2} to k & t

C_{A2} = \frac{C_{A1}}{1 + \tau k}; C_{A1} = \frac{C_{A0}}{1 + \tau k}

Substitute: C_{A2} = \frac{C_{A0}}{1 + \tau k} \frac{1}{1 + \tau k}

C_{A2} = \frac{C_{A0}}{(1 + \tau k)^2}

  1. Derive equation for conversion in a liquid phase PFR for second order reaction \ce{2A -> products}; -r_A = kC_A^2 in terms of Damköhler number Da_2 = \tau k C_{A0}
  1. Mole balance

    F_{A0} \frac{dX_A}{dV} = -r_A

  2. Rate law

    -r_A = kC_A^2

  3. Stoichiometry

    C_A = C_{A0}(1-X_A)

  4. Combine

    F_{A0} \frac{dX_A}{dV} = k C_{A0}^2 (1 - X_A)^2

  5. Evaluate

    V = \frac{\upsilon_0}{k C_{A0}} \int_0^X \frac{dX_A}{(1 - X_A)^2}

    V = \frac{\upsilon_0}{k C_{A0}}\frac{X}{1-X}

    Da_2 = \tau k C_{A0} = \frac{X}{1-X}

    X = \frac{Da_2}{1+ Da_2}

Citation

BibTeX citation:
@online{utikar2024,
  author = {Utikar, Ranjeet},
  title = {In Class Activity: {Isothermal} Reactor Design},
  date = {2024-03-13},
  url = {https://cre.smilelab.dev//content/notes/04-isothermal-reactor-design/in-class-activities.html},
  langid = {en}
}
For attribution, please cite this work as:
Utikar, Ranjeet. 2024. “In Class Activity: Isothermal Reactor Design.” March 13, 2024. https://cre.smilelab.dev//content/notes/04-isothermal-reactor-design/in-class-activities.html.