Continuous stirred tank reactor model (CSTR)

The continuous stirred tank reactor model is a basic building block in unit operation networks and often used to model holdup volume. When combined with a binding model, it can be used to model batch uptake experiments.

Assuming that the fluid inside the tank is well-mixed and that the liquid volume \(V^{\ell}\) can vary, the governing equations are given by

\[\begin{split}\begin{aligned} \frac{\mathrm{d}}{\mathrm{d}t} (V^{\ell} c^\ell_i) + V^{s} \sum_j d_j \sum_{m_{j,i}}^{N_{\text{bnd},j,i}} \frac{\mathrm{d}}{\mathrm{d}t} (c^s_{j,i,m_{j,i}}) &= F_{\text{in}} c^\ell_{\text{in},i} - F_{\text{out}} c^\ell_i + V^{\ell} f_{\text{react},i}^l\left( c^\ell \right) \\ &+V^{s}\sum_j d_j f_{\text{react},j,i}^s\left( c^\ell, c_j^s \right) \end{aligned}\end{split}\]

where:

  • \(c^\ell_i\) concentration of component \(i\) in the liquid phase.

  • \(c^s_{j,i,m_{j,i}}\) concentration of component \(i\) in the solid phase of particle type \(j\) and particle type \(m_{j,i}\).

  • \(V^{\ell}\) liquid volume in the tank.

  • \(V^{s}\) solid volume in the tank.

  • \(F_{\text{in}}\) and \(F_{\text{out}}\) flow rates of liquid into and out of the tank.

  • \(f_{\text{react},i}^l\left( c^\ell \right)\) and \(f_{\text{react},j,i}^s\left( c^\ell, c_j^s \right)\) reaction rates of component \(i\) in the liquid and solid phase.

  • \(d_j\) volume fraction of the different solid volume in the tank.

Depending on whether quasi-stationary or dynamic binding is used the binding behavior of \(c_i^{\ell}\) and \(c^s_j\) is described by

\[\begin{split}\begin{aligned} \text{quasi-stationary: }& & 0 &= f_{\text{ads},j}\left( c_i^\ell, c^s_j\right), \\ \text{dynamic: }& & \frac{\partial c^s_j}{\partial t} &= f_{\text{ads},j}\left( c_i^\ell, c^s_j\right) + f_{\text{react},j}^s\left( c_i^\ell, c_j^s \right), \end{aligned}\end{split}\]

where \(f_{\text{ads},j}\) is the adsorption rate in the solid phase of particle type \(j\).

The evolution of volume of the liquid volume

\[\begin{aligned} \frac{\mathrm{d}V^{\ell}}{\mathrm{d}t}= F_{\text{in}} - F_{\text{out}} - F_{\text{filter}}. \end{aligned}\]

Removing all bound states by setting \(N_{\text{bnd},j,i} = 0\) for all components \(i\) and particle types \(j\), and applying no binding model results in a simple tank. The additional parameter \(F_{\text{filter}}\), which denotes the flow rate of pure liquid (without any components) out of the tank, can be used to model a filtering unit.

Note that it is the user’s duty to make sure that the volume of the CSTR does not fall below 0. If it does, the simulation may fail to run or may produce unreasonable (e.g., unphysical) results.

See Continuous stirred tank reactor model.