跳转至

并行反应选择性的温度轨迹优化

背景

在批式反应器中,同一种原料可能同时生成目标产物和副产物。温度会改变 两条反应通道的速率,但影响程度并不相同:活化能较大的通道会随温度 升高而相对增强。因此,提高温度虽然能够加快转化,也可能降低选择性。

本例为不可逆并行反应网络

\[ A\longrightarrow B,\qquad A\longrightarrow C \]

选择一条平滑的升温、保温和降温轨迹,其中 \(B\) 为目标产物。批次必须 在 90 分钟内达到 92% 转化率,并以零温度变化率返回进料温度。

动力学与状态

对通道 \(i\in\{B,C\}\),一阶 Arrhenius 速率常数为

\[ k_i(T)=A_i\exp\left(-\frac{E_i}{R_gT}\right). \]

\(c_A,c_B,c_C\) 为各组分浓度。温度通过尺度化状态 \(\vartheta\in[0,1]\) 表示:

\[ T=T_{\min}+(T_{\max}-T_{\min})\vartheta. \]

物理温度变化率 \(r_T=\dot T\) 也是状态,控制量为其加速度 \(a_T=\dot r_T\)。完整动力学为

\[ \begin{aligned} \dot c_A&=-[k_B(T)+k_C(T)]c_A,\\ \dot c_B&=k_B(T)c_A,\\ \dot c_C&=k_C(T)c_A,\\ \dot\vartheta&=\frac{r_T}{T_{\max}-T_{\min}},\\ \dot r_T&=a_T. \end{aligned} \]

动力学参数为

\[ \begin{array}{lll} A_B=2.0\times10^8\ \mathrm{min^{-1}},& E_B=60\,000\ \mathrm{J/mol},\\ A_C=5.0\times10^{10}\ \mathrm{min^{-1}},& E_C=75\,000\ \mathrm{J/mol},& R_g=8.314\ \mathrm{J/(mol\,K)}. \end{array} \]

由于 \(E_C>E_B\),高温会提高副反应相对于主反应的速率比 \(k_C/k_B\)

目标函数与约束

初始和终端条件为

\[ \begin{aligned} (c_A,c_B,c_C,\vartheta,r_T)(0) &=(1,0,0,0,0),\\ c_A(90)&=0.08\ \mathrm{mol/L},\\ \vartheta(90)&=0,\qquad r_T(90)=0. \end{aligned} \]

终端 \(c_B\)\(c_C\) 由优化决定。路径边界为

\[ \begin{aligned} 0&\le c_A,c_B,c_C\le1\ \mathrm{mol/L},\\ 298.15&\le T(t)\le343.15\ \mathrm K,\\ |r_T(t)|&\le2.0\ \mathrm{K/min},\\ |a_T(t)|&\le0.35\ \mathrm{K/min^2}. \end{aligned} \]

目标函数为

\[ \min J=c_C(t_f)+w_r\int_0^{t_f} \left[ \left(\frac{r_T}{2.0}\right)^2 +0.15\left(\frac{a_T}{0.35}\right)^2 \right]\,\mathrm dt, \qquad w_r=2.0\times10^{-4}\ \mathrm{\frac{mol}{L\,min}}. \]

在转化率严格固定时,守恒关系给出 \(c_B(t_f)+c_C(t_f)=0.92\ \mathrm{mol/L}\),所以单独最小化 \(c_C\) 等价于 最大化目标产物得率和比例 \(c_B/c_C\)。但实际实现的目标函数不严格等价 于选择性最大化,因为其中还有有限权重的温度变化率与加速度正则项; 模型有意用少量产物性能换取更平滑的温度程序。

变量与单位

符号 含义 单位
\(t\) 批次时间 min
\(c_A,c_B,c_C\) 原料、目标产物和副产物浓度 mol/L
\(T,\vartheta\) 物理温度和尺度化温度 K、无量纲
\(r_T\) 温度变化率 K/min
\(a_T\) 温度变化率加速度 K/min²
\(k_B,k_C\) 一阶反应速率常数 1/min
\(A_B,A_C\) Arrhenius 指前因子 1/min
\(E_B,E_C\) 活化能 J/mol
\(J\) 副产物与平滑性目标 mol/L

建模选择与适用边界

把温度变化率设为状态、把其加速度设为控制,可同时保证温度轨迹及一阶 导数连续且有界。\(200\times2\) Lobatto 网格给出分段线性加速度样本,并 解析平滑的 Arrhenius 动力学。

这是理想的空间均匀、定容批式模型。它假定不可逆一阶反应,省略能量 守恒、传热面积、夹套或加热器动态、除 \(A\) 外的原料耗尽、二次反应、 体积变化、不确定性和放热等安全约束。优化得到的 \(T(t)\) 应理解为理想 温度执行器的设定值轨迹,而不是完整反应器控制设计。

运行示例

python -m examples.parallel_reaction_selectivity

保存图片且不打开窗口:

python -m examples.parallel_reaction_selectivity --save parallel-reaction-selectivity.png --no-show

独立数值验证

脚本在 6,001 个时刻重构浓度、温度、温度变化率和加速度,并独立计算 解析原料关系

\[ c_A(t)=c_A(0)\exp\left[ -\int_0^t(k_B(T(s))+k_C(T(s)))\,\mathrm ds \right]. \]

此外还会检查 \(c_A+c_B+c_C=c_A(0)\),分别积分两种产物生成速率,核对 温度变化率积分平衡,并检查全部端点与路径边界。

指标 验证值
目标函数 \(J\) \(0.38924799\ \mathrm{mol/L}\)
目标产物得率 \(c_B(t_f)/c_A(0)\) \(0.533074\)
目标产物/副产物比例 \(c_B(t_f)/c_C(t_f)\) \(1.377718\)
转化率 \(0.920000\)
峰值温度 \(320.047293\ \mathrm K\)
最大解析原料误差 \(1.819\times10^{-5}\ \mathrm{mol/L}\)
最大组分守恒误差 \(2.220\times10^{-16}\ \mathrm{mol/L}\)
最大密集产物速率平衡误差 \(3.319\times10^{-6}\ \mathrm{mol/L}\)
密集温度平衡误差 输出精度下为 \(0\)
最大密集路径边界超限 输出精度下为 \(0\)

原料与产物浓度、优化反应器温度和变化率,以及两条 Arrhenius 反应速率常数

源代码

完整可运行示例见: examples/parallel_reaction_selectivity.py