分子碰撞理论认为,反应物分子(或原子、离子)之间必须相互碰撞,才有可能发生化学反应.但是反应物分子之间并非每次碰撞都能发生反应.对一般反应而言,只有少数或极少数分子碰撞时能发生反应[1].能发生反应的碰撞称为有效碰撞,任一时间点上有效碰撞的机率就反映了该化学反应的动力学情况.从数学的角度来看,这种分子间的碰撞过程就可抽象为一个随机过程.因此,用基于统计理论的MonteCarlo方法应是模拟化学反应动力学的最直接方法.
1MonteCarlo模拟方法分析
如前所述,只有分子所发生的有效碰撞才会导致化学反应的发生.在分子的碰撞中,只有那些具有等于或超过活化能的所谓活化分子所发生的碰撞才能发生分子间的化学反应.对于一般反应而言,这些活化分子产生的机率(即反应机率)是服从均匀分布的,按照杨玉良等的分析,反应机率与反应速率之间只相差一个常数[2].因此,可以提出如下的模拟思路:将计算机内存当作反应器,同时将反应器划分成足够多的体积微元,接着由计算机产生一组符合均匀分布的伪随机数,并按照实验结果将整个反应过程分成若干时间段,然后考察在各时间段中反应进行的情况.具体方法是将各物种的反应速率与该组伪随机数逐一比较,然后统计反应速率大于伪随机数的次数,该次数就被视为发生了有效碰撞的次数.当反应物分子(原子、离子)之间发生一次有效碰撞,对应的反应物或产物就分别减少或增加1个计算机单位浓度,最后分别统计各时间段中各物种浓度的变化情况.算法流程如图1所示.
2化学反应动力学的MonteCarlo
模拟实例
2.1复杂反应网络的MonteCarlo