24小时热门版块排行榜    

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

sheath

至尊木虫 (知名作家)

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

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

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

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

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

zyy816

至尊木虫 (著名写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
mingdong(金币+2,VIP+0):感谢交流! 11-11 10:12
周期边界不会造成原子重叠的,因为计算力的时候也考虑周期边界了,调试一下程序,加入一段代码
当发生体系粒子数减少的时候,体系处于哪个状态,进行粒子数变化前后的空间位置拷贝,放到三维图形显示,你肯定就能找到原因了
11楼2009-11-11 08:52:18
已阅   回复此楼   关注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的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见