计算化学公社

标题: NEB_Monitor:一个监控CP2K NEB任务优化进程的简单脚本 [打印本页]

作者
Author:
Yjc    时间: 2023-8-10 09:59
标题: NEB_Monitor:一个监控CP2K NEB任务优化进程的简单脚本
NEB是chain-of-states方法中运用得最普遍的一类方法,这种方法只需要提供反应物和产物结构就可以得到MEP;CI-NEB又是其中最有效率的方法之一,它能在得到MEP的同时得到过渡态结构,而且准确性较高,因此CI-NEB已经被广泛应用于过渡态搜索和反应路径搜寻任务之中。
CP2K支持使用CI-NEB方法进行过渡态搜索和反应路径搜寻,其基本原理是在给定 反应物结构和生成物结构后(为了准确起见一般也要求给出优化过的过渡态结构),CP2K程序自动插点以构建出较为准确的反应路径。值得注意的是,若想追求更准确的插点效果可以使用sob老师的sobNEB程序,这个程序能基于所给的反应物、过渡态和生成物结构产生出全部的插点结构的xyz文件。
由于CI-NEB任务同时涉及多个插点结构的优化任务,而分别从文件中读取这些插点的优化轨迹又比较麻烦,我因此尝试编写了NEB_Monitor.sh,以监控各个插点结构的优化情况。下面简单介绍这个程序的使用方法:
①在CP2K输入文件中加入&PROGRAM_RUN_INFO字段,以输出[项目名]-BAND[点号].out文件
②根据服务器的实际情况,调节NUMBER_OF_REPLICA和NPROC_REP的数值,使两者乘积不超过当前可用的MPI进程数;原因是若超过一次性可以调用的MPI进程数,则会使得副本号和路径上的点号错开(对应情况可见[项目名]-r[点号].out文件),这会使得对应情况变得复杂
③在执行这一脚本时,要向它传递两个参数:第一个参数是项目名(注意不带任何后缀,如NEB);第二个参数是路径上的点数,数值与NUMBER_OF_REPLICA相同
最终会输出“NUMBER_OF_REPLICA + 1”个点的收敛情况(包括了初始点),可供监控的参数包括“E(Hartree)  RMS_D  MAX_D   RMS_F   MAX_F” ;同时会在当前目录下产生一系列all_[点号].txt文件。如果觉得输出内容太多占用了屏幕位置,可以自行微调脚本,通过all_[点号].txt中的内容查看各个点的收敛情况。
这是我第一次尝试用Linux里的Bash Shell脚本解决计算化学研究过程中的实际问题,脚本中必然有很多不完善的地方,也希望各位老师不吝赐教,非常感谢!
(, 下载次数 Times of downloads: 38)


作者
Author:
1138711019    时间: 2023-8-10 10:44
我发现neb每个imag的每一步的能量不一样,但是后面的收敛判据都是一样的。
  Step    E(Hartree)     RMS_D     MAX_D     RMS_F     MAX_F(每个imag的某一步都是一样的)
作者
Author:
Yjc    时间: 2023-8-10 11:45
突然发现了一个问题,正如楼上所说的那样,除了能量这一列能够循环读取各个输出文件之外,其余都好像没有成功循环起来;我仔细检查了循环语法并进行了多次debug,都没有找到原因,恳请论坛里各位老师帮忙看看,非常感谢!
作者
Author:
1138711019    时间: 2023-8-10 13:05
Yjc 发表于 2023-8-10 11:45
突然发现了一个问题,正如楼上所说的那样,除了能量这一列能够循环读取各个输出文件之外,其余都好像没有成 ...

因为本来就一样的哇,我查看了每个out文件之后发现的。(笑哭)
作者
Author:
Yjc    时间: 2023-8-10 13:47
1138711019 发表于 2023-8-10 13:05
因为本来就一样的哇,我查看了每个out文件之后发现的。(笑哭)

嗯嗯那就没问题;
我在测试的时候也发现各个out文件后面四个参数都一样,您知道这个是因为巧合还是有一些其他原因?
作者
Author:
1138711019    时间: 2023-8-10 14:37
Yjc 发表于 2023-8-10 13:47
嗯嗯那就没问题;
我在测试的时候也发现各个out文件后面四个参数都一样,您知道这个是因为巧合还是有一 ...

我猜应该是整个neb的收敛判据吧,不是单独一个image的。




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