计算化学公社

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

[CP2K] CP2K结构优化监控小脚本

  [复制链接 Copy URL]

36

帖子

3

威望

464

eV
积分
560

Level 4 (黑子)

本帖最后由 ma455173220 于 2024-11-25 11:26 编辑

去年由Multiwfn入门CP2K,目前还是个菜鸟一枚。被CP2K的速度和超多功能所惊艳,但是发现GEO_OPT和CELL_OPT不太容易监控,所以参考VASP的grad脚本,自写了个Python脚本,欢迎大家使用。PS:本人也是个Python菜鸟,脚本肯定会有很多不足之处,大佬们可自行优化使用。
脚本使用方法: python3 cp2k-output-analyse.py cp2k.out (注意这里不一定非是cp2k.out,也可以是你的自命名,只要是*.out结尾即可)。脚本输出结果:在当前目录下生成cp2k__data.csv文件。
输出文件说明:第一列为当前结构优化步数(若该行前方有"xx"字样,则表示该结构优化能量上升而非下降,如图一),第二列为结构能量,第三列为结构优化所用SCF步数(若该列前方有"!"符号,则表示该结构优化已达所设最大SCF步数但是SCF并没有达到收敛标准,如图二),第四到第七列为结构优化收敛参数(若为四个"YES",则表示结构优化达到收敛标准),最后一列为结构优化用时。
脚本附加功能:也可画出能量vs.步数图,便于监控能量收敛情况,如图三(Again:Python菜鸟一枚,大家自行优化)。
=================================================================
28/07/2023小小更新一下,可以获取GEOMETRY OPTIMIZATION COMPLETED的最终能量,虽说和最后一步结构优化的能量相差不多,但是还是用这个最好了






=================================================================
12/04/2024:小小更新一下,加了一列Delta E能量差的数据,并改了一下输出格式,现在输出格式大概是这个样子(注:STEP 3前面的"x"是我手动改的cp2k.out仅仅为了展示下功能,正常来讲带"x"是说明这一步的能量升高了而非降低了):

=================================================================
25/11/2024:经提示,发现最新版的cp2k输出格式和之前变化较大,导致脚本无法正常运行,因此借这个机会全面重写了一下脚本,目前应该适配最新版cp2k了。这次并没有统计每步结构优化(离子步)中所消耗的SCF步数,因为不同的SCF算法以及不同的结构优化算法导致SCF的输出格式多种多样,统计起来蛮麻烦而且也没特别大的必要。所以这次只是用YES和NO来分别代表当前离子步中SCF是否收敛,若为『!NO』,则表示SCF达到了最大步数MAX_SCF而并未收敛到EPS_SCF。若连续多次出现未收敛情况则需要引起注意,因为优化的结构可能是错的。精力有限,只对BFGS和L-BFGS做了测试,CG我用的不多,所以并未测试,如果有发现脚本运行出错的情况可以连带着输出文件发给我,我有时间可以对脚本进一步优化。新版输出文件样式如下:



cp2k-output-analyse.py

18.23 KB, 下载次数 Times of downloads: 159

评分 Rate

参与人数
Participants 13
威望 +1 eV +45 收起 理由
Reason
南北多歧路 + 3 谢谢分享
winwinhhh + 5 谢谢
Peng_ + 4
爱听相声 + 1 赞!
devilove + 5
tao11 + 1 谢谢
honest + 1 好物!
wangyiwen + 5
萧瑟 + 5 好物!
Jack + 5 好物!
sobereva + 1
newple + 5 赞!
丁越 + 5 赞!

查看全部评分 View all ratings

49

帖子

0

威望

476

eV
积分
525

Level 4 (黑子)

2#
发表于 Post on 2022-4-9 09:59:46 | 只看该作者 Only view this author
写一个高斯的把

1102

帖子

18

威望

6643

eV
积分
8105

Level 6 (一方通行)

計算化学の社畜

3#
发表于 Post on 2022-4-9 10:46:40 | 只看该作者 Only view this author
这脚本不错,nice
Stand on the shoulders of giants

1102

帖子

18

威望

6643

eV
积分
8105

Level 6 (一方通行)

計算化学の社畜

4#
发表于 Post on 2022-4-9 10:51:26 | 只看该作者 Only view this author

