VASP的个人经验手册(4)

2018-12-27 17:20

以fcc结构Al的计算为例进行说明: INCAR以一般做静态计算时的情况来设置。 SYSTEM = Al-fcc ENCUT = 250

ISTART = 0 ; ICHARG = 2 ISMEAR = -5 PREC = Accurate

这个优化的过程可以用下面的脚本程序run_k来完成:

#!/bin/sh

rm WAVECAR

for i in 5 7 9 11 13 15 do

cat > KPOINTS <

Monhkorst-Pack $i $i $i 0.0 0.0 0.0 !

echo \ time vasp

E=`grep \ '{printf \ $5 }'` KP=`grep \ '{printf \ $2 }'` echo $i $KP $E >>comment done

计算完后得到k点数目与能量的对应值,总能变化在0.001eV左右就非常足够了,然后由此来选择合适的k点数目。

五、材料基态性质的计算方法和步骤

在计算前,要明确采用的是何种赝势;平面波切断动能多大;k点网格多小;当采用Gaussian-,Fermi-smearing方法或Methfessel-Paxton smearing方法时,SIGMA多大;计算所选取的精度PREC;采取何种交换关联函数。

另外,在每步计算完后,要学会文件(INCAR, KPOINTS, POSCAR, OUTCAR以及其他的与所计算的性质相关的文件DOSCAR, EIGENVAL)。比如静态计算完后得到自洽的电荷密度,可以建立目录scf,然后把INCAR, KPOINTS, POSCAR, OUTCAR, CHGCAR, CHG保存下来,这可以采用下面的命令来完成: mkdir scf

tar czvf chg.tgz CHG*

cp INCAR KPOINTS POSCAR OUTCAR chg.tgz scf/.

16

提示:由于CHGCAR的文件比较大,压缩后保存以减少磁盘空间。当要用到时,把chg.tgz解压就可以用了。

比如计算完能带结构,可以建立目录band,然后把INCAR, KPOINTS, POSCAR, OUTCAR, EIGENVAL, syml文件保存下来,通过下面的命令来完成: mkdir band

cp INCAR KPOINTS POSCAR OUTCAR EIGENVAL syml band/. 然后进入到目录band下面用pbnd.x程序来处理EIGENVAL。

比如计算电子态密度,可以建立目录dos,然后把INCAR, KPOINTS, POSCAR, OUTCAR, DOSCAR文件保存下来,通过下面的命令来完成: mkdir dos

cp INCAR KPOINTS POSCAR OUTCAR DOSCAR dos/. 然后进入目录dos下面用split_dos小程序来处理分割DOSCAR。

1、单个原子的计算

单个原子的计算有两个目的:1) 检验赝势的好坏;2) 对称性被破坏后自旋极化情况下的原子基态能量,对结合能进行修正。

对1)的情况,在VASP的赝势库,由于VASP是商业化的软件,这些元素的赝势都是经过检验过。一般情况下,只要切断动能ENCUT足够大,以及计算单个原子的原胞的晶格常数足够大,得到的能量值应该在1meV~10meV之间,也就是VASP计算得到的单个原子的能量与原子的参考组态时的能量之差。在VASP所计算得到的总能都是扣去了计算原子的参考组态时得到的能量,也就是POTCAR中EATOM的值。 以计算1个Al的情况为例: KPOINTS的内容为:

Automatic 0

Gamma 1 1 1 0 0 0

POSCAR的内容为: atom 15.00

1.00000 .00000 .00000 .00000 1.00000 .00000 .00000 .00000 1.00000 1 Direct

0 0 0

INCAR的内容为:

17

SYSTEM = Al: atom ENCUT = 250.00 eV NELMDL = 5 !make five delays till charge mixing ISMEAR = 0; SIGMA=0.1 !use Gaussian smearing method

计算后得到查看OUTCAR文件中的“energy without entropy”之后的能量值。这个值一般要在1meV~10meV之间。

原胞的大小对所有的元素,取15?是足够的,对某些元素还可以取的更小些。 对2)的情况,还是以计算单个原子Al的为例进行说明: INCAR文件的内容为:

SYSTEM = Al: atom ENCUT = 250

ISYM = 0 ! no symmetry ISPIN = 2 ! allow for spin polarisation

