若是是用脚本测试截断能,则在comment中查看结果,即:
cat空comment回车,如下图所示 查看弹性常数时:
第一种:可以用脚本来提取(即在计算的文件夹下放入提取弹性常数的脚本get-elastics.sh ,待计算完毕的时候,输入sh空get-elastics.sh ,在界面上就出现结果了。
第二种:第一步:grep空ELA空OUTCAR回车
第二步:cat空-n空OUTCAR空|grep空“TOTAL ELASTIC
MODULI”(将界面上出现的结果文件粘贴到这儿)回车(就会显示一些有代码的结果文件),如:473711(矩阵行列起始)及文件名
第三步:sed空-n空“473711,473731”(弹性常数所处的行数)
空 (就会显示出弹性常数)回车
3、计算单点能
计算单点能通常是用来测试ENCUT 和K点的 (1)测试截断能
第一种方法:POSCAR POTCAR 都比较简单,就是按照前面所说的方法步骤弄就可以了(注意POTCAR中添加势的时候要与POSCAR中的元素顺序一致)。
最重要的是INCAR和 KPOINTS中参数的设置: 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
以上是INCAR中的参数设置,对于计算单点能时,只需要将ENCUT设置一下,#IBRION = 2; ISIF=3 ; NSW=15(这一行标注了意思就是取默认值),对于KPOINTS则只需要设置K点网格就可以了。
设置好之后,先按退出键ESC →→ 输入:wq回车,就是保存并退出 运行指令:/opt/mpi/openmpi/1.6.5/bin/mpirun空 –n空10空vasp空>vasp.out空&
或者也可以采用脚本进行后台运行,即在计算文件夹中放入vasp.pbs脚本,然后直接输入qsub 空vasp.pbs回车就可以了
计算完毕查看结果的时候,使用命令:grep 空“TOTEN” 空OUTCAR空|tail空-n空1回车,此时出来的就是最后一个的能量值,若想看倒数5个的能量值,可以输入:grep 空“TOTEN” 空OUTCAR空|tail空-n空5回车,就可以看到了。如果想看开始几行 的只需要将命令改为:grep 空“TOTEN” 空OUTCAR空|head空-n空5回车,即可。
第二种方法:若采用 脚本来一次型测试的话,POTCAR 和POSCAR不变,KPOINTS选好一个K点,然后使用脚本run-cut来进行优化,以下为该脚本内容。测
试之前要进行修改,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%,(如果能更小最好),则优化结果合理,即所选参数恰当。