计算化学公社

 找回密码 Forget password
 注册 Register
Views: 4813|回复 Reply: 8
打印 Print 上一主题 Last thread 下一主题 Next thread

[Python] 一个python脚本 idpp.py 中的疑问

[复制链接 Copy URL]

34

帖子

0

威望

999

eV
积分
1033

Level 4 (黑子)

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




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



以下附上idpp.py的脚本文件。

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

idpp.py

14.11 KB, 下载次数 Times of downloads: 120

越学越难顶。

3621

帖子

3

威望

1万

eV
积分
18426

Level 6 (一方通行)

第一原理惨品小作坊

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

另外这个程序代码风格不算特别好,按道理应该把io和插值这些按照函数或类进行模块化在设计的角度来说更为合适。
日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。
本周忙

34

帖子

0

威望

999

eV
积分
1033

Level 4 (黑子)

3#
 楼主 Author| 发表于 Post on 2022-3-8 09:48:13 | 只看该作者 Only view this author
卡开发发 发表于 2022-3-7 15:37
61行附近那里是,如果是Direct,把head对应位置改为Cartesian,并将direct置为1;反之,direct置为0。这样 ...

好的,谢谢发发老师。我在另个帖子看到您写的makeneb.py,也学习阅读一下
越学越难顶。

3621

帖子

3

威望

1万

eV
积分
18426

Level 6 (一方通行)

第一原理惨品小作坊

4#
发表于 Post on 2022-3-8 11:18:46 | 只看该作者 Only view this author
Jiongci-21 发表于 2022-3-8 09:48
好的,谢谢发发老师。我在另个帖子看到您写的makeneb.py,也学习阅读一下

说不上是我写的,就是把ase的函数包装了一下而已。这脚本要传达的精神就是很多东西没必要重复造轮子,甚至不脱离某些函数库其实技术上无非平平无奇罢了。
日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。
本周忙

64

帖子

0

威望

223

eV
积分
287

Level 3 能力者

5#
发表于 Post on 2022-6-11 09:57:05 | 只看该作者 Only view this author
请问楼主,我用nebmake.pl线性插点老是无法收敛,反复调整了几天,都是一样的。所以这两天在研究idpp.py,我在调用idpp.py时,我是直接python idpp.py IS  FS 5。然后就出现loop 1、loop 2.。。。但是直到1000次,没有出现正确的插点。只是让我调整结构,请问应该怎么处理呢。还有,这个脚本只做固定部分原子的插点吗?抱歉,不熟悉python,所以请教您怎么使用这个脚本

1

帖子

0

威望

19

eV
积分
20

Level 1 能力者

6#
发表于 Post on 2023-1-4 11:31:24 | 只看该作者 Only view this author
静哥哥 发表于 2022-6-11 09:57
请问楼主,我用nebmake.pl线性插点老是无法收敛,反复调整了几天,都是一样的。所以这两天在研究idpp.py,我 ...

您好 请问这个问题您解决了吗  我也遇到了同样的问题 想找您请教一下

7

帖子

0

威望

232

eV
积分
239

Level 3 能力者

7#
发表于 Post on 2023-5-26 06:34:24 | 只看该作者 Only view this author
rui啊啊啊啊啊 发表于 2023-1-4 11:31
您好 请问这个问题您解决了吗  我也遇到了同样的问题 想找您请教一下

减小步长 增大k 一般可以解决问题

4

帖子

0

威望

29

eV
积分
33

Level 2 能力者

8#
发表于 Post on 2024-9-16 10:31:55 | 只看该作者 Only view this author
t13340033021 发表于 2023-5-26 06:34
减小步长 增大k 一般可以解决问题

请问增大k指的是什么呢

1

帖子

0

威望

41

eV
积分
42

Level 2 能力者

9#
发表于 Post on 2024-9-19 14:02:29 | 只看该作者 Only view this author
chy914681393 发表于 2024-9-16 10:31
请问增大k指的是什么呢

把KPOINTS增大吧

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-23 15:13 , Processed in 0.232494 second(s), 30 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list