24小时热门版块排行榜    

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

gasam

金虫 (小有名气)

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

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

virtualzx

木虫 (著名写手)

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

gasam

金虫 (小有名气)

引用回帖:
2楼: Originally posted by virtualzx at 2013-11-22 03:15:52
cutoff肯定会有误差。在相同量纲下力应该等于能量导数的相反数,你用比较高阶的方法求一下数值导数,看是不是和你的力吻合得足够好。这个偏差就会导致能量不守恒

谢谢啊,但是cutoff引起的误差有没有什么规律啊,比如说比真实的能量大或者是小?

[ 发自小木虫客户端 ]
3楼2013-11-22 07:53:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sciencejoy

新虫 (著名写手)

★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
月只蓝: 金币+1, 鼓励交流! 2013-11-22 15:34:05
干嘛自己编分子动力学程序?那么多现成的
4楼2013-11-22 09:05:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见