VOSKOWN = 1 ! this is important, in particular for GGA ISMEAR = 0 ! Gaussian smearing, otherwise negative occupancies SIGMA = 0.1 ! intermid. smearing width AMIX = 0.2 ! mixing set manually BMIX = 0.0001 NELM = 20 ! 20 electronic steps ICHARG = 1

连续计算两次,查看OUTCAR文件中的“energy without entropy”之后的能量值,这个值就是用来修正体材料的结合能的。

原胞的大小,与1)情况中的相同。上面INCAR中的内容从第3行起后面的设置,可以用在计算其他原子的情况中。

2、结构参数(晶格常数和原子位置参数)的优化 根据要优化的晶胞参数的复杂性可以分为以下几类:

1) 简单的情况:只要优化一个参数即晶格常数a,其步骤如下(以计算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(为USPP, LDA) Automatic generation 0

Monhkorst-Pack 9 9 9 0.0 0.0 0.0

18

c) 准备好POSCAR文件,以晶格常数实验值aexp为基础,在aexp左右计算10个点得到Volume-Etotal的数据。这个可以通过脚本程序run_a0来完成

#!/bin/sh

rm WAVECAR for i in 3.80 3.85 3.90 3.95 4.00 4.05 4.10 4.15 4.20 4.25 4.30 do

cat > POSCAR <

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 !

echo “ a = $i angstrom “; time vasp E=`grep “TOTEN” OUTCAR | tail -1 | awk ‘{printf “.6f \\n”, $5 }’` V=`grep “volume” OUTCAR | tail -1 | awk ‘{printf “.4f \\n” , $5}’` echo $V $E >>EtVo.dat done

得到的EtVo.dat文件,其内容如下: 13.7200 -4.094976 14.2700 -4.137590 14.8300 -4.163643 15.4100 -4.176403 16.0000 -4.176731 16.6100 -4.166067 17.2300 -4.145942 17.8700 -4.117937 18.5200 -4.083448 19.1900 -4.043300 19.8800 -3.998039

其中第一列数据是体积,单位为?3,第二列数据是能量,单位为eV。 d) 采用Rose公式或Birch-Murnaghan状态方程拟合得到晶格常数。

2) 复杂的情况:含两个以上的参数,比如四角或六角晶系(a,c),正交晶系(a,b,c);以及含有原子位置参数需要优化,步骤为(以计算六角结构Mg的晶格参数为例进行说明): a) 以实验的晶格结构参数为基础,做好POSCAR,先确定好ENCUT,k-mesh大小,SIGMA的值,准备一个名为INCAR.relax的文件,其内容大致如下: SYSTEM = Mg-hex ENCUT = 250

ISTART = 0; ICHARG = 2

19

ISMEAR = 1; SIGMA = 0.2 NSW = 60; IBRION = 2 ISIF = 5

POTIM = 0.2

EDIFF = 1E-5; EDIFFG = -1E-3 PREC = Accurate

再准备一个名为INCAR.static的文件,其内容大致如下: SYSTEM = Mg-hex ENCUT = 250

ISTART = 0; ICHARG = 2 ISMEAR = -5 PREC = Accurate

其中POSCAR的内容如下: Auto generation 0

Gamma

9 9 7 0.0 0.0 0.0

b) 先进行一次体积保持不变的离子驰豫的计算(通过ISIF来设置,此时ISIF可能的取值为2,4或5)

ISIF的选择根据所要优化的结构参数的来进行选择,见上一部分对ISIF的说明。其中“改变原胞的形状”,也就是调整原胞中c/a和b/a的值。

c) 再把优化得到的CONTCAR拷贝成POSCAR,进行一次静态的计算

d) 对a的值取10个左右的点,每个点重复上面两步,得到静态计算下的Volume-Etot关系。这三步可以通过运行脚本程序run_cell来进行,其中run_cell的内容如下: #!/bin/sh

rm WAVECAR for i in 2.81 2.91 3.01 3.11 3.21 3.31 3.41 3.51 3.61 3.71 do

cat > POSCAR <

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 !

cp INCAR.relax INCAR

echo \ time vasp cp CONTCAR POSCAR

20


VASP的个人经验手册(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:“一校一品”创建特色品牌实施方案(定稿2015.9)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: