大学化学, 2021, 36(12): 2101060-0 doi: 10.3866/PKU.DXHX202101060

自学之友

反应动力学通用模拟软件及其在教学中的应用

葛华才,1, 左荣红2, 王德麒1

1 华南理工大学化学与化工学院, 广州 510641

2 华南理工大学图书馆, 广州 510641

General Simulation Software of Reaction Kinetics and Its Application in Teaching

Ge Huacai,1, Zuo Ronghong2, Wang Deqi1

1 School of Chemistry and Chemical Engineering, South China University of Technology, Guangzhou 510641, China

2 Library, South China University of Technology, Guangzhou 510641, China

通讯作者: 葛华才,Email: chhcge@scut.edu.cn

收稿日期: 2021-01-31   接受日期: 2021-03-3  

基金资助: 广东省高等学校精品教材建设项目.  2014–2018

Received: 2021-01-31   Accepted: 2021-03-3  

Abstract

The kinetic differential equations of reaction systems were introduced. By using the fourth-order Runge-Kunta numerical integration method and Visual Basic 6, a general kinetic simulation software was obtained. The relations between the concentrations of every component with time at a fixed temperature were directly calculated. The teaching practices on physical chemistry and other courses shown that this software could directly display the relationships between the concentrations of every component of the reaction system and the influencing factors such as time and temperature, which would be helpful for students to grasp the laws of reaction kinetics and the knowledge points of the courses.

Keywords: Reaction system ; Kinetics ; Simulation software ; Physical chemistry course ; Teaching practice

