24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1120  |  回复: 17
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

sheath

至尊木虫 (知名作家)

[交流] 【讨论】自编程序中正则系综的体系温度为什么不能保持恒定?

在自编的分子动力学程序中,计算原胞的原子体系为正则系综。原子位置在三维方向应用周期性边界条件,恒温采用Nose-Hoover算法。
      但是,程序执行后,出现了体系数目减少,体系温度不断升高,甚至到达上万度的错误结果。

      经过仔细检查程序结构和每个子程序,初步分析认为:在每个时间步,周期性边界条件使跑出计算原胞范围的原子重新回到原胞内的相应位置。而这可能使部分原子重叠,尽管这种情况的几率很小。随后进行“更新原子存在与对应数据”操作,这将可能造成部分重叠原子数据的丢失,当然,原子数目也可能减小。
      也就是说,周期性边界条件造成原子重叠,而原子重叠是导致原子数目减少的关键原因。如果这个分析对的话,如何解决?若不是,那么原因又在哪里?

敬请各位同行不吝赐教!!!

[ Last edited by cadick on 2009-12-14 at 02:30 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dellus

木虫 (职业作家)

★ ★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
dongdong3881(金币+2,VIP+0):多谢回帖交流 11-10 14:09
zeoliters(金币+3,VIP+0):多谢回帖交流! 11-10 22:09
引用回帖:
Originally posted by sheath at 2009-11-9 17:20:

我的程序在计算原子位置和相互作用力都使用了周期性边界条件。

计算能量和相互作用力都要用周期性边界条件
我是说在使用周期性边界条件时,只调用而不改变粒子的原坐标
引用回帖:
Originally posted by sheath at 2009-11-9 17:20:

"The wraparound effect of the periodic boundaries must be taken into account in both the integration of the equations of motion and the interaction computations. After each integration step the coordinates must be examined, and if an atom is found to have moved outside the region its coordinates must be adjusted to bring it back inside."


第一句没有问题,第二句值得商榷
1、在周期性边界条件下,同在原胞下的两个粒子是不能通过直接计算它们之间距离来计算能量和受力作用的。把原胞外的粒子放回原胞的操作虚耗了计算量,还可能出错
2、对于高分子体系,这样的操作会破坏共价键

Allen 的 "Computer simulation of liquid" 29-31页讲了关于周期性边界条件的问题,建议看下

[ Last edited by dellus on 2009-11-10 at 13:20 ]
岂能尽如人意,但求无愧于心。
9楼2009-11-10 13:13:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 18 个回答

zeoliters

木虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
fegg7502(金币+2,VIP+0):thank you very much! 11-8 18:36
既然使用了周期性边界条件,如果体系为正则系综,体系的数目应该不会变化的,如果体系数目减少,我怀疑是不是程序出现了错误。
2楼2009-11-08 18:17:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sheath

至尊木虫 (知名作家)


zeoliters(金币+1,VIP+0):谢谢回帖交流! 11-10 22:07
引用回帖:
Originally posted by zeoliters at 2009-11-8 18:17:
既然使用了周期性边界条件,如果体系为正则系综,体系的数目应该不会变化的,如果体系数目减少,我怀疑是不是程序出现了错误。

体系的原子数目是应该保证不变,这是正则系综的要求,但是编程实现却是另一回事。
     上面我已经分析了数目减少的可能原因。

      程序应该没有错误,但可能是还需要别的子程序处理这个问题。

[ Last edited by sheath on 2009-11-8 at 18:46 ]
3楼2009-11-08 18:42:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sheath

至尊木虫 (知名作家)

还有同行了解这个问题么?
4楼2009-11-09 10:14:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见