如何结合CP2K+Multiwfn做ELF拓扑分析

时间:2025-10-27 作者:Jiaqi Z.

分类:材料计算


本文以NO2为例,介绍一下如何借助CP2K计算软件与Multiwfn处理ELF拓扑分析(后面也会稍微介绍一下电荷密度拓扑分析)

注:具体关于Multiwfn的使用方法在sob老师的Multiwfn手册里有详细的说明(http://sobereva.com/multiwfn/),此外,用Multiwfn做拓扑分析在博文(http://sobereva.com/108)内也有说明。

使用Multiwfn构建CP2K的输入程序

首先,构建体系结构。在这里我们构建的是分子结构,分子结构的信息可以在网站cccbdb当中找到(网站链接:https://cccbdb.nist.gov/exp1x.asp,在教程网站的首页下滑就有)。假设现在构建得到的NO2结构POSCAR如下所示:


NO2
1.00000
20.0 0.0 0.0
0.0 20.0 0.0
0.0 0.0 20.0
N O
1 2
Cartesians
10.0000 10.0000 10.0000
10.0000 11.0989 10.4653
10.0000 8.9011 10.4653
            

将这个结构文件导出为cif格式,在本地运行Multiwfn,导入cif文件后按照下面的内容输入(括号里面是说明注释):

生成的文件比较大,整个文件包括结构信息,基组信息和选择的计算参数。在前面的部分找到&CELL ,后面的三行表示晶格常数。可能会和最开始的POSCAR文件有区别,之所以如此,是因为在使用Multiwfn设置参数的时候,如果选择有方向不是周期性(在本例设置为三个),那Multiwfn会设置真空层大小。为了确保计算正确性(因为下面的原子坐标可能会超出晶格范围),我们可以修改晶格常数(改回原来的20)

提交计算任务

在提交计算任务之前,请首先确保服务器内安装有CP2K。如果没有,请联系服务器管理员安装(需要root权限)。

对于我所在的课题组服务器而言,最新确认的是201服务器已经安装CP2K,在提交任务时使用下面的脚本提交到计算队列(这是针对slurm队列系统的提交任务脚本,如果是使用其他的队列系统,参考着这个,结合你所使用的系统修改指令就行。)

不要在本地登录节点跑任务,这对于超算使用来说不是好习惯!尤其是使用外面的超算集群更是如此!通常登录节点的性能有限,全给你跑任务,别人根本没法用。哪怕是在localhost节点,在跑任务的同时后面有人提交任务的话,计算性能也不会得到充分发挥!!


#!/bin/bash
#SBATCH -N 1
#SBATCH -n 104

cd $SLURM_SUBMIT_DIR

module load CP2K
mpirun cp2k.psmp -i NO2-relax.inp >cp2k.out 2>cp2k.err
            

注意,这里面的NO2-relax.inp为当前计算的输入文件,你需要根据实际情况修改它。当然,如果你愿意的话,设置一个固定的输入文件名作为cp2k计算也行。例如,使用yukina.inp。另外,核数也必须根据实际情况修改,不然你在64核的机器上排104核的任务,肯定算不了。

将刚才的输入文件(NO2-relax.inp)和提交任务脚本放在同一个目录下,提交任务等待结果(按照上面脚本设置的,输出文件在cp2k.out里,当然你要更改也行,毕竟>表示重定向输出(见计算教程的Linux部分“高级Linux命令-管道与重定向”一节)。

优化完成查看输出文件cp2k.out(或者你设置的输出文件名),在最后找到收敛精度的表示如下,当四个全是YES时,表示结构优化达到收敛:


 OPT| Maximum step size                                             0.0029693064
 OPT| Convergence limit for maximum step size                       0.0030000000
 OPT| Maximum step size is converged                                         YES
 OPT|
 OPT| RMS step size                                                 0.0013574324
 OPT| Convergence limit for RMS step size                           0.0015000000
 OPT| RMS step size is converged                                             YES
 OPT|
 OPT| Maximum gradient                                              0.0001631261
 OPT| Convergence limit for maximum gradient                        0.0004500000
 OPT| Maximum gradient is converged                                          YES
 OPT|
 OPT| RMS gradient                                                  0.0001049782
 OPT| Convergence limit for RMS gradient                            0.0003000000
 OPT| RMS gradient is converged                                              YES
            

计算自洽

将计算得到的NO2-relax-1.restart文件下载到本地,使用Multiwfn打开,按照下面的方式设置输入参数:

进行ELF拓扑分析

完成后与结构优化类似将NO2-scf.inp文件作为输入文件上传至服务器,计算后得到后缀名为*.molden的文件,将其下载到本地后用Multiwfn打开,选择2进行拓扑分析,在-11里选择需要进行分析的内容(使用CP2K计算完成后可以直接处理ELF、波函数等数据)。我们是要进行ELF拓扑分析,于是选择9

然后选择6寻找CP点。对于我们这种小分子体系,直接使用默认即可(1000个点),如果体系比较大,可以在11里设置每个球里寻找的点的个数。完成设置后使用-1可以以每个原子为中心寻找CP点;如果体系比较大,原子数比较多的话可以使用-2指定球心对应的原子。

按照sob老师的介绍,Multiwfn对拓扑计算的效率很高。在本例中,我们使用四核本地计算机处理,仅用了一两秒钟就结束了。完成后-9返回,并使用0查看拓扑点,如图所示。由于对ELF而言我们主要关注(3,-3)点,也就是ELF的极大值点,在旁边的复选框把其他点给去掉,可以发现,NO2除了在化学键上有类似于π键的成键外,在原子外面也有孤对电子。在网站上(https://zh.webqc.org/lewis-structure-of-NO2.html)可以查到NO2的路易斯结构式,与计算结果一致。

ELF-topo.png

进行电子密度拓扑分析

类似地,我们也可以对电子密度进行拓扑分析,首先关闭现有的窗口(按RETURN)返回命令行,在-11选择计算模式中选择1(电子密度),重复上面的步骤(找点、可视化)。与ELF相比,电子密度拓扑的速度更快(这是因为它的CP点更少),我们得到的所有CP点如图所示(为了可视化清楚,使用棍状模型,紫色点表示(3,-3)CP点,在电子密度中表示原子核;而橙色表示(3,-1),对应于键心。除此之外还有:

Density-topo.png

注意:在寻找拓扑结构时,有一个Poincare-Hopf关系,即原子核-键心+环心-笼心=1,如果满足这个关系,则表明所有CP点已经找到。在生成图片后,Multiwfn会自动计算,并生成如下的内容:


The number of critical points of each type:
(3,-3):     3,   (3,-1):     2,   (3,+1):     0,   (3,+3):     0
Poincare-Hopf verification:     3  -     2  +     0  -     0  =     1
Fine, Poincare-Hopf relationship is satisfied, all CPs may have been found
            

对于ELF拓扑分析而言,大概率不会找到全部的点,这并无所谓,只要对所研究的内容是没错的就行——主要关注(3,-3)点,而对于其他点通常不关心,也就没有必要关注是否满足上面的等式了。如果实在担心是否找全所有的点,可以切换球半径或点数,进一步查找。

除此之外,如果关心具体的CP点的信息(例如对应的电子密度多大),可以使用拓扑分析里的7功能,选择要研究的CP点查看。具体的在Multiwfn手册2.6、2.7小节。此外,借助8功能可以连接在(3,-3)和(3,-1)之间生成拓扑路径,通常表示化学键,具体的介绍可以查看网站(http://sobereva.com/108


上一篇:祝Roselia主唱凑友希那生日快乐!!
下一篇:如何使用find查找文件并删除WAVECAR

同分类上一篇:服务器终端程序MobaXterm安装包
同分类下一篇:如何使用find查找文件并删除WAVECAR