24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1916  |  回复: 12

19880520

新虫 (初入文坛)

[求助] 求尿素热解化学反应动力学参数估算方法已有3人参与

小弟是搞内燃机尾气排放的,最近在研究SCR系统尿素结晶机理。现在想根据尿素的热重分析曲线(TGA曲线)来求化学反应动力学参数。
化学反应机理如下图:
求尿素热解化学反应动力学参数估算方法
其动力学方程如下:
反应速率
R(1)=k(1)*urea
R(2)=k(2)*NH4
R(3)=k(3)*NCO*H
R(4)=k(4)*urea*NCO*H
R(5)=k(5)*biuret
R(6)=k(6)*biuret*NCO*H
R(7)=k(7)*cya
R(8)=k(8)*cya*NCO*H
R(9)=k(9)*amme
其中k(i)可以用阿累尼乌斯方程计算,R=8.31,T为温度,e是自然对数
k(1)=A(1)*e^(Ea(1)/RT)
k(2)=A(1)*e^(Ea(2)/RT)
k(3)=A(3)*e^(Ea(3)/RT)
k(4)=A(4)*e^(Ea(4)/RT)
k(5)=A(5)*e^(Ea(5)/RT)
k(6)=A(6)*e^(Ea(6)/RT)
k(7)=A(7)*e^(Ea(7)/RT)
k(8)=A(8)*e^(Ea(8)/RT)
k(9)=A(9)*e^(Ea(9)/RT)
各组分浓度变化率
durea/dt=(-R(1)-R(4)+R(5))
   dNH3/dt = (R(2)+R(6))
    dHCNO/dt = R(3)
    dbiuret/dt= (R(4)-R(5)-R(6))
    dcya/dt= (R(6)-R(7)-R(8))
    damme/dt= (R(8)-R(9))
    dHCN/dt= R(9)
    dNH/dt= R(9)
    dCO2/dt= R(8)
    dNH4/dt= (R(1)-R(2))
    dNCO/dt= (R(1)-R(3)-R(4)+R(5)-R(6)+3*R(7)-R(8)+2*R(9))
    dH/dt=H_0+(R(2)-R(3)-R(4)+R(5)-R(6)+3*R(7)-R(8)+2*R(9))

我现在有这样一组热重分析TGA试验数据,温度升高率为10K/min,其中mass/initial mass为urea+biuret+cya+amme之和。我现在想用这组试验数据拟合出上述九个化学反应的频率因子和活化能,请问要怎么做?我被这个问题困扰了好几个月了,一直没有找到很好的方法。
求尿素热解化学反应动力学参数估算方法-1
数据如下:
temperature        mass/initial mass
349.422        0.999276
370.417        0.998046
389.63        0.992421
407.512        0.978029
424.514        0.950498
436.611        0.91416
446.498        0.855916
455.503        0.785992
463.618        0.71314
472.198        0.622788
480.786        0.523683
489.361        0.437708
502.854        0.347409
512.735        0.295
527.52        0.251398
547.622        0.250159
575.762        0.250467
594.969        0.250677
609.27        0.24354
624.93        0.217452
637.484        0.172367
650.497        0.114157
666.176        0.070564
686.315        0.032856
703.32        0.002407
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

19880520

新虫 (初入文坛)

没啥金币,但是真心求教啊
2楼2014-02-28 10:25:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
各自的初始值都知道吗,比如urea,NH3,HCNO,biuret,cya...的起始值。
3楼2014-02-28 11:16:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

19880520

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by dingd at 2014-02-28 11:16:56
各自的初始值都知道吗,比如urea,NH3,HCNO,biuret,cya...的起始值。

一开始全部是尿素,即urea=1,其他都是0
4楼2014-02-28 18:09:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
能有高版本的1stopt软件做比较好。
MATLAB的话,参见:
http://muchong.com/bbs/viewthread.php?tid=6425538&authorid=1122189
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
5楼2014-02-28 18:49:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

1:a1至a9,ea1至ea9都是需要求解的参数吗?
2:微分项比如“durea/dt”中的dt是指时间t(积分区间)还是与温度T是一回事?
3:最后一个公式中的:"H_0"是什么?
6楼2014-02-28 22:52:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

19880520

新虫 (初入文坛)

1.a1至a9,ea1至ea9,就是要估计这18个参数。
2.t(S)是时间,T是温度(k)
3.最后没有H_0的,写错了。dH/dt=(R(2)-R(3)-R(4)+R(5)-R(6)+3*R(7)-R(8)+2*R(9))
那个帖子上应该是恒温条件,K是恒定不变的,我这里是变温的,k要随着温度不停的变化,所以感觉要比那个帖子复杂很多
7楼2014-03-01 12:01:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

