计算化学公社

标题: 一个python脚本 idpp.py 中的疑问 [打印本页]

作者
Author:
Jiongci-21    时间: 2022-3-7 11:12
标题: 一个python脚本 idpp.py 中的疑问
idpp.py 是用来进行NEB插点构造过渡态搜索需要的输入结构的脚本。我在阅读脚本的时候,有一些疑惑的地方。在第61行,代码搜索 CONTCAR 中是否有 ’dir' 字符串,存在的话将 direct 变量设置为1,但是把列表内的对应元素改成了"Cartesian"。这是为啥呢?不存在的话,direct设置为0。

(, 下载次数 Times of downloads: 86)


然后来到137行,确认输入结构的坐标表示时,"if direct"这段代码不就和意图矛盾了吗?CONTCAR中匹配到了 "dir" ,然后又在137-153的代码将Direct坐标转换成Cartesion坐标。


(, 下载次数 Times of downloads: 88)
以下附上idpp.py的脚本文件。

因为正处于学习python的阶段,很多地方不是很懂,如果有什么不对的地方还请各位能给予批评和指导。谢谢!!

作者
Author:
卡开发发    时间: 2022-3-7 15:37
61行附近那里是,如果是Direct,把head对应位置改为Cartesian,并将direct置为1;反之,direct置为0。这样的话,后续137行后的内容,direct为1的情况向Cartesian转换;0的情况不做处理,也就是说无论怎样都转换为Cartesian。你可以再往下看几行,就是用Cartesian去算距离,所以程序内部实际上还是按照Cartesian存的,这里的注释不正确。

另外这个程序代码风格不算特别好,按道理应该把io和插值这些按照函数或类进行模块化在设计的角度来说更为合适。
作者
Author:
Jiongci-21    时间: 2022-3-8 09:48
卡开发发 发表于 2022-3-7 15:37
61行附近那里是,如果是Direct,把head对应位置改为Cartesian,并将direct置为1;反之,direct置为0。这样 ...

好的,谢谢发发老师。我在另个帖子看到您写的makeneb.py,也学习阅读一下
作者
Author:
卡开发发    时间: 2022-3-8 11:18
Jiongci-21 发表于 2022-3-8 09:48
好的,谢谢发发老师。我在另个帖子看到您写的makeneb.py,也学习阅读一下

说不上是我写的,就是把ase的函数包装了一下而已。这脚本要传达的精神就是很多东西没必要重复造轮子,甚至不脱离某些函数库其实技术上无非平平无奇罢了。
作者
Author:
静哥哥    时间: 2022-6-11 09:57
请问楼主,我用nebmake.pl线性插点老是无法收敛,反复调整了几天,都是一样的。所以这两天在研究idpp.py,我在调用idpp.py时,我是直接python idpp.py IS  FS 5。然后就出现loop 1、loop 2.。。。但是直到1000次,没有出现正确的插点。只是让我调整结构,请问应该怎么处理呢。还有,这个脚本只做固定部分原子的插点吗?抱歉,不熟悉python,所以请教您怎么使用这个脚本
作者
Author:
rui啊啊啊啊啊    时间: 2023-1-4 11:31
静哥哥 发表于 2022-6-11 09:57
请问楼主,我用nebmake.pl线性插点老是无法收敛,反复调整了几天,都是一样的。所以这两天在研究idpp.py,我 ...

您好 请问这个问题您解决了吗  我也遇到了同样的问题 想找您请教一下
作者
Author:
t13340033021    时间: 2023-5-26 06:34
rui啊啊啊啊啊 发表于 2023-1-4 11:31
您好 请问这个问题您解决了吗  我也遇到了同样的问题 想找您请教一下

减小步长 增大k 一般可以解决问题
作者
Author:
chy914681393    时间: 2024-9-16 10:31
t13340033021 发表于 2023-5-26 06:34
减小步长 增大k 一般可以解决问题

请问增大k指的是什么呢

作者
Author:
one_is_all    时间: 2024-9-19 14:02
chy914681393 发表于 2024-9-16 10:31
请问增大k指的是什么呢

把KPOINTS增大吧




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3