24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1269  |  回复: 14
当前主题已经存档。

liao6417

新虫 (初入文坛)

[交流] 【求助】求一段monte carlo 程序已有1人参与

求一段monte carlo 程序,不管是实现什么的,我主要是想看看这个运算法则的样子,以及写法

[ Last edited by wuli8 on 2009-11-13 at 21:40 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pfzhangphy

金虫 (小有名气)


lei0736(金币+1):谢谢 2010-03-15 11:07
建议找本MC的书看吧!看程序不如看书好!
2楼2009-11-16 14:28:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bay__gulf

金虫 (著名写手)

刘苏州

★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
zeoliters(金币+4,VIP+0):多谢回帖交流! 11-17 15:04
MC方法很好,只是形式复杂的力场不好加进去

当初学习MC时候写一个例子
用于逃离曲线上 local minimum, 找到的global minimum
实验函数y = cos (x) + cos (3x), 图像见图top
最低点-2.0, 收敛目标-1.99999
代码
CODE:
#include
#include
#include
int main()
{
  float a, d, t;
  float x0, x, y0, y;
  scanf("%f %f %f", &a, &d, &t);
  srand(0);
  x0=a;
  do {
    y0= cos(x0)+cos(3*x0);
    x= x0 + d*(rand()%10000/10000.0-0.5);
    y= cos(x) + cos(3*x);
    printf("%f\t%f\n", x, y);
    if (exp((y0-y)/t) > rand()%10000/10000.0) x0= x;
  } while (y > -1.99999);

  return 0;
}

需要手工输入三个参数,
a: x初值, d:尝试移动的最大范围, t: 相当于kT
图middle 和buttom 分别在(a,d,t)=(0.2, 0.1, 0.8) 时候, x 和y 随运行步数的演化
可见在有限的时间内, 通过简单的算法可以逃离曲线上 local minimum, 找到的global minimum
适合分子复杂, 不能一一列举的各个构象时候的构象分析
3楼2009-11-16 14:58:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wuchenwf

荣誉版主 (职业作家)

引用回帖:
Originally posted by bay__gulf at 2009-11-16 14:58:
MC方法很好,只是形式复杂的力场不好加进去

当初学习MC时候写一个例子
用于逃离曲线上 local minimum, 找到的global minimum
实验函数y = cos (x) + cos (3x), 图像见图top
最低点-2.0, 收敛目标-1.99999
代 ...

好资源!
4楼2009-11-16 21:52:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhiping780

木虫 (著名写手)

天鹰帮帮主


小木虫(金币+0.5):给个红包,谢谢回帖交流
哥们   你搞monte carlo咋学的?我想搞    却一直不懂这东西杂用
目云天外,志在九霄中。。。。。
5楼2009-11-22 19:25:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

c111999

铜虫 (小有名气)


小木虫(金币+0.5):给个红包,谢谢回帖交流
MC外行问问bay——gulf:
1。“复杂的力场”,是有无的问题?即是MC的问题还是分子模拟的问题?是否如果有力场,嵌入MC中就不难了?
2。MC的核心是否是选择标准(取舍移动的结果)的建立?
3。还有MC 就是metropolis MC,其他主要还有什么?
谢谢
6楼2010-03-07 00:13:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bay__gulf

金虫 (著名写手)

刘苏州


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by c111999 at 2010-03-07 00:13:07:
MC外行问问bay——gulf:
1。“复杂的力场”,是有无的问题?即是MC的问题还是分子模拟的问题?是否如果有力场,嵌入MC中就不难了?
2。MC的核心是否是选择标准(取舍移动的结果)的建立?
3。还有MC 就是metr ...

我还没有入行......
7楼2010-03-07 11:25:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

c111999

铜虫 (小有名气)

引用回帖:
Originally posted by bay__gulf at 2010-03-07 11:25:40:

我还没有入行......

我问多了,是我不好
给点线索、疑似答案也行阿
8楼2010-03-07 14:11:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bay__gulf

金虫 (著名写手)

刘苏州

★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
lei0736(金币+2):谢谢 2010-03-07 16:18
ghcacj(金币+2):谢谢 2010-03-09 09:20
是你把我问住了
--
话说我只是学了点MC的皮毛,从未真正用过MC做化学方面的研究
就这几点我说一下我的看法吧

1 关于力场
随着计算能力的的告诉发展,研究的体系也越来越复杂.
比如模拟膜蛋白,就要把蛋白的,水的,lipid uint的,以及水中离子
就连那个常常被人抱怨参数不全的charmm力场,其原子类型也有200余个
键/角/二面角的类型更是200的几次方的数目
而据我所致,做MC的大多是自编程序.通用软件的数目也非常不乐观
要把这样复杂的力场写到自己的程序里面,这样的通才数目有限,不能普及

2 问题好像不能这样问,缺了哪一点都不行

3 metropolis 取样实现了波尔兹曼分布,所以才在分子模拟中有广泛应用吧
9楼2010-03-07 14:44:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

c111999

铜虫 (小有名气)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
lei0736(金币+1):其实那些能量值也隐含了力场 不同力场算出来的能量值是不一样的 2010-03-09 09:47
原来bay先生是做MD的。
多谢解释。
看样应该是:力场与选择条件配套。
我恍惚的感觉通过先确定选择条件(确定哪些量能算,根据能算的量来定移动取舍标准),从而简化力场的实现是通行办法?
10楼2010-03-08 21:01:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 liao6417 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见