PDF (1336KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

葛华才, 左荣红, 王德麒. 反应动力学通用模拟软件及其在教学中的应用. 大学化学[J], 2021, 36(12): 2101060-0 doi:10.3866/PKU.DXHX202101060

Ge Huacai. General Simulation Software of Reaction Kinetics and Its Application in Teaching. University Chemistry[J], 2021, 36(12): 2101060-0 doi:10.3866/PKU.DXHX202101060

化学动力学是物理化学[1]、化学动力学[2]、反应工程、无机化学[3]等课程的主要内容之一。直观动态地显示各类反应系统反应组分的浓度随时间的关系及温度的影响,有助于了解和掌握相关反应的动力学规律,这通常需要求解反应动力学微分方程组。然而,这类方程组一般无函数形式的通解,因此需借助数值积分方法得到数值解。反应动力学微分方程形式多样,编写能应用于各种情形的通用软件亦比较困难。到目前为止,国内已研制了多个适用于特定情形的软件[4–8],国外亦研制了多个软件[9, 10],但这些软件很少涉及温度的影响。我们经过多年在物理化学和化学动力学课程方面的教学研究基础上[11, 12],编写出适用于各类反应系统的动力学模拟计算通用软件,可以研究不同温度下各组分浓度随时间的关系,有助于学生在教学过程中了解时间和温度对反应的影响规律。

1 原理

设反应系统有m个组分,分别记为Ai,i = 1, 2, …, m,存在如下n个反应:

$\sum\limits_{i}{{{(-{{v}_{i}}{{{\rm{A}}}_{i}})}_{s}}}\underset{{{k}_{-, s}}}{\overset{{{k}_{+, s}}}{\longleftrightarrow}}\sum\limits_{j}{{{({{v}_{j}}{{{\rm{A}}}_{j}})}_{s}}}, \;\;s=1, 2, \cdots , n$

式中(vi)s为第s个反应中组分Ai的化学计量数,k+, s和k–, s分别为第s个反应正向和逆向的速率常数。速率常数k与温度T的关系常用推广的阿伦尼乌斯方程描述:

$k=A{{T}^{a}}\exp \left( -E{\rm{a}}/RT \right)$

其中A、a、Ea、R分别为指前因子、温度系数、活化能和摩尔气体常数。相应地,恒温时反应系统的动力学微分方程可写为:

$\text{d}{{c}_{{{\text{A}}_{j}}}}/\text{d}t=\sum\limits_{s\text{=1}}^{n}{{{(v_{j}^{+})}_{s}}}{{k}_{+, s}}\prod\limits_{i}{{{(c_{{{\text{A}}_{i}}}^{n_{i}^{+}})}_{s}}}\text{+}\sum\limits_{s\text{=1}}^{n}{{{(v_{j}^{-})}_{s}}}{{k}_{-, s}}\prod\limits_{i}{{{(c_{{{\text{A}}_{i}}}^{n_{i}^{-}})}_{s}}}=\\\ {{f}_{j}}(t\text{, }\ {{c}_{{{\text{A}}_{1}}}}\text{, }\ {{c}_{{{\text{A}}_{2}}}}\text{, }\ \cdots \text{ , }\ {{c}_{{{\text{A}}_{m}}}}), \ j=1, 2, \cdots , m$

对于第s个反应,式中$ {(v_j^ + )_s} $和$ {(v_j^ - )_s} $分别为正向、逆向中组分Aj的化学计量数;$ n_i^ + $和$ n_i^ - $对应为正向、逆向中组分Ai的分级数,为0时相当于该组分不参与反应。

式(3)移项积分可得:

${c}_{{{\rm{A}}}_{j}}(t)={c}_{{{\rm{A}}}_{j}}(t=0)+{\displaystyle {\int }_{t{\rm{=}}0}^{t}{\rm{ }}{f}_{j}{\rm{(}}t,{c}_{{{\rm{A}}}_{1}},{c}_{{{\rm{A}}}_{2}},\cdots ,{c}_{{{\rm{A}}}_{m}}{\rm{)}}}{\rm{ d}}t, \;j=1, 2, \cdots , m$

若知道t = 0时各组分的初浓度,即:

${c_{{{{\rm{A}}}_j}}}{{\rm{(}}}t = {{\rm{0)}}} = {c_{{{{\rm{A}}}_j}}}({{\rm{0}}}) , \;j=1, 2, \cdots , m$

便可知道以后任意时刻(t)任意组分的浓度。但式(4)难以通过直接积分的方法得到各组分浓度与时间的函数关系,常用4阶Runge-Kunta数值积分法进行求解[11, 12]。设计算的最长反应时间为tmax,将反应时间从0–tmax分成p个等分,则每个等分(即积分步长) h为:

$h={{t}_{\max }}/p$

于是tk+1 = (k + 1)h时各组分的浓度为:

${c_{{{{\rm{A}}}_j}}}{{\rm{(}}}{t_{k + 1}}) = {c_{{{{\rm{A}}}_j}}}{{\rm{(}}}{t_k}) + ({f_{j1}} + 2{f_{j2}} + 2{f_{j3}} + {f_{j4}})/6 , \;j=1, 2, \cdots , m$

利用k = 0即初时刻t0 = 0对应的初浓度(5),使用式(7)可计算以后任意时刻tk (k = 1, 2, …, p)的各组分浓度。

微分方程组的数值求解是利用不同时刻的浓度值近似描述一系列连续的浓度–时间函数。显然,时间等分数越多,求解越准确,但计算量越大,因此可通过逐渐增大时间等分数即p值的方式找到合理值。考虑到四阶Runge-Kutta法具有较高的计算精度,p值只要选取10000以上使计算所得的浓度合理时即可达到精度要求。

2 软件介绍

本软件使用Microsoft Visual Basic 6.0语言在Windows系统下研制,已转成可执行程序。使用前需安装和注册VB插件msflxgrd.ocx。运行软件后根据提示单击“任意动力学方程”按钮(其中“一级反应网络”功能可看参考[12]),即可出现如图 1所示的界面,分为功能按钮、计算参数设置、反应参数输入和绘图四大区域。

图1

图1   软件的界面(单击“任意反应动力学”按钮后)


实际使用时,在反应参数输入区逐行输入实际的反应式和各组分的分级数,正、逆反应的速率常数或指前因子、活化能及温度系数,一行一个反应。反应组分可用实际的分子式或用非数值开始的代号,若是数值开始的分子式如4-甲基苯酚,必须加括号即(4-甲基苯酚)或用A1等符号表示组分,否则数值4会被认为是化学计量数。若组分的分级数不是1时,则在其组分符后面加箭头号“^”和级数值,如图 1中2A^2表示组分A的分级数为2,化学计量数为−2。反应符指定为英文格式的等号“=”。反应式与速率常数的各数值之间使用英文格式的分号“; ”区分。所有反应均认为正向和逆向可同时进行,因此处理实际机理时反应式可适当减少。按正向和逆向指前因子或速率常数、正向和逆向活化能、正向与逆向温度系数的次序输入速率常数与温度的关系。若活化能和温度系数没有输入或为0时,相当于只输入速率常数,此时不考虑温度的影响。速率常数为0时表示不存在该方向的反应。反应组分的符号和数量根据输入的反应式自动确定。

反应式输入完后再输入各组分的初浓度,采用组分符号与初浓度数值加英文格式的冒号“: ”分隔,可一行一个组分或一行多个组分的方式输入,一行多个初浓度值时用英文格式的分号“; ”分隔,初浓度为0的值可不用输入。亦可输入不同时刻多种组分实际浓度的实验或准确值,此时先输入符号t加冒号及不同时间值,各值间用分号分隔,整体作为一行;接着一行是组分符加冒号及不同时间对应的浓度值,浓度值之间亦使用分号。这时可直接显示出不同时刻的实际浓度,以便与计算结果进行比较,图 1即属此情形。

输入完反应式和初浓度后,在计算参数区修改反应温度、浓度单位和绘图浓度范围、反应时间和时间单位,然后单击“绘制浓度时间曲线”按钮,即可得到各组分的浓度与时间的关系曲线。计算得到的数据可以以纯文本格式的“Txt”文件保存,以便使用其他软件如Origin或Excel等进一步处理,亦可读取纯文本格式的数据进行重新绘图。

需要注意的是,输入的数值可以是负数或带e格式(即10的幂次)的数,但不能是计算式或带有括号。为便于阅读理解,反应参数输入区可输入空格和说明行,说明行是不带有英文格式的等号和冒号的内容。输入区可进行常规的编辑操作,亦可用复制或粘贴命令。计算时,反应时间取值较大时会使微分不能用数值差分近似而异常退出,建议以最小的反应速率常数值的倒数作为反应时间选取的参考,从较小值开始逐渐增大计算。当然,亦可增大时间步长值,如从一万到几万甚至几十万,但这样会显著增加计算时间。通过与实验值比较或计算的浓度是否符合质量守恒定律等判断计算结果是否合理。

程序设定单个方向反应的最大组分数为10个,最多可研究同时存在500个反应的情形。

3 教学实例

在介绍各种级数的反应动力学特征时,不同级数对反应完全时间的影响规律是一个重要知识点。可以考虑同时存在单组分级数n为0、1、1.5、2、3级和二组分2级的如下反应:

A0$ \xrightarrow{{{k_0}}} $B0,0级;A1$ \xrightarrow{{{k_1}}} $B1,1级;A15$ \xrightarrow{{{k_{1.5}}}} $B15,1.5级;A2$ \xrightarrow{{{k_2}}} $B2,2级;

A3$ \xrightarrow{{{k_3}}} $B3,3级;A21 + A22$ \xrightarrow{{{k_{11}}}} $B21,反应组分均为1级

设反应正向的速率常数均为1 (mol·L−1)1−n·s−1,逆向速率常数均为0,即不存在逆反应。若各反应的反应物的初浓度均为2 mol·L−1,具体的反应参数和计算参数选取输入及计算结果如图 2所示。从计算得到的曲线可知,产物B0、B1、B15、B2 (= B21)和B3的浓度曲线对应图中从右上方到中间依序的5条曲线,而反应物A0、A1、A15、A2 (= A21 = A22)和A3的浓度曲线则对应图中从右下方到中间依序的5条曲线。此时2个二级反应的3个反应物及2个产物B2和B21的浓度保持相等。但与t < 1.3 s之前的曲线次序刚好相反,原因是此时的反应物浓度数值较高且主要大于1,级数越大反应速率越大,所以级数大的产物浓度增加快而处于上方;然而,当浓度数值小于1时,级数越大反应速率越小,级数大的产物浓度增长慢反而处于下方。从图中还可知道,当反应级数大于或等于1时,反应物的浓度趋于0对应的时间∞即为反应完全时间。对级数为0,反应完全时间2 s。对于小于1的非整数或负级数反应,单独绘制所得的曲线趋势与0级类似,一定时间(即完全反应时间)后反应物浓度由正变为零,然后变为负。这时计算机自动取零处理,与实际情况对应。总的结论:其他条件相同时,级数越小,反应完全时间越小,级数等于或大于1的反应完全时间趋于无穷大。这个结论亦可从另一角度得到证明。对单一反应物A的n级单向反应:A$ \xrightarrow{{{k_n}}} $B,动力学方程为:dcA/dt = −kncAn,移项积分结果为:cA1−n = cA01−n + (n − 1)knt。cA = 0时t = (cA01−n − 01−n)/[(1 − n)kn],即为反应完全时间。显然,n ≥ 1时,t = ∞;n < 1时t = cA01−n/[(1 − n)kn],cA0和kn固定时,t随n减小而变小。另外,此时计算的浓度与准确的浓度值最大误差为±5 × 10−7 mol·L−1,完全达到精度要求。

图2

图2   0–3级典型反应的各组分浓度与时间的关系


放热的对行反应有最佳温度,即转化率一定时反应速率达到最大对应的温度,在物理化学教材[13]中常以反应2SO2(g) + O2(g) = 2SO3(g)作为实例,但无实质的相关数据说明,学生难以理解。该反应正、逆方向的指前因子及活化能[14]分别为1.63 × 105 L2·mol−2·s−1、7.20 × 109 L·mol−1·s−1、75.32 kJ·mol−1和169.0 kJ·mol−1,设SO2(g)和O2(g)的初浓度均为0.1 mol·L−1,反应参数区输入如下数据:

2SO2^2 + O2 = 2SO3^2;1.63e5;7.20e9;75320;169000

SO2: 0.1;O2: 0.1

温度分别取500、600、700和800 K时计算得到三个组分的浓度与时间关系如图 3所示。温度在500–700 K之间时转化率均可达到75%,但需要的时间分别为95000,4700和750 s,而800 K时的平衡转化率仅为59%。显然,转化率为75%时的较佳温度为700 K。这里的计算虽然难以得到准确的最佳温度,但通过分析亦可得到大致的最佳温度,使学生对产生反应最佳温度的原因得到较好的了解。

图3

图3   二氧化硫氧化反应各组分浓度变化与温度的关系


H2和Cl2的热反应是介绍链反应动力学常用的例子,为何自由原子H和Cl的浓度可用稳态法处理,是讨论的重点。此问题可通过具体的计算得以说明。其机理相关的反应式和相应正、逆方向的指前因子A+、A−及活化能Ea, +、Ea, −依次取值如下[15]:

Cl2 = 2Cl;8.51 × 1015 L·mol−1·s−1,1.25 × 1015 L·mol−1·s−1;234 kJ·mol−1,6.820 kJ·mol−1

Cl + H2 = HCl + H;2.65 × 1013 L·mol−1·s−1,1.69 × 1013 L·mol−1·s−1;21.37 kJ·mol−1,17.29 kJ·mol−1

H + Cl2 = HCl + Cl;4.822 × 1013 L·mol−1·s−1,2.84 × 1014 L·mol−1·s−1;3.46 kJ·mol−1,198 kJ·mol−1

假设H2和Cl2的初浓度均为10−5 mol·L−1,温度为1500 K,所得的计算结果如图 4所示。从图 4中可知,反应时间为10−6 s时,H2的转化率已达到80%以上。反应过程中H和Cl浓度最高约为0.009 × 10−5和0.068 × 10−5 mol·L−1,是H2初浓度的6.8%以下,即维持很小值。当温度降低到1000 K时反应(积分步长需选取200000,图略),反应时间为10−3 s时H2的转化率为94.7%,H和Cl的浓度最高分别为H2初浓度的0.004%和0.064%;但当反应温度升至2000 K时(积分步长选取20000即可,图略),反应时间为10−6 s时H2的转化率达92.6%,H和Cl的浓度最高分别达到H2初浓度的60%和2%。显然,温度低于1500 K时反应过程H和Cl浓度能维持较低值,所以可用稳态法处理;但温度接近2000 K时这两种中间物的浓度较高,稳态法不再能够使用。

图4

图4   反应H2 + Cl2→HCl的热反应机理动力学曲线


软件还提供了复合二级反应、复合一级反应、指前因子及活化能改变对反应时间的影响,稳态近似法与平衡态近似法比较、振荡反应,酶催化和其他催化反应等许多实例,教学时可根据实际要求随时调用。亦可自行输入一些实例,丰富教学内容。

4 结语

本反应动力学模拟软件具有输入方便、通用性强、界面友好、操作方便、计算快速(一般不超过10 s)等特点,同时提供了许多用于物理化学和化学动力学等相关课程的教学实例。教学实践表明,本软件提供的反应动力学实例直观明了,有助于学生掌握课程的知识点和了解动力学的原理和规律。另外,本软件亦可作为科学研究参考之用。

参考文献

葛华才; 袁高清; 张保安; 王黎明. 物理化学(新形态版),第2版 北京: 高等教育出版社, 2018, 206- 212.

[本文引用: 1]

许越. 化学反应动力学, 北京: 化学工业出版社, 2008, 16- 29.

[本文引用: 1]

陈广慧; 林旺强; 姜昆. 大学化学, 2020, 35 (12), 143.

DOI:10.3866/PKU.DXHX201911052      [本文引用: 1]

郭翔; 丛培盛; 朱仲良; 郭铁城. 计算机与应用化学, 2006, 23 (6), 565.

DOI:10.3969/j.issn.1001-4160.2006.06.020      [本文引用: 1]

任庆云; 王松涛; 玉占君; 范荫恒; 张大飞. 辽宁师范大学学报(自然科学版), 2010, 33 (4), 454.

URL    

钟巍; 田宙. 化学工程, 2011, 39 (8), 82.

URL    

黄雪征; 陈海玲; 张腾飞; 贺进虎. 南阳理工学院学报, 2011, 3 (4), 85.

URL    

张恒. 大学化学, 2021, 36 (4), 2005032.

DOI:10.3866/PKU.DXHX202005032      [本文引用: 1]

张恒; 汪存信. 大学化学, 2010, 25 (4), 47.

DOI:10.3969/j.issn.1000-8438.2010.04.012      [本文引用: 1]

周丹娜; 袁亚男; 杨少杰. 大学化学, 2016, 31 (9), 91.

DOI:10.3866/PKU.DXHX201601009      [本文引用: 1]

葛华才; 李映伟; 华婷婷. 实验室科学, 2017, 20 (1), 97.

URL     [本文引用: 2]

葛华才; 杜娟; 王黎明. 广州化工, 2018, 46 (14), 150.

URL     [本文引用: 3]

天津大学物理化学教研室. 物理化学(下册),第6版 北京: 高等教育出版社, 2018, 574

[本文引用: 1]

易德莲; 周华. 武汉冶金科技大学学报, 1997, 20 (1), 58.

URL     [本文引用: 1]

陈鑫; 李彪; 姚军; 朱元强. 大学化学, 2016, 31 (6), 80.

DOI:10.3866/PKU.DXHX201506008      [本文引用: 1]

/

〈 〉