VASP基础教程:
写在前面:
vasp是一款第一性原理计算软件,虽然材料的计算涉及量子力学,统计热力学,固体物理等相关知识,但这并不意味着初学者需要非常深入的掌握这些知识。
第一性原理计算开头很长一部分都是经验性的东西,在掌握这些之后,基础知识会在更精细和特别的参数输入以及数据分析起到作用;因此,初学时可以多使用软件而不是拘泥于理论部分,在参数调试中熟悉vasp的计算流程,在熟悉后再结合理论。类比于实验学科,你需要多算多动手。
你需要的运行基础是:
1.本教程不涉及vasp的安装,如果你并未安装vasp,请参考网页:
https://www.vasp.at/wiki/index.php/Installing_VASP.6.X.X
2.vasp的使用平台为Linux系统 ,请确保你熟悉Linux系统的基础操作,如:打开,复制,编辑文件等。
在学习中,你可以先去vaspwiki官方提供的example中熟悉简单的计算。如果你在计算中遇到问题,请不要拘泥于询问更有经验的前辈和老师。注意:对于vasp的报错,网络上绝大多数vasp解决方案都不太ok,而且讲解也不太清楚。
你可以在bilibili网站上的用户“计算老司机”处学习到基础的理论知识和vasp使用细节。
初学者十分推荐使用vaspkit软件辅助学习。
https://vaspkit.com
教程正片:
1.输入文件
想执行一个vasp计算,最低限度需要四个文件来启动。他们分别是:KPOINTS,INCAR,POTCAR,POSCAR。
有了这四个文件后,可以在当前文件夹下直接使用服务器的提交脚本,如果本地运行,则使用mpirun的方式运行vasp。
(1)INCAR
这个文件直接决定了你计算的内容,精度,方式等,也是计算中最需要调试和改动的文件,其参数很多,需要另外单独介绍和总结,这里先不讲解。
(2)KPOINTS
此文件同样与精度和计算内容相关,但内容很少,需要适配INCAR中的参数,但并不需要经常改动。文件本身很简单,除制定能带计算的路径外,一般可以直接使用vaspkit所生成的版本。
大多数情况,内容意义直接参考https://www.vasp.at/wiki/index.php/KPOINTS的第一页内容即可。
(3)POTCAR & POSCAR
两个文件共同完成了“建模”的工作。POSCAR决定了晶胞的尺寸和形状,以及各个原子的位置,POTCAR为赝势文件,直接规定了原子的元素种类。
下列是立方BN的POSCAR,其中,第一行是体系名称(仅供阅读标记,与计算无关),第二行是坐标长度,单位为埃,3-5行为晶轴的坐标,6为元素种类(仅供阅读标记),7为元素的个数,8-10行代表原子位置,其中,8行表示坐标的写入方式;这里表示分数坐标,即B原子在第一、二、三条轴的0,0,0处,N原子在三条轴分别的1/4,1/4,1/4处。
Cubic BN
3.57
0.0 0.5 0.5
0.5 0.0 0.5
0.5 0.5 0.0
B N
1 1
Direct
0.00 0.00 0.00
0.25 0.25 0.25
对于这样的体系POTCAR的生成方式为
cat ~/pot/B/POTCAR ~/pot/N/POTCAR > POTCAR
~/pot/ 为赝势库的位置,请以自己的路径为准,注意B,N的顺序需要与POSCAR中第7行的顺序一致。
POTCAR本质上是规定元素种类的文件,正如之前提到的,POSCAR第6行的“B,N”仅仅起标记作用,可以辅助软件或读者对于POSCAR的读取,但vasp计算中实际上并不会读取这一行,而是把POTCAR作为标记元素种类的基础,例如,如果输入:
cat ~/pot/C/POTCAR ~/pot/S/POTCAR > POTCAR
那么vasp就会以CS为元素计算。(说到底,不同的原子不过是不同的赝势场而已)
这样,你就完成了cubic BN的建模,并使其可以被vasp读取。
当你完成了四个文件的写入,确保它们在一个文件夹下,并在此文件夹下执行vasp程