24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1115  |  回复: 17
当前主题已经存档。

zyy816

至尊木虫 (著名写手)

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

sheath

至尊木虫 (知名作家)


zeoliters(金币+1,VIP+0):Thanks for reply! 11-11 15:50
引用回帖:
Originally posted by dellus at 2009-11-10 13:13:


计算能量和相互作用力都要用周期性边界条件
我是说在使用周期性边界条件时,只调用而不改变粒子的原坐标


第一句没有问题,第二句值得商榷
1、在周期性边界条件下,同在原胞下的两个粒子是不能通过直 ...

可能是我没有说清楚。
实际上,周期性边界条件有两个表现:
1. 对于粒子位置,若跑出计算原胞,用周期性边界条件使粒子重新回到原胞内,即位置坐标值被改变。
2. 计算粒子体系势能和粒子互作用力时,应用所谓的“最小影像约定”,即你说的“只调用而不改变粒子的原坐标”。
我的程序是按照上面的进行的。

另外,你提到的Computer simulation of liquid中的几页,我正在看,期望能得到新的思路。
感谢你,dellus。

[ Last edited by sheath on 2009-11-11 at 14:54 ]
12楼2009-11-11 10:54:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sheath

至尊木虫 (知名作家)


zeoliters(金币+1,VIP+0):Thanks for reply! 11-11 15:50
引用回帖:
Originally posted by zyy816 at 2009-11-11 08:52:
周期边界不会造成原子重叠的,因为计算力的时候也考虑周期边界了,调试一下程序,加入一段代码
当发生体系粒子数减少的时候,体系处于哪个状态,进行粒子数变化前后的空间位置拷贝,放到三维图形显示,你肯定就能 ...

这个方法很不错,我准备试试看,期望找到问题的症结所在。
13楼2009-11-11 10:58:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sheath

至尊木虫 (知名作家)

★ ★ ★
fegg7502(金币+3,VIP+0):thank you very much! 12-13 16:55
现在看来,根源在于:求粒子间互作用势和粒子受力时的最小影像约定没有编写正确。

    另外,分子模拟论坛的一个讨论帖子http://www.mdbbs.org/thread-20368-1-1.html 的楼主提到他用软件时的经验:
  “很多人在自己模拟时,都要经过结构优化和弛豫,但是在结构优化中经常会出现lost atoms的情况,我前几天就遇到了这种情况。我后来在一些前辈的启发下,就找到了手册中的fix wall相关的命令,我在固定边界的地方加上了一个wall,结果就没有再出现lost atom的情况了”
    虽然,我对这个强制的方法不赞同,但从另一个角度给了我启示。

前几天有事,今后几天准备搞一下子。

[ Last edited by sheath on 2009-11-14 at 21:58 ]
14楼2009-11-14 21:53:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sheath

至尊木虫 (知名作家)

★ ★
tianlangxingaa(金币+2,VIP+0):谢谢参与 1-12 23:03
可是对于3-5个原子跑离体系,还是不能解决。

程序运行时间长了,就会出现不能继续执行的故障,显示的原子速度很大。
15楼2010-01-12 20:33:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tianlangxingaa

铁杆木虫 (著名写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
cadick(金币+2,VIP+0):赞热心相助 1-13 08:57
处理周期性那里可能有点问题,应用最小镜象约定,参看FS那本书或者allen的书都可以,或者rapaport的里面,都是有源代码的。如果还是不行的话,可以考虑把代码贴上来,我可以帮你看看,不敢说能解决,至少可以提供写意见。
16楼2010-01-12 23:15:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sheath

至尊木虫 (知名作家)


luoqiquan(金币+1,VIP+0):thank you 1-13 20:13
引用回帖:
Originally posted by tianlangxingaa at 2010-1-12 23:15:
处理周期性那里可能有点问题,应用最小镜象约定,参看FS那本书或者allen的书都可以,或者rapaport的里面,都是有源代码的。如果还是不行的话,可以考虑把代码贴上来,我可以帮你看看,不敢说能解决,至少可以提供 ...

处理周期性边界条件和最小镜象约定和别人讨论过,应该没有问题。

不过,是不是在求解牛顿方程,特别是编程实现时,应该应用约化单位,或者是简化单位?我应用的是国际单位,比如计算迭代时应用的时间步长就是1.0e^-15s。

是不是直接应用国际单位,使得数据积累了截断误差引起的原子跑离和恒温体系不恒温?
17楼2010-01-13 10:56:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

老虎大王

木虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
luoqiquan(金币+1,VIP+0):thank you 1-13 20:13
不是周期性边界条件的问题。因为所有的程序都使用周期性边界条件,它不会影响原子重叠。控制重叠不在于边界条件,而在于势函数和起始位置的设置。

有可能是势函数不合适。即使使用成熟的商业程序,计算时出现温度失控的情况也很常见。不是势函数不合适,就是初始位置和速度有问题。如果你的势函数合适,而初始位置也合适。,就不会出现原子间的大量重叠,因为势函数的作用就是限制原子间的过份重叠,除非编程有错误,或者初始位置就存在大量的重叠导致动能过大而无法控制。
18楼2010-01-13 17:13:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 sheath 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见