【CP2K】序言&简介
最近想学习cp2k,发现这个软件的入门并不是非常简单。打算将自己学习cp2k的过程记录下来,方便自己理解和复习。也希望看到这个系列的小伙伴互勉互助,若有什么问题和文章中的疏漏错误,欢迎在评论区提出。
cp2k的介绍
cp2k的优点
cp2k是一个非常全能的软件,我学习cp2k是因为其众多的功能和开源的特性。感兴趣的部分(以下段落翻译自CP2K Summer School 2018的资料)[1]:
- 基于DFT计算(使用GPW,也就是高斯型函数和平面波基组去做波函数近似)的结构优化,AIMD,其他性质的计算(光谱、激发态等)
- 杂化泛函和后HF方法
- 基于力场的经典分子动力学
- QM/MM(融合经典分子动力学和第一性原理分子动力学的计算)
由此可见cp2k的功能非常的全面:
cp2k的缺点
那么代价是什么呢?如果cp2k做DFT拳打VASP,做MD脚踢Gromacs、Lammps,岂不是美哉?(当然不排除未来某个时间cp2k真的做到了)cp2k的缺点如下[2]:
- 对导体的计算较慢(OT算法只适用于有带隙的体系,导体则用常规的对角化+smearing方法)
- 处理磁性体系比较麻烦
- K点只有单Gamma点的计算好用(因此不适用与小体系的计算)
不适合用来计算结合能(因为高斯基组会带来不完备误差)
以上cp2k的缺点都能在VASP上有较好的弥补,或许目前cp2k可以和VASP互补,作为第一性原理计算较为重要的两个软件。
^节选自 https://www.cp2k.org/_media/events:2018_summer_school:cp2k_intro.pdf
^节选自 https://www.bilibili.com/video/BV1vJ41137Cn?p=1&t=1301
CP2K的安装
由于本人学习使用的CP2K是在实验室超算平台使用,故暂时未涉及到CP2K的安装。
CP2K的学习文档
CP2K一直在发展中,目前还没有一个正式的手册,所以学习CP2K并不是一个简单的事,连自学的材料都不多。目前我所知道的途径有以下几个:
CP2K的Google Group
这里是最好的获得帮助的地方,CP2K的开发者经常在group里回复用户的问题,非常专业。常见的问题在论坛上都能找到答案。
CP2K 官方教程
目前已经举办了多次CP2K培训教程,网站(http://www.cp2k.org/tutorials, http://www.cp2k.org/events)上有不少演示文稿可以下载,很多是程序开发人员做的报告。要了解CP2K,读这些文稿是很好的入门材料。
CP2K的官方手册
CP2K的官方手册(http://manual.cp2k.org/trunk/)实际上并不是“手册”,因为这个网站只是解释了各种关键词的含义以及设置,并没有教你如何使用CP2K。手册本身是从CP2K的源码直接生成的,只要下载了源码就可以在本地生成CP2K的手册。
CP2K源码包中的测试文件
最直接的例子是源码中的tests文件。CP2K源码包中的tests目录包含了各种方法的输入文件。这些输入文件并不是最适合计算的,其中测参数设置没有经过优化。但这些输入文件给了我们了解输入文件结构的途径。
另外,学会使用grep命令。当你想了解CP2K的某个关键词(keyword)时,不妨使用grep –iR keyword tests/ 命令来查看使用了该关键词的测试输入文件。仔细阅读这些输入文件,就能知道这些关键词的使用了。需要注意的是,tests目录中的输入文件主要是用来测试程序运行的正常与否,往往使用了不合理的参数,用户需要参考手册等其他资料自行进行调整。
CP2K相关的文献
有关CP2K中使用的各种方法,CP2K的网站上放了一个参考文献列表http://manual.cp2k.org/trunk/references.html
要想真正了解CP2K的原理,可以阅读这些文献。