24小时热门版块排行榜    

查看: 3594  |  回复: 17

wolffporter

新虫 (初入文坛)

【答案】应助回帖

我博士课题期间自学并用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
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wolffporter

新虫 (初入文坛)

引用回帖:
10楼: Originally posted by 吕京毛衣 at 2016-03-15 10:12:43
请问针对高分子化学反应的Monte Carlo用什么软件实现

我用matlab做的,详见我给本主题楼主的回复,应该在楼上。
12楼2016-03-18 14:55:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wolffporter

新虫 (初入文坛)

【答案】应助回帖

这是我写的计算流程。
Kinetic  Monte carlo动力学蒙特卡罗模拟化学反应。。
图片1.png

13楼2016-03-18 14:58:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

吕京毛衣

银虫 (小有名气)

引用回帖:
13楼: Originally posted by wolffporter at 2016-03-18 14:58:18
这是我写的计算流程。

图片1.png

嗯嗯非常感谢您的帮助

发自小木虫IOS客户端
14楼2016-03-18 22:32:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

吕京毛衣

银虫 (小有名气)

引用回帖:
11楼: Originally posted by wolffporter at 2016-03-18 14:51:35
我博士课题期间自学并用matlab写了个MC的代码,不过是用于高分子聚合反应的,参考了杨玉良与张红东写的 “高分子科学中的 Monte Carlo 方法”。化学反应的MC模拟大体来说就是用到两组随机数:r1与r2。

r1是一个1 ...

想请教你一下,你开始有没有设定反应体积,如果有要怎么设定呢?

发自小木虫IOS客户端
15楼2016-03-31 21:01:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wolffporter

新虫 (初入文坛)

引用回帖:
15楼: Originally posted by 吕京毛衣 at 2016-03-31 21:01:12
想请教你一下,你开始有没有设定反应体积,如果有要怎么设定呢?
...

没有。不过据了解,这个一般通过设定密度跟总量来实现吧。
16楼2016-04-01 20:18:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

吕京毛衣

银虫 (小有名气)

17楼2016-04-01 22:22:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

梦想个一有我

新虫 (小有名气)

楼主,在吗?我想问下,有KMC的交流圈吗?
18楼2017-11-29 08:48:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 清泥-3 的主题更新
信息提示
请填处理意见