24小时热门版块排行榜    

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

gasam

金虫 (小有名气)

[交流] 分子动力学能量守恒的相关问题 已有5人参与

小弟最近在编分子动力学的程序,在测试NVE能量守恒的时候出现偏移,想咨询下各位专家,这个偏移造成的原因?
自己考虑会不会是因为potential用了cutoff后,能量有误差?希望大家能指点下小弟。。。。。  用了cutoff后能量是会有点下降?还是上升?还是不变?
如果不变的话,那个偏移会是什么造成的?我确认了力的式子之类的,都没发现错误。。。。
回复此楼

» 猜你喜欢

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

» 本主题相关价值贴推荐,对您同样有帮助:

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

virtualzx

木虫 (著名写手)

★ ★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
月只蓝: 金币+2, 感谢指导! 2013-11-22 15:33:59
cutoff肯定会有误差。在相同量纲下力应该等于能量导数的相反数,你用比较高阶的方法求一下数值导数,看是不是和你的力吻合得足够好。这个偏差就会导致能量不守恒
2楼2013-11-22 02:15:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

virtualzx

木虫 (著名写手)

★ ★ ★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
月只蓝: 金币+3, 感谢指导! 2013-11-22 15:37:54
引用回帖:
6楼: Originally posted by gasam at 2013-11-21 21:24:39
100000step
温度大概2200K,每个原子大概偏0.18Kcal/mol
...

偏差略大,按理说数值误差没有这么大。如果你用的是可变步长,可以尝试增加积分精度。你总的时间是多长?如果增加积分精度后还在这个数量级的话,应该就是截断造成的。我用大概25000项求和展开的势能计算2731858步之后的误差大概是你的十分之一左右。不过因为还要积分在个别点附近趋于无穷大的耦合项,我的步长很小,这么多步也只走了50ns,所以需要和你的时间尺度对比下。你可以尝试先不做截断进行计算,排除有bug的可能。

你是不是哪里不小心用单精度数了?
13楼2013-11-22 15:19:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

virtualzx

木虫 (著名写手)

★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
月只蓝: 金币+1, 感谢指导! 2013-11-23 09:51:29
引用回帖:
14楼: Originally posted by gasam at 2013-11-22 07:32:25
我写的是基于bond order,积分步长比较小,0.05fs,10万step,我也觉得误差有点大,我推了下理论值要是再小十分之一就在合理范围内。但是我感觉用了cutoff后nve本身能量就应该不是水平的,应该是有点略微下降,不知道 ...

上升或下降取决于你cutoff了什么项以及分子怎么运动。如果实在需要更高精度只好不做cutoff或者提升cutoff threshold再算一次试试了。
15楼2013-11-22 22:06:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 gasam 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见