cp INCAR.static INCAR
echo \ time vasp
E=`grep \ '{printf \ $5 }'` V=`grep \ \echo $V $E >>EtVo.dat done
在run_cell运行完后,得到EtVo.dat文件。
e) 采用状态方程拟合得到平衡状态下的体积,体弹性模量
f) 在该体积下,重复上面b)和c)步,得到平衡状态下的其他晶胞参数。这一步也就是:在得到了E(V)曲线后,通过状态方程拟合得到平衡状态下的体积,计算出上面脚本中变量$i的值,并改变$i的循环值,再运行run_cell计算一次,得到其他的结构参数c和位置u.。
另外一种对体系的结构参数进行一次性型的计算(这种方法一般是用来估计的,计算得到较合理,但是精度不高)。这通过设置ISIF来进行的。还是以计算六角结构Mg为例: 计算时的INCAR文件为: SYSTEM = Mg-hex ENCUT = 250
ISTART = 0; ICHARG = 2 ISMEAR = 1; SIGMA = 0.2 NSW = 60; IBRION = 2 ISIF = 3
POTIM = 0.2
EDIFF = 1E-6; EDIFFG = -1E-3 PREC = Accurate
注释:此时可以把EDIFF和EDIFFG的精度提高一些以得到更准确的晶格参数。 KPOINTS与前面的相同。POSCAR的内容为: Mg-hex 3.21
0.0 -1.0 0.0 0.8660254037844 0.5 0.0
0.0 0.0 1.6230529595 2 Direct
0.6666666666666667 0.3333333333333333 0.750 0.3333333333333333 0.6666666666666667 0.250
最后计算完后,得到的CONTCAR文件就包含优化后的晶格参数。 这样也可以比较采用这两种方法得到的晶格参数究竟差多少。
3、结合能
VASP计算得到的总能已经减去了在以原子参考组态计算得到的原子能量(也就是构造赝势
21
时,得到的总能,对应于POTCAR文件中的EATOM)。要得到准确的结合能,还需减去前面单个原子计算中的第2)种情况计算得到的修正值。
4、自洽的电荷密度
再优化得到了晶胞参数后,进行静态的计算就可以得到自洽的电荷密度,并要保存下来,在后面计算其他的性质时要用到;另外也可以根据它画出面电荷密度图,分析原子间的键合作用。步骤为(并以计算fcc结构Al为例进行说明):
a) 准备好INCAR,即定义ENCUT,ISTART=0,ICHARG=2,ISMEAR=-5 SYSTEM = Al-fcc ENCUT = 250
ISTART = 0; ICHARG = 2 ISMEAR = -5 PREC = Accurate
b) 准备好KPOINTS和POTCAR Automatic generation 0
Monhkorst-Pack 9 9 9 0.0 0.0 0.0
(这个是KPOINTS文件中的内容)
c) 准备好POSCAR文件或以优化的晶格参数作为基础,把优化得到的CONTCAR拷贝成POSCAR。 Al-fcc 3.975
0.0 0.5 0.5 0.5 0.0 0.5 0.5 0.5 0.0 1 Direct
0.0 0.0 0.0
d) 提交运行:用命令nohup time vasp&
e) 当计算完成后,保存CHGCAR和CHG:用命令tar czvf chg.tgz CHG*
f) 用命令cp CHGCAR rho.vasp,并仅在rho.vasp文件中第一行后加入_P1_charge / x x x … /,/ x x x …/按POSCAR文件中每类原子的名称给写出。然后用VENUS软件打开rho.vasp文件,进行面电荷密度的分析。 Al-fcc_P1_charge / Al / 3.97500000000000
0.000000 0.500000 0.500000 0.500000 0.000000 0.500000 0.500000 0.500000 0.000000
22
1 Direct
0.000000 0.000000 0.000000
28 28 28 ………………
5、能带结构
计算材料的能带结构即色散曲线E(k),步骤为(并以计算fcc结构Al的能带结构为例进行说明):
a) 根据特殊k点的走向,选取特殊k点及特殊k点间的分割点数,准备好产生k点的输入文件syml
6 !特殊k点的个数
20 20 20 10 20 !特殊k点间的分割点数
X 0.5 0.0 0.5 !特殊k点的坐标,相对于倒格子矢量 G 0.0 0.0 0.0 L 0.5 0.5 0.5 W 0.5 0.25 0.75 K 0.375 0.375 0.75
G 0.0 0.0 0.0 !下面三行,前三列是正格子基矢,后三列是倒格子基矢 0.000000000 1.987500000 1.987500000 -0.251572327 0.251572327 0.251572327 1.987500000 0.000000000 1.987500000 0.251572327 -0.251572327 0.251572327 1.987500000 1.987500000 0.000000000 0.251572327 0.251572327 -0.251572327 -20.0 15.0 !在画能带结构时,每个特殊k点所对应的竖线的能量范围 7.068339 !费米能级 b) 用程序gk.x产生k点,得到KPOINTS文件
注释:程序gk.x是由gk.f文件编译后得到的目标文件,其输入文件为syml,输出文件为KPOINTS, inp.kpt。
c)紧接着利用前面计算得到的自洽电荷密度作一次非自洽的计算 采用命令解压保存的电荷密度文件chg.tgz:tar xzvf chg.tgz
另外设置ISTART=1, ICHARG=11, 并增加NBANDS的值,ISMEAR采用默认值 SYSTEM = Al-fcc ENCUT = 250
ISTART = 1; ICHARG = 11 #ISMEAR = -5 NBANDS = 12 PREC = Accurate
计算完后得到本征值文件EIGENVAL。
注意:对于4.4系列版本,在计算能带结构时设置NBANDS的值应该与计算自洽的电荷密度时设置的NBADS一致。对4.5以上版本,可以不一致。
d) 从自洽电荷密度计算得到的OUTCAR文件中找到倒格子矢量和费米能级,并粘贴到syml
23
文件中,然后用程序pbnd.x把EIGENVAL转换为成bnd.dat(本征值,并以费米能级为参考零点)和highk.dat(用来画竖线),然后用软件origin画图。
注释:程序pbnf.x是通过编译pbnd.f得到的可执行文件,其输入文件为EIGENVAL和syml,输出文件为BANDS、bnd.dat和highk.dat。pbnd.f可以处理自旋极化情况下计算得到的EIGENVAL,不再输出bnd.dat而是upbnd.dat和dnbnd.dat这两个文件,分别对自旋向上和向下的能带。
提示:在计算能带结构时,采用ISMEAR = 0或1对结果的影响非常小,可以认为是一样的。但是不能采用ISMEAR = -5 或-4。
6、电子态密度
计算材料的电子态密度可以包括总态密度和分波态密度,步骤为(以计算fcc结构Al的态密度为例子进行说明):
a) 准备好KPOINTS文件,增加k点网格 Automatic generation 0
Mohkorst-Pack 19 19 19 0.0 0.0 0.0
b) 从POTCAR文件中找到各类原子的RWIGS(vi编辑POTCAR,并用命令g/ RWIGS) c) 准备好INCAR文件(设置ISTART=1, ICHARG=11, ISMEAR=-5以及RWIGS) SYSTEM = Al-fcc ENCUT = 250
ISTART = 1; ICHARG = 11 ISMEAR = -5 RWIGS = 1.402 PREC = Accurate
d) 利用前面计算得到的自洽电荷密度,进行一次非自洽计算 tar xzvf chg.tbz nohup time vasp&
计算完后,得到包含了态密度值的DOSCAR文件,
e) 采用split_dos对态密度文件DOSCAR进行分割,得到总态密度DOS0,各个原子的分波态密度DOS1,DOS2……。另外在运行split_dos程序对DOSCAR文件分割时,要保证当前目录下有对应的OUTCAR和POSCAR文件。
分割后的DOS0,DOS1…等文件的能量值是以费米能级作为能量参考零点。DOS0的第一列数据是能量值,单位为eV;第二列数据是总态密度的值,单位State/eV.unit cell;第三列数据是总态密度的积分值,也就是电子数,单位为electrons。DOS1是第一个原子的分波态密度值,其中的第一列数据是能量值,单位为eV;第二、三、四列数据分别对应于s、p、d
24
态的分波态密度值,单位为State/eV.atom。其他的DOS文件与DOS1类似。
六、材料磁性性质的计算
磁性的计算,其实与非磁性的计算相比,就只需在INCAR中加入ISPIN = 2以及设置各类原子的初始磁矩,这通过MAGMOM来设置。更复杂的磁性性质的计算,包括noncollinear磁性、spin orbit相互作用和Spin sprial磁性,需要再增加其他的关键词。下面主要讲的是如何进行简单的磁性计算。根据设置MAGMOM的不同来确定计算材料的铁磁、反铁磁以及亚铁磁性质。以计算fcc结构Ni的铁磁性为例进行说明(在例子,采用的是PBE、PAW势): 提示:作磁性计算时,强烈推荐采用PAW势,得到的结果会更准确些。
其晶格参数、基态性质的计算基本与非磁性时的计算相同,只需在INCAR文件中加入SPIN = 2以及设置MAGMOM的值。 INCAR文件的内容为: SYSTEM = Ni-FM
ISTART = 0; ICHARG = 2 ENCUT = 350 eV ISMEAR = -5 GGA = PE; VOSKOWN = 1 ISPIN = 2
MAGMOM = 1 PREC = Accurate
注释:当采用GGA = 91时,强烈推荐VOSKOWN = 1加上。当采用GGA = PE,VOSKOWN = 1,可加可不加,此时如果没有加上VOSKOWN = 1,程序默认也是采用Vosko Wilk and Nusair提出的内插公式来处理关联部分。
MAGMOM的设置要对应于POSCAR文件中每类原子。进行铁磁性质的计算时,MAGMOM要设置成相同的值,在INCAR文件中,也可以不设置,程序会默认设置为1。 KPOINTS和POSCAR与进行非磁性时的一样。 Automatic generation 0
Monhkorst-Pack 9 9 9 0.0 0.0 0.0
(这个是KPOINTS文件中的内容) Ni-FM 3.52
0.0 0.5 0.5 0.5 0.0 0.5 0.5 0.5 0.0
25