VASP使用总结 下载本文

试之前要进行修改,vim空run-cut回车,输入i ,按上下左右键进行修改设置。

#!/bin/bash rm WAVECAR

for i in 200 250 300 350 380 400 420 440(此处需要设置截断能) do

cat >INCAR<

SYSTEM = tetr Pr-Si(修改名称) ENCUT = $i

ISTART = 0; ICHARG = 2 ISMEAR = 0; SIGMA = 0.1 #IBRION=6; ISIF=3 ; NSW=15 EDIFF = 0.1E-04 EDIFFG = -1E-3)

PREC = Accurate (中间高亮这部分其实就是INCAR中的内容,注意若这部分中有原来的内容要先将其删掉,还有要将原INCAR中的ENCUT=380删掉,已经不需要了,并且后面的”!”号不能删)

!

echo \#qsub vasp.pbs

/opt/mpi/openmpi/1.6.5/bin/mpirun -np 10 vasp(运行指令,若在后面加上>vasp.out &就是在后台运行)

E=$(grep \echo $i $E >> comment done

设置好之后,先按退出键ESC →→ 输入:wq回车,就是保存并退出 将KPOINTS也设置好之后然后输入sh空run-cut回车就开始运行了 注意用脚本来测试截断能的时候,不再需要INCAR文件,文件夹中只需要POTCAR 、POSCAR 、KPOINTS、 run-cut就可以了,run-cut中已经包含了INCAR,计算完后,结果文件中会出现一个INCAR文件。然后输入less空comment就可以查看计算结果了。

通常是用计算单点能来测试截断能和K点,主要是先选取一个合适的截断能(可以选取POTCAR中的截断能),然后设置不同的K点来计算单点能(free energy toten),将所得的能量整理出来画成一条曲线.同样的道理测试截断能,选择合适的k点,改变不同的截断能来计算。

(2)测试K点

测试k点就比较容易了,POTCAR 和POSCAR 不变,将INCAR中参数进行修改,如下所示,将高亮部分进行修改,

SYSTEM = tetr Nd_Si ENCUT = 300

ISTART = 0; ICHARG = 2 ISMEAR = 0; SIGMA = 0.1

#IBRION = 2; ISIF=3 ; NSW=15(要用#号标注,意思是采用默认值) EDIFF = 0.1E-04 EDIFFG = -1E-3 PREC = Accurate

然后就设置不同的k点网格,设置好之后,先按退出键ESC →→ 输入:wq回车,就是保存并退出

然后进行计算就OK了,运行指令:/opt/mpi/openmpi/1.6.5/bin/mpirun空 –n

空10空vasp空>vasp.out空&

或者也可以采用脚本进行后台运行,即在计算文件夹中放入vasp.pbs脚本,然后直接输入qsub 空vasp.pbs回车就可以了

4、进行结构优化

待把e-cut和K点测试好之后,就可以进行结构优化了。POTCAR POSCAR的设置不用变,KPOINTS中K点改为测试好的那个。重要的是INCAR中的参数设置,如下所示,只需要将这一行的标注#去掉,并设为IBRION = 2; ISIF=3 ,其他的取默认值即可。

SYSTEM = tetr Nd_Si

ENCUT = 300(改为测试出来的) ISTART = 0; ICHARG = 2 ISMEAR = 0; SIGMA = 0.1

IBRION = 2; ISIF=3 ; NSW=15(将这一行的标注#去掉,并设为IBRION = 2; ISIF=3 ,)

EDIFF = 0.1E-04 EDIFFG = -1E-3

设置好之后,先按退出键ESC →→ 输入:wq回车,就是保存并退出 然后就可以运行了,运行指令:/opt/mpi/openmpi/1.6.5/bin/mpirun空 –n空10空vasp空>vasp.out空&

或者也可以采用脚本进行后台运行,即在计算文件夹中放入vasp.pbs脚本,然后直接输入qsub 空vasp.pbs回车就可以了

5、计算弹性常数

将进行优化后的结果进行分析,即将优化出的晶格常数跟实验值进行比较,若误差小于2%,(如果能更小最好),则优化结果合理,即所选参数恰当。

计算弹性常数步骤:

第一步:将优化后得到的结果文件CONTCAR改为POSCAR作为下一步计算所需的POSCAR, KPOINTS就选择测试出来的参数,POTCAR不变。重要的是INCAR,如下为INCAR的内容,其他的保持不变。

general:

System = tetr Nd3Co29Si4B10 ISTART = 0; ICHARG = 2 ISMEAR = 0; SIGMA = 0.1 ENCUT = 380

IBRION = 6; ISIF = 3; NSW = 15(算弹性常数时,IBRION = 6; ISIF = 3) EDIFF = 0.1E-04 EDIFFG = -1E-3 PREC = Accurate

设置好之后,先按退出键ESC →→ 输入:wq回车,就是保存并退出。若是不保存只是退出为”:q”,强制退出“ :q! ”.

此时就可以进行运算了,运行指令:/opt/mpi/openmpi/1.6.5/bin/mpirun空 –n空10空vasp空>vasp.out空&

或者也可以采用脚本进行后台运行,即在计算文件夹中放入vasp.pbs脚本,然后直接输入qsub 空vasp.pbs回车就可以了

待计算结果完毕后,查看结果指令

第一种方法:可以用脚本来提取(即在计算的文件夹下放入提取弹性常数的脚本get-elastics.sh ,待计算完毕的时候,输入sh空get-elastics.sh ,在界面上就出现结果了。 第二种方法: