反应动力学微分方程组自动生成程序

放牛娃,2007年5月19日

        终于完成了硕士论文了,流自己的汗,吃自己的饭!噢耶! 不知道是自己多心还是别人有意,最近发现自己经过无数的艰辛探索出的整套方法,被别人简单改造一番,当成了自己的聪明!各位朋友你们有没有遇见过这样的问题,我是不是太小心眼儿了,呵呵,就是心里感不舒服!   

      在数值模拟大气化学过程时,首先需要由反应机理写出其动力学微分方程组,在反应体系包含的基元反应众多,导致微分方程组十分复杂,用人工编写工作量大且容易出错。查了所有文献,报道的编写方法主要是矩阵法和字符串自动算法,矩阵法通过基元反应的系数矩阵运算得到动力学微分方程组,虽然思路清晰,但是当反应体系的物种很多时,求出独立的物种以及写出基元反应的系数矩阵都变得困难。字符串算法更是麻烦,繁琐的过程让人望而生畏。在实验过程中,探索了一种便于扩展的简洁方法,该方法主要有以下三步:

       第一步:求出独立物种,由于气相反应最多为三级反应,所以将所有基元反应的反应物分三组,分别为R1,R2,R3,将产物也分为三组,分别为P1,P2,P3,反应速率常数为K。通过对{R1,R2,R3,P1,P2,P3}求并集得到独立物种向量S;

     第二步:编写微分方程组,当物种S属于反应物时,则S对应速率增加“–K´R1´R2´R3”,当物种S属于产物时,则S对应反应速率增加“+K´R1´R2´R3”,这样就得到了所有独立物种的反应速率方程组; 

     第三步:通过符号运算将对应物种代换为变量X。

     有需要代码的请发邮件索取。

Tags: 动力学  微分方程组自动生成  

分类: 闲聊一二 | 评论:1 | 浏览:

相关文章:

发表评论