24小时热门版块排行榜    

查看: 2138  |  回复: 15
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wangqingbo

铜虫 (小有名气)

[交流] 【求助】蒙卡编程问题 已有12人参与

前段时间,用蒙特卡罗编程计算狭缝孔的吸附,遇到一个问题,请高手指点:
用的是LJ12-6作用势,在随机插入分子后,计算每个分子与其他分子及与孔壁作用的能量时,有的能量值比较大,将该能量带入到是否接受插入的判定法则后,导致数据溢出,用的是C++语言,已经声明long double 了还是溢出,不知如何解决。

哎,现在对编程都没信心了
回复此楼

» 猜你喜欢

» 本主题相关商家推荐: (我也要在这里推广)

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mljphy

铁虫 (正式写手)

确实有这种情况


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by wangqingbo at 2010-06-11 13:21:14:
谢谢各位指点,我感觉double精度应该就可以,但是在插入粒子的时候,计算得到的插入前后的能量值,如果该值大于零,然后将该值带入到插入的判定准则里面,这个时候判定准则有指数项 ,所以只要能量变化大于1000就 ...

我也出现这种情况,最后模拟之后反而能量有所升高。
确实是前后能量差太大,而玻尔兹曼因子中指数的分母太小,也不知道如何解决!
一切都会慢慢好起来。
13楼2010-06-13 09:20:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 16 个回答

bay__gulf

金虫 (著名写手)

刘苏州

★ ★
ghcacj(金币+2):谢谢 2010-06-05 19:01:49
long double 足够大了, 检查程序是否有错误
如果真的超出表示范围, 可以换个单位. 用对比单位就不错
2楼2010-06-05 14:50:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)


ghcacj(金币+1):谢谢 2010-06-05 19:01:58
贴出有问题的那段程序啊。。。
好好学习,天天向上。
3楼2010-06-05 14:51:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangqingbo

铜虫 (小有名气)

用的就是对比单位,感觉就是使用LJ势的时候,如果随机插入的分子的位置与另一个分子距离太近,根据LJ势能的计算公式,能量的值肯定就会过大,是不是需要有一个判断,如果能量超过某个值就不接受这种插入呢
4楼2010-06-05 20:32:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见