1stOpt试试,太化时间,大概算了下,不知理解对否,供参考。有时间自己慢慢算。
CODE:
Constant R=8.31;
ConstStr
        k1=a1*exp(ea1/(r*t)),k2=a1*exp(ea2/(r*t)),k3=a3*exp(ea3/(r*t)),
        k4=a4*exp(ea4/(r*t)),k5=a5*exp(ea5/(r*t)),k6=a6*exp(ea6/(r*t)),
        k7=a7*exp(ea7/(r*t)),k8=a8*exp(ea8/(r*t)),k9=a9*exp(ea9/(r*t));
ConstStr
        r1=k1*urea,r2=k2*nh4,r3=k3*nco*h,r4=k4*urea*nco*h,r5=k5*biuret,
        r6=k6*biuret*nco*h,r7=k7*cya,r8=k8*cya*nco*h,r9=k9*amme;
InitialODEValue x=0,t=349.422,urea=1,nh3=0,hcno=0, biuret=0,cya=0,amme=0,hcn=0,nh=0,co2=0,nh4=0,nco=0,h=0;
Variable x, t, urea+biuret+cya+amme;
ODEFunction
   urea'=(-r1-r4+r5);
   nh3' = (r2+r6);
   hcno' = r3;
   biuret'= (r4-r5-r6);
   cya'= (r6-r7-r8);
   amme'= (r8-r9);
   hcn'= r9;
   nh'= r9;
   co2'= r8;
   nh4'= (r1-r2);
   nco'= (r1-r3-r4+r5-r6+3*r7-r8+2*r9);
   h'=(r2-r3-r4+r5-r6+3*r7-r8+2*r9);
Data;
//x temperature        mass/initial mass
0        349.422        0.999276
1        370.417        0.998046
2        389.63        0.992421
3        407.512        0.978029
4        424.514        0.950498
5        436.611        0.91416
6        446.498        0.855916
7        455.503        0.785992
8        463.618        0.71314
9        472.198        0.622788
10        480.786        0.523683
11        489.361        0.437708
12        502.854        0.347409
13        512.735        0.295
14        527.52        0.251398
15        547.622        0.250159
16        575.762        0.250467
17        594.969        0.250677
18        609.27        0.24354
19        624.93        0.217452
20        637.484        0.172367
21        650.497        0.114157
22        666.176        0.070564
23        686.315        0.032856
24        703.32        0.002407

均方差(RMSE):0.0356311105091371
残差平方和(SSE):0.0317394009028586
相关系数(R): 0.954593486893235
相关系数之平方(R^2): 0.911248725218985
确定系数(DC): 0.948759839885147
F统计(F-Statistic): 37.3660157603113

参数                  最佳估算
--------------------        -------------
a1        0.0226351396672767
ea1        -1.97126460097882
a4        12.7331672639905
ea4        0.829555138350499
a5        -0.076644807599599
ea5        -1.3038893777113
ea2        -0.109295295859441
a6        -0.0523653481430126
ea6        -0.52052544225081
a3        3.90955131956817
ea3        -1.00565400448241
a7        -3.31612105538794
ea7        -0.0510401870667318
a8        68.1529405364152
ea8        -0.615291107068314
a9        0.0603845362161142
ea9        0.327568061162465
8楼2014-03-01 14:55:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

19880520

新虫 (初入文坛)

引用回帖:
8楼: Originally posted by dingd at 2014-03-01 14:55:37
1stOpt试试,太化时间,大概算了下,不知理解对否,供参考。有时间自己慢慢算。

Constant R=8.31;
ConstStr
        k1=a1*exp(ea1/(r*t)),k2=a1*exp(ea2/(r*t)),k3=a3*exp(ea3/(r*t)),
        k4=a4*exp(ea ...

谢谢1stopt真的是好方便啊。不过结果不太对,A和Ea应该都是大于零的。可惜没有这个软件啊,不知道有没有人会用matlab来编
9楼2014-03-01 20:10:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

引用回帖:
9楼: Originally posted by 19880520 at 2014-03-01 20:10:07
谢谢1stopt真的是好方便啊。不过结果不太对,A和Ea应该都是大于零的。可惜没有这个软件啊,不知道有没有人会用matlab来编...

"都是大于零"这种限制条件开始就该说出来啊。
10楼2014-03-01 22:59:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 19880520 的主题更新
信息提示
请填处理意见