| 查看: 3599 | 回复: 17 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
清泥-3金虫 (小有名气)
|
[求助]
Kinetic Monte carlo动力学蒙特卡罗模拟化学反应。。已有3人参与
|
||
各位虫友们,有谁对做过动力学蒙特卡罗模拟化学反应? 求指导呀,最近老师让我研究这个,真心看不懂?有哪位大神能够指导下,感激不尽。。。做模拟的时候初始模型是随意给定的还是?如果某个事件能够发生,比如反应A能生成B, 在模拟的时候是不是只在某个格点上发生一次这样的事情,然后进入到下一个循环,还是所有的满足的格子上面的A都能生成B。?![]() ![]() ![]() ![]() |
» 猜你喜欢
投稿精细化工
已经有6人回复
博士读完未来一定会好吗
已经有36人回复
之前让一硕士生水了7个发明专利,现在这7个获批发明专利的维护费可从哪儿支出哈?
已经有10人回复
导师想让我从独立一作变成了共一第一
已经有10人回复
博士申请都是内定的吗?
已经有9人回复
心脉受损
已经有8人回复
读博
已经有5人回复

【答案】应助回帖
|
我博士课题期间自学并用matlab写了个MC的代码,不过是用于高分子聚合反应的,参考了杨玉良与张红东写的 “高分子科学中的 Monte Carlo 方法”。化学反应的MC模拟大体来说就是用到两组随机数:r1与r2。 r1是一个1×1的数组,也就是一个数,用于产生每一步反应的时间; r2是一个N×1的数组,用于选择反应类型,N等于反应物种的数目,也就是说每一个反应物种会分配得到一个随机数值。 设体系有 M 种反应,各反应的反应频率为 ai (i=1,2,...,M)。那么总的反应频率就是 SIGMA(ai)。如果一些反应物种所分配到的 r2 值的范围在(a1,a2]/SIGMA(ai) ,那么这些反应物种选择进行第一种反应;以此类推, r2 值的范围在(a2,a3]/SIGMA(ai) 的那些反应物种,选择进行第二种反应........ 反应类型的排序不影响结果,也就是说随你喜欢把哪种反应放第几个。 每当遍历了所有类型的反应,反应时间增加 tao,tao 值由 r1 计算产生 tao=ln(1/r1)/SIGMA(ai)。当时间达到你要的反应时间,终止程序。 |
11楼2016-03-18 14:51:35
清泥-3
金虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1068.1
- 红花: 1
- 帖子: 129
- 在线: 126.9小时
- 虫号: 2058440
- 注册: 2012-10-13
- 性别: MM
- 专业: 理论和计算化学

2楼2015-04-27 09:55:03
kjsun
木虫 (正式写手)
- 应助: 34 (小学生)
- 金币: 5557.5
- 散金: 100
- 红花: 5
- 帖子: 434
- 在线: 469.8小时
- 虫号: 285070
- 注册: 2006-10-14
- 性别: GG
- 专业: 催化化学
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
清泥-3: 金币+30, ★★★很有帮助 2015-05-04 11:13:10
感谢参与,应助指数 +1
清泥-3: 金币+30, ★★★很有帮助 2015-05-04 11:13:10
|
模拟的时候初始模型是随意给定的还是?如果某个事件能够发生,比如反应A能生成B, 在模拟的时候是不是只在某个格点上发生一次这样的事情,然后进入到下一个循环,还是所有的满足的格子上面的A都能生成B。? 答:初始模型是在满足一些条件的情况下,随便定的。 一般是:某个格子上的A生成B,然后进入下一循环。 ![]() ![]() 特别提醒:我没做过KMC模拟反应。 我做的是模拟脱附过程, 所以仅供参考。 |
3楼2015-04-27 10:27:22
清泥-3
金虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1068.1
- 红花: 1
- 帖子: 129
- 在线: 126.9小时
- 虫号: 2058440
- 注册: 2012-10-13
- 性别: MM
- 专业: 理论和计算化学

4楼2015-04-27 16:14:50














回复此楼
