这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版后一修订版两侧同时换到之后的修订记录 | ||
adf:atomstooclose [2022/09/28 16:39] – [情况二:MD一定步数后,出现该报错] liu.jun | adf:atomstooclose [2024/01/21 23:10] – [情况二:MD一定步数后,出现该报错] liu.jun | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ======logfile报错:ERROR DETECTED: | + | ======*.logfile报错:ERROR DETECTED: |
=====情况一:一开始没有进行任何MD计算,就出现该报错===== | =====情况一:一开始没有进行任何MD计算,就出现该报错===== | ||
- | 应检查两个方面: | + | 生成的.out文件中(或*.results中的临时文件)会告知具体哪些原子距离太近,可以根据编号去检查。主要来源是两个方面: |
- 边界原子是不是和下一个周期的原子靠太近? | - 边界原子是不是和下一个周期的原子靠太近? | ||
- 是不是有原子重叠了? | - 是不是有原子重叠了? | ||
行 8: | 行 8: | ||
其中 | 其中 | ||
* 第一种情况,检查的方法是点击窗口底部的四个圈按钮,切换到显示多个周期,看看是否有原子重叠 | * 第一种情况,检查的方法是点击窗口底部的四个圈按钮,切换到显示多个周期,看看是否有原子重叠 | ||
- | * 第二种情况,检查的办法很简单:选中一个原子,然后按ctrl m,可以看到和它连接的原子被选中了,然后把这些原子拖离原位一点点(微微偏离原位即可),就可以看到这些原子是不是有重叠的状况。 | + | * 第二种情况,检查的办法很简单:选中一个原子,把这个原子拖离原位一点点(微微偏离原位即可),就可以看到这些原子是不是有重叠的状况。如果建模的时候就已经重叠了,那可以考虑建模之后,用UFF力场先优化一下,因为UFF力场优化过程不改变键级。 |
=====情况二:MD一定步数后,出现该报错===== | =====情况二:MD一定步数后,出现该报错===== | ||
修改模拟条件,避免该偶然事件(原子剧烈碰撞导致原子距离过近):修改分子个数、模拟条件如温度等。另外可以参考建议:[[adf: | 修改模拟条件,避免该偶然事件(原子剧烈碰撞导致原子距离过近):修改分子个数、模拟条件如温度等。另外可以参考建议:[[adf: | ||
+ | |||
+ | **如果体系温度很高,例如4000K甚至10000K,步长设置需要比0.25fs小**,否则会导致原子在1个step,就运动到与另一个原子相近的地方,而没有及时更新受力情况,从而导致atoms too close的情况。 | ||
+ | ====检查atoms too close原因==== | ||
+ | 为了更清楚的知道出现atoms too close的原因,我们可以检查一下动画。在*.out尾部会有具体报错信息,展示是哪两个原子出现了这种情况,例如: | ||
+ | |||
+ | < | ||
+ | | ||
+ | | ||
+ | atoms=119 441, cell shift= | ||
+ | </ | ||
+ | 表示此刻119号原子和441号原子靠得太近,距离只有0.25294957埃。 | ||
+ | |||
+ | 在AMSinput → Model → Coordinates中,我们找到这个原子 | ||
+ | {{ : | ||
+ | 然后在Movie的第一帧中,找到对应的原子,并在View → Atom info → Name → Show勾选,显示该原子: | ||
+ | {{ : | ||
+ | |||
+ | 然后从Movie的最后一帧,一帧一帧倒着看,就可以发现原因了。 |