matlab模拟化学反应,Matlab环境下化学反应动力学的MonteCarlo模拟

分子碰撞理论认为,反应物分子(或原子、离子)之间必须相互碰撞,才有可能发生化学反应.但是反应物分子之间并非每次碰撞都能发生反应.对一般反应而言,只有少数或极少数分子碰撞时能发生反应[1].能发生反应的碰撞称为有效碰撞,任一时间点上有效碰撞的机率就反映了该化学反应的动力学情况.从数学的角度来看,这种分子间的碰撞过程就可抽象为一个随机过程.因此,用基于统计理论的MonteCarlo方法应是模拟化学反应动力学的最直接方法.

1MonteCarlo模拟方法分析

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

2化学反应动力学的MonteCarlo

模拟实例

2.1复杂反应网络的MonteCarlo

matlab模拟化学反应,Matlab环境下化学反应动力学的MonteCarlo模拟_第1张图片

模拟

图1蒙特卡洛算法框图

广东技术师范学院学报(自然科学)

2012年第3期Journal of Guangdong Polytechnic Normal University No.3,2012

Matlab环境下化学反应动力学的MonteCarlo模拟

苏铁军1邓仕英2李凡修2

(1.长江大学工程技术学院,湖北荆州434020;2.长江大学,湖北荆州434023)

摘要:化学反应的进行缘于分子间不断产生的随机有效碰撞.这种碰撞的随机性就为用MonteCarlo方法来模拟反应动力学过程提供了可能.依此,在Matlab环境下设计了一种用MonteCarlo方法来模拟化学反应动力学的算法.通过对反应实例的模拟,结果表明,MonteCarlo方法不仅与龙格库塔法一样均能对已建立动力学方程的组分进行较好模拟,而且对动力学方程欠缺组分的模拟也是有效的.

关键词:化学反应;动力学;MonteCarlo

中图分类号:O64;TP39文献标识码:A文章编号:1672-402X(2012)03-0001-03

收稿日期:2012-08-01

基金项目:湖北省教育科学“十二五”规划研究项目(项目编号:2012B311).

作者简介:苏铁军(1975-),男,湖北荆州人,长江大学工程技术学院讲师.研究方向:计算机化学教学与研究.

你可能感兴趣的:(matlab模拟化学反应)