tsmonitor  (《Gaussian优化过渡态的监控/诊断小脚本-tsmonitor》http://bbs.keinsci.com/thread-14081-1-1.html
Stand on the shoulders of giants

49

帖子

0

威望

476

eV
积分
525

Level 4 (黑子)

5#
发表于 Post on 2022-4-9 11:27:15 | 只看该作者 Only view this author
冰释之川 发表于 2022-4-9 10:51
tsmonitor  (《Gaussian优化过渡态的监控/诊断小脚本-tsmonitor》http://bbs.keinsci.com/thread-14081- ...

好哒

160

帖子

0

威望

1619

eV
积分
1779

Level 5 (御坂)

6#
发表于 Post on 2022-5-4 14:33:00 | 只看该作者 Only view this author
您好,在运行.py文件后出现如下错误,
***************************************
*** The format of the script: ***
cp2k-output-analyse.py OUTPUT_FILE.out
***************************************

=======================================
In process...
...
Traceback (most recent call last):
  File "cp2k_out_analyse.py", line 150, in <module>
    + "\n" + contents)
NameError: name 'MAX_D' is not defined
独立之精神 自由之思想

36

帖子

3

威望

464

eV
积分
560

Level 4 (黑子)

7#
 楼主 Author| 发表于 Post on 2022-5-11 08:25:25 | 只看该作者 Only view this author
yjb 发表于 2022-5-4 14:33
您好,在运行.py文件后出现如下错误,
***************************************
*** The format of the  ...

发一下你用的output文件呗,我试下

216

帖子

3

威望

4470

eV
积分
4746

Level 6 (一方通行)

8#
发表于 Post on 2022-5-11 15:11:36 | 只看该作者 Only view this author
可以弄个python2的吗?
Monte Carlo

328

帖子

0

威望

1920

eV
积分
2248

Level 5 (御坂)

9#
发表于 Post on 2022-5-12 09:30:02 | 只看该作者 Only view this author
点赞点赞再点赞

328

帖子

0

威望

1920

eV
积分
2248

Level 5 (御坂)

10#
发表于 Post on 2022-5-12 09:30:39 | 只看该作者 Only view this author
youyno 发表于 2022-5-11 15:11
可以弄个python2的吗?

升级系统,直接用python3不香?

1061

帖子

0

威望

3274

eV
积分
4335

Level 6 (一方通行)

11#
发表于 Post on 2022-5-12 10:20:53 | 只看该作者 Only view this author
yjb 发表于 2022-5-4 08:33
您好,在运行.py文件后出现如下错误,
***************************************
*** The format of the  ...

可能你的任务不是几何优化(GEO_OPT)或者晶胞优化 (CELL_OPT)。

我用 CP2K 自带的 benchmark/QS/ 目录下的 H2O-256.inp 文件的运行结果(MD 任务)测试了这个脚本,没有检测出不是优化的任务,报错和你的一样。

1061

帖子

0

威望

3274

eV
积分
4335

Level 6 (一方通行)

12#
发表于 Post on 2022-5-12 10:25:00 | 只看该作者 Only view this author
ma455173220 发表于 2022-5-11 02:25
发一下你用的output文件呗,我试下

这个脚本没有检测出不是几何优化或者晶胞优化的任务。

比如,我用 CP2K 自带的 benchmark/QS/ 目录下的 H2O-256.inp 文件的运行结果(MD 任务)测试了这个脚本。但是,此脚本并没有没有检测出任务不是优化的任务,虽然我看到脚本中有检测任务类型的代码段。

  1.                 if RUN_TYPE == "GEO_OPT":
  2.                     line_added = 25
  3.                 elif RUN_TYPE == "CELL_OPT":
  4.                     line_added = 32
  5.                 else:
  6.                     print("\033[31mERROR:\033[0m This script can only be used for Geometry Optimization results!")
  7.                     sys.exit()
复制代码


所以,运行之后会显示 NameError: name 'MAX_D' is not defined 。这个报错和 6 楼的一样。

1061

帖子

0

威望

3274

eV
积分
4335

Level 6 (一方通行)

13#
发表于 Post on 2022-5-12 10:26:28 | 只看该作者 Only view this author
挺有趣的项目,我有空了也写一个试试。

160

帖子

0

威望

1619

eV
积分
1779

Level 5 (御坂)

14#
发表于 Post on 2022-5-12 10:52:00 | 只看该作者 Only view this author
乐平 发表于 2022-5-12 10:25
这个脚本没有检测出不是几何优化或者晶胞优化的任务。

比如,我用 CP2K 自带的 benchmark/QS/ 目录下 ...

谢谢老师,我做的是QM/MM MD
独立之精神 自由之思想

36

帖子

3

威望

464

eV
积分
560

Level 4 (黑子)

15#
 楼主 Author| 发表于 Post on 2022-5-12 15:07:06 | 只看该作者 Only view this author
乐平 发表于 2022-5-12 10:25
这个脚本没有检测出不是几何优化或者晶胞优化的任务。

比如,我用 CP2K 自带的 benchmark/QS/ 目录下 ...

那可能是CP2K版本不同,不同版本有可能输出文件格式不太一样。的确只能用来GEO_OPT和CELL_OPT。话说MD也用不着监控吧...它有自带输出的文件啊

本版积分规则 Credits rule

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

GMT+8, 2024-11-27 06:13 , Processed in 0.226591 second(s), 25 queries , Gzip On.

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