运行cp2k
使用MPI运行cp2k:
1 | mpirun -n 2 cp2k.popt -i argon.inp -o out_ex0.out |
-i <input_file>
:如果是最后一个参数,-i
可以省略-o <output_file>
:输出文件名
安装vim插件规范.inp文件
如果下载失败,可以直接从http://manual.cp2k.org/trunk/cp2k.vim下载到 ~/.vim/syntax中
1
2mkdir -p ~/.vim/syntax
wget -O ~/.vim/syntax/cp2k.vim http://manual.cp2k.org/trunk/cp2k.vim再在~/.vim/下新建
filetype.vim
,输入:1
2
3
4
5
6if exists("did_load_filetypes")
finish
endif
augroup filetypedetect
au! BufNewFile,BufRead *.inp setf cp2k
augroup END
语法折叠
在~/.vimrc中添加:
1 | au FileType cp2k setlocal foldlevel=99 foldmethod=indent |
za
:切换当前折叠级别的折叠zA
:递归切换所有折叠级别的折叠zM
:关闭当前缓冲区中的所有折叠zR
:打开当前缓冲区中的所有折叠
自动缩进
只更改指定文件类型cp2k的缩进,在~/.vimrc中添加:
1 | au FileType cp2k setlocal shiftwidth=1 tabstop=1 |
更改所有文件类型和缓冲区的缩进:
1 | set shiftwidth=1 tabstop=1 |
=G
正确缩进文件的整个部分=
正确缩进文件的某个部分(区域)
inp语法
可以在cp2k目录下,通过grep -iR 关键词 ~/tests
来查询相关的输入文件。(tests目录中的输入文件主要是用来测试程序运行的正常与否,往往使用了不合理的参数)
主要结构如下,可以在其中嵌套多个
&SECTION
和&END SECTION
1
2
3&SECTION
KEYWORD PARAMETER
&END SECTION语法
@INCLUDE ’filename’
:从文件中读取文本:q@SET VAR value
:定义变量@VAR
:变量@IF
/@ENDIF
:简单的逻辑#
:注释
单位的设定:(可供的单位有:https://manual.cp2k.org/cp2k-7_1-branch/units.html)
1
2
3
4
5
6#默认是angstrom,也可以设置bohr等等
ABC [nm] 100 100 100
#默认是hatree,设置Ry等等
EMAX_SPLINE [eV] 50
#也可以一起用
[hatree*bohr^2]
&GLOBAL
1 | &GLOBAL |
PROJECT
:任务名称,等同于PROJECT_NAME
,CP2K自动生成的所有输出文件都将以这个名称开头。RUN_TYPE
:任务类型ENERGY
:计算当前结构的能量。对于DFT 来说,就是一个SCF 计算。ENERGY_FORCE
:计算当前结构的能量,同时计算出每个原子上的梯度(即受力)。BAND
:使用band方法来进行最低能量路径(MEP)以及反应过渡态的搜索,通常可以使用的方法有CI-NEB, IT-NEB等方法。MD
:Molecular Dynamics分子动力学模拟CELL_OPT
:晶胞参数的优化。GEO_OPT
:对当前结构进行几何结构的优化,以获得当前结构对应的局部极小点或者过渡态。GEO_OPT 有两种类型,一种是MINIMIZATION,即优化到极小点;一种是TRANSITION_STATE,即优化到过渡态。过渡态的优化采用Dimer方法来实现。VIBRATIONAL_ANALYSIS
:对当前结构进行振动分析。频率计算可以计算部分原子的频率(INVOLVED_ATOMS),也可以计算某一频率范围内的频率计算(MODE_SELECTIVE)。
PRINT_LEVEL
:输出内容级别,可以是SILENT
、MEDIUM
(默认)、LOW
、HIGH
等。还可以在输入文件中的每个小节来控制单独的输出级别。&TIMINGS
:在CP2K执行结束时控制时序报告的打印THRESHOLD
:阈值
WALLTIME
:此运行的最大执行时间。时间以秒为单位或以HH:MM:SS为单位。
&FORCE_EVAL
计算能量和力并描述您要分析的系统所需的参数。
1 | &FORCE_EVAL |
METHOD
:使用哪种方法来计算力QS
:默认,同QUICKSTEP
FIST
:分子力学QMMM
:Hybrid quantum classical
&MOTION
定义了一组与原子核运动有关的工具。
1 |
|
输出文件
PROGJECT-1.restart
:重启计算的输入文件PROGJECT-pos-1.xyz:
MD或结构优化的轨迹PROGJECT-1.ener
:MD能量、温度……PROGJECT-1.cell
:cell参数PROGJECT-RESTRAT.wfn
:重启计算的轨道