VASP的个人经验手册.docx
- 文档编号:2027798
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:14
- 大小:31.54KB
VASP的个人经验手册.docx
《VASP的个人经验手册.docx》由会员分享,可在线阅读,更多相关《VASP的个人经验手册.docx(14页珍藏版)》请在冰点文库上搜索。
VASP的个人经验手册
VASP的个人经验手册
使用VASP的个人经验手册 侯柱锋 厦门大学物理系2004届博士E-mail:
zhufhou@ 2004/06/22 本手册纯属个人使用VASP后的心得和经验总结,版权属于本手册的作者及厦门大学物理系计算物理实验室。
未经许可,不准在网上传阅。
文中提到的一些小程序,可以提供使用。
在参考的过程,如遇到不清楚或含糊的地方,可以参考VASP的英文manual或email给我。
如认为本手册某些地方需要更正或修改的,请email给我。
当在使用VASP的过程中遇到问题,也可以email给我,大家一起学习VASP的使用,挖掘和掌握VASP强大的功能。
本手册参考了VASP的英文manual、的报告以及从internet网上收集的资料。
本手册大致有以下几个内容:
A 程序的编译 “?
AVASP的主要输入文件OAVASP的主要输出文件lA参数设置与选择的技巧A 材料基态性质的计算方法和步骤 ZA材料磁性性质的计算μA表面体系的计算”aAtools中小程序的说明A 半导体中的缺陷和杂质问题 十、如何进行分子动力学模拟 十一、强关联体系的计算(LDA+U或GGA+U) 一、程序的编译 声明:
本实验室购买的是版本,所属本实验室的成员以及经过朱梓忠教授同意使用的合作者必须遵守该软件的使用协议,注意VASP软件的版权问题,严禁私下发布或传播本实验室购买的VASP源代码和赝势库以及编译VASP得到的可执行代码。
1 下面以编译版本为例,编译更新的版本、和的步骤与此相同。
1、所需文件和程序 VASP源代码:
和数学库:
LAPACK和BLAS(/),或mkl,或ATLAS(/) 或LibGOTO(/users/flame/goto/) Fortran编译器:
PGIfortran至少以上版本(/), 或Intel的ifc(以上版本是ifort,/software/products/compilers/flin/),前者可以从网站上下载到15天的试用版本,后者可以从网站下载到的版本。
或者在国内的个人ftp服务器上搜索它们的破解版本。
本实验室的都有这些软件的备份。
2、下面采用PGIfortan编译器pgf90、ATLAS数学库对进行编译 这里假定已经安装好了fortran编译器,所有文件都放在/home/houzf/VASP_SRC目录下,机器的操作系统是Linux:
。
a)从/下载_Linux_,并用如下命令解压:
tarxzvf_Linux_ 解压后得到一个目录Linux_P4SSE2,在此目录下有个lib子目录,该lib子目录中的文件为,,,,这些就是编译vasp时所需要的数学库文件之一。
b)用如下命令解压和:
tarxzvf tarxzvf 解压后分别得到目录和,目录中文件是vasp的主要源代码,是编译vasp时需要的一些特定的数学库程序,在这两个目录中都有编译时所用的makefile文件,针对机器和fortran编译器,选择相应的makefile。
c)进入目录,选择_pg,并把它拷贝成makefile,然后键入make命令开始编译。
整个命令如下:
cd cp_pgmakefile make 编译成功后,得到文件。
d)退出目录,进入目录,选择_pg,并把它拷贝成makefile,编辑makefile文件,通过修改LIB变量的赋值而采用基于ATLAS的数学库文件,修改的地 2 方和方法是:
在第87和88行前加上#,把这两行注释掉,然后去掉第91,92和93行前的#。
修改前和后的内容为分别为:
LIB =-L../-ldmy..//linpack_\\ ..//lapack_-L/usr/local/lib/usr/local/lib/# #thefollowinglinesshouldallowyoutolinktoatlasbasedblas#LIB =-L../-ldmy..//linpack_\\# ..//lapack_-L/usr/local/lib\\ # -L$(HOME)/archives/BLAS_OPT/ATLAS/lib/Linux_ATHLONTB/-lf77blas–latlas#LIB =-L../-ldmy..//linpack_\\# ..//lapack_-L/usr/local/lib/usr/local/lib/# #thefollowinglinesshouldallowyoutolinktoatlasbasedblasLIB =-L../-ldmy..//linpack_\\ ..//lapack_-L/usr/local/lib\\ -L../Linux_P4SSE2/lib/-lf77blas-latlas修改后保存makefile文件,键入make命令开始编译vasp。
整个命令为:
cd.. cd cp_pgmakefile 编辑修改makefile文件 make 编译成功后,就可以得到VASP的可执行文件vasp。
e)以root帐号登录机器,把成功编译VASP后得到的vasp放到/bin目录下,则任何一个普通用户都可以使用vasp。
此时vasp可以当成于一个linux的命令来使用了,不再需要把vasp拷贝到当前的计算目录下。
二、VASP的主要输入文件 VASP的主要输入文件有INCAR,POTCAR,POSCAR和KPOINTS。
INCAR文件控制了vasp进行何种性质的计算,POTCAR文件包含了体系中各类元素的赝势,POSCAR文件描述了所计算的体系的晶胞参数,KPOINTS描述了不可约布里渊区中k点取样,即k点设置。
1、INCAR文件 此文件控制vasp进行何种性质的计算,以及设置了计算方法中一些重要的参数。
其中的关 3 键词可以分为如下几类:
对所计算的体系进行注释:
SYSTEM 定义如何输入或构造初始的电荷密度和波函数:
ISTART,ICHARG,INIWAV定义价电子部分的如何驰豫:
平面波切断动能和缀加电荷时的切断值:
ENCUT,ENAUG电子部分优化的方法:
ALGO,IALGO,LDIAG 电荷密度混合的方法:
IMIX,AMIX,AMIN,BMIX,AMIX_MAG,BMIX_MAG,WC,INIMIX,MIXPRE,MAXMIX 自洽迭代步数和收敛标准:
NELM,NELMIN,NELMDL,EDIFF定义离子芯部分的如何驰豫:
离子如何移动以及步长和步数:
IBRION,NFREE,POTIM,NSW 分子动力学相关参数:
SMASS,TEBEG,TEEND,POMASS,NBLOCK,KBLOCK,PSTRESS 离子驰豫收敛标准:
EDIFFG定义态密度积分的方法和参数:
smearing方法和参数:
ISMEAR,SIGMA 计算态密度时能量范围和点数:
EMIN,EMAX,NEDOS计算分波态密度的参数:
RWIGS,LORBIT其他:
计算精度控制:
PREC 磁性计算:
ISPIN,MAGMOM,NUPDOWN交换关联函数:
GGA,VOSKOWN计算ELF和总的局域势:
LELF,LVTOT结构优化参数:
ISIF 一般要设置的关键词:
SYSTEM,ENCUT,ISTART,ICHARG,PREC,ISMEAR,SIGMA。
针对计算不同的性质,再另外增加相应的关键词。
例子:
General:
SYSTEM=fccSi !
自洽计算fcc结构的Si ISTART=0 !
开始新的计算 ICHARG=2 !
从原子的电荷密度重叠构造初始电荷密度 ENCUT=240 !
平面波切断动能 ISMEAR=0;SIGMA= !
采用Gaussiansmearing方法,展宽为 PREC=Accurate !
计算精度 4 2.POTCAR文件 赝势文件,最重要的输入文件之一。
赝势库中赝势文件可以进行如下分类:
根据方法不同有Ultra-soft赝势(USPP)和投影缀加波的赝势(PAW)根据交换关联函数的不同有LDA和GGA(又可以再分为PW91和PBE)根据处理了半芯态有A,A_sv和A_pv的不同根据ENMAX的大小有A,A_s和A_h的不同如何准备?
如果你拿到的赝势文件的格式用相应的命令把各元素的赝势合并到一个文件POTCAR中:
a)是以Z为扩展名的文件,用命令:
zcat >>aab)是解压后的文件POTCAR,用命令:
catPOTCAR>>aa c)然后把aa文件移到到要计算的目录中(mvaa计算的目录/POTCAR). 注释:
在处理磁性材料,所计算的体系含有碱金属、碱土金属、周期表左边的3d过渡元素、镧系和锕系元素时,强烈推荐用PAW势,计算精度有提高。
在采用超越赝势(USPP)时,使用PW91的GGA时,强烈要求把VOSKOWN=1给选上。
在采用PAW势时,一般推荐用LDA和PBE的。
下面给出PAW对不同元素,采用何种类型的PAW以及ENCUT值至少要取多少,所列的表格,供选择赝势时作为参考:
B_h 700B 318B_s 250Al 240Al_h295Ga 134Ga_d282Ga_h404In 95In_d239Tl 95 C_h700N_h700O_h700C 400C_s273 N 400N_s250 O 400 F_h700F 400 O_s250F_s250S 280Cl 280S_h402Cl_h409Se 211 Br 216 Si 245P 270Si_h380P_h390Ge 173Ge_d287Ge_h410Sn 103Sn_d241Pb 98 Sb 172 As 208 Te174I 175 Bi 105 5
Tl_d239 Pb_d237Bi_d242 注释:
X_d表示的是,d电子作为半芯态来处理的。
为了得到较高的计算精度,一般推荐采用X_d的赝势。
X_h表示该势比较硬,也是切断动能要用的很大,它们一般是用含有这类原子的氧化物的计算中,为了提高计算的精度。
其中Si_h一般用在含Si的沸石材料中。
H 250H_h 700 Li 140Be 300Li_sv271Be_sv 308Na 81Na_pv300Na_sv700 K_pv 150Ca_pv 150K_sv 259Ca_sv 290Rb_pv121Sr_sv 226Rb_sv220 Cs_sv220Ba_sv 187 注释:
这些元素一般很难赝化的,特别是与电负性很强的元素结合时,计算的误差都比较大。
X_sv表示把s电子作为半芯态处理,X_pv考虑把p电子作为半芯态来处理。
Mg 210Mg_pv265 Ti 178 Hf 220Hf_pv220 V 192V_pv263 Ta 223Ta_pv223Ni 269Ni_pv367 Cr 227Cr_pv265Mo 224W 223W_pv223Cu 273Cu_pv368Ag 249 Au 229 Mn 269Mn_pv269Tc 228Tc_pv228Re 226Re_pv226Zn 276 Cd 274Hg 233 Sc_sv222Ti_pv222Y_sv211Zr_sv229 Nb_pv207Mo_pv224 Fe 267Co 267Fe_pv293Ru_pv230Os_pv228 Ru 213Rh 228Pd 250 Rh_pv271Pd_pv350 Pt230 Os 228Ir 210 6 注释:
选择使用X_pv、X_sv还是X的赝势,一个与你要得到的计算精度有关,另外对这些元素在选择要注意些:
3d元素,一般选用X_pv,但是X的赝势也是能给出比较合理的结果。
4d元素,是最有问题的,强烈推荐用X_sv和X_pv的赝势。
5d元素,于5p电子局域化很强,从Hf元素开始,可以选用X的赝势,推荐选用不同的赝势,进行test一下,然后选用合适的赝势。
Ce300Pr252 La219Ac169Th247Pa252La_s136 注释:
如果f电子是itinerant,则可以处理含这些元素的体系。
如果f电子是局域性很强的,计算出现的问题与一些过渡金属氧化物时的一样。
3.POSCAR 描述所计算体系的晶胞参数,原子个数及晶胞中原子的位置,以及分子动力学计算时离子的初始速度(不常用)。
例子:
Si-fcc !
注释行,简短描述体系 !
基矢的缩放系数,可认为是晶格常数 !
基矢除以缩放系数后的,与上一行的值一起描述基矢 2 !
原子个数 Direct !
表示原子的坐标是相对于基矢给出的. !
原子的位置 当第七行是C字母开头的,则表示下面的坐标是以卡笛尔坐标系来给出给原子的绝对坐标。
比如上面的例子也可以采用下面的方式:
Si-fcc !
注释行,简短描述体系 !
基矢的缩放系数,可认为是晶格常数 !
基矢除以缩放系数后的,与上一行的值一起描述基矢 2 !
原子个数 7 Nd253 Pm258 Sm225Tm257 Eu249Yb291 Gd256Lu255 U252Np254Pu254 Pu_s211 Ac_s119Th_s169Pa_s193U_s209Np_s210 Carti !
表示原子的坐标是以卡笛尔坐标系给出的坐标. !
原子的位置 4.KPOINTS 设置布里渊区k点网格取样大小或能带结构计算时沿高对称方向的k点:
a)手动输入即自定义各个k点的坐标和权重:
推荐只在能带计算时用,其他的情况下不采用这种方法。
在后面的能带结构计算会详细介绍如何准备手动输入的k点。
例子:
k-pointsalonghighsymmetrylines !
注释行,无特别的意义 11 !
沿G-X特殊点之间11个k点 Reciprocal !
各k点相对于倒格子基矢来写的 !
k点的坐标和相应的权重 ……. b)Line-mode:
在计算能带时用(以上版本才支持),不推荐用例子:
k-pointsalonghighsymmetrylines!
注释行,无特别的意义 10 !
沿G-X特殊点之间产生10个k点 Line-mode !
程序自动产生特殊k点间的k点 Reciprocal !
各k点相对于倒格子基矢来写的 !
Gamma !
X 提示:
如果k点是相对于卡笛尔直角坐标系,则第四行改为Cartesian(以字母c开头的任何词都可以) c)程序自动产生k点:
最常用的,定义网格取样大小例子:
Automaticgeneration !
注释行 0 !
自动产生k点,这一行必须设为0Monhkorst-Pack !
Monhkorst-Pack方法产生k点 9 9 9 !
在各个基矢方向上分割各基矢的点数 !
是否移动网格点以及移动多少(这里不移动) 提示:
一般各基矢方向上的分割数为奇数,使得产生的k点是以Gamma点为中心的。
根据基矢的长短来设置合适的分割数。
针对六角晶系:
采用Gammacentered网格例子:
Automaticgeneration !
注释行 0 !
自动产生k点,这一行必须设为0 Gamma !
明确定义以Gamma点为中心,根据M-P方法产生k点997 8 三、VASP的主要输出文件 VASP的输出文件主要有OUTCAR,CHG,CHGCAR,WAVECAR,DOSCAR,EIGENVAL,OSZICAR,CONTCAR,PCDAT,IBZKPT,XDATCAR。
1、OUTCAR OUTCAR文件包含了vasp计算后得到的绝大部分结果,每步迭代的详细情况。
下面介绍如何从OUTCAR取出一些有用的信息:
a)查看所计算体系的体积,使用下面的命令grep‘volume’OUTCAR得到的结果如下 volume/ioninA, = volumeofcell:
第一行给出体系的体积分别以?
3/atom,/atom为单位给出的。
第二行给出体系的体积是以?
3/unitcell为单位给出的。
b)查看所计算体系的总能,使用下面的命令 当ISMEAR=-5时,FreeenergyTOTEN是与energywithoutentropy是相等,则用grep‘TOTEN’OUTCAR得到结果如下 freeenergyTOTEN= -eV 当ISMEAR等于其他的值时,FreeenergyTOTEN是与energywithoutentropy是不相等,则用 grep‘entropy=’OUTCAR得到结果如下 energywithoutentropy= -energy(sigma->0)= -在计算体系的结合能时,体系的总能取为energywithoutentropy后面的值。
c)查看所计算体系的费米能级,使用下面的命令grep‘Fermi’OUTCAR|tail-1得到的结果为 BZINTS:
Fermienergy:
;electrons 9 上一行中第一个数就是体系的费米能级,第二个数就是体系的总价电子数。
注释:
对半导体的体系,VASP取价带顶作为费米能级。
对呈现金属性的体系,费米能级就是该体系的真实费米能级。
d)查看所计算体系的倒格子基矢 在采用vi对OUTCAR编辑时,用下面的命令来查找g/reciprocallatticevectors或g/recip e)查看所计算体系中原子的受力情况 在采用vi对OUTCAR编辑时,用下面的命令来查找g/TOTAL-FORCE 原子所受的力的单位是eV/angstrom。
2、CHG和CHGCAR 这两个都是给出了体系的电荷密度文件,它们的内容是相同的,前者给出的数据的精度要比后者的精度略低一些。
下面是CHGCAR文件的例子:
Au-Zn_zig 11Direct 16016072 +05+05+05+05+05+04+04+04+04+04 ................................... 此文件的头9行给出的体系的晶格参数,与POSCAR中的内容基本相同,在11行中三个整数分别是NGX,NGY,NGZ的值,它们表示在三个基矢方向上,对所计算的原胞进行分割,得到NGX*NGY*NGZ个点,所计算原胞中的电荷密度用一个三维矩阵A(NGX,NGY,NGZ)来存贮。
这两个文件在每步迭代过程中都会被更新。
经过迭代后得到的自洽的CHG和CHGCAR可以用来画图分析面电荷密度分布。
在后面步骤中能带结构和态密度时,所读入的电荷密度文件CHG和CHGCAR必须是经过迭代自洽得到的文件。
10
以fcc结构Al的计算为例进行说明:
INCAR以一般做静态计算时的情况来设置。
SYSTEM=Al-fccENCUT=250 ISTART=0;ICHARG=2ISMEAR=-5PREC=Accurate 这个优化的过程可以用下面的脚本程序run_k来完成:
#!
/bin/sh rmWAVECAR foriin5791113 15do cat>KPOINTS Monhkorst-Pack$i$i$i !
echo\timevasp E=`grep\‘{printf\$5}’`KP=`grep\‘{printf\$2}’`echo$i$KP$E>>commentdone 计算完后得到k点数目与能量的对应值,总能变化在左右就非常足够了,然后此来选择合适的k点数目。
五、材料基态性质的计算方法和步骤 在计算前,要明确采用的是何种赝势;平面波切断动能多大;k点网格多小;当采用Gaussian-,Fermi-smearing方法或Methfessel-Paxtonsmearing方法时,SIGMA多大;计算所选取的精度PREC;采取何种交换关联函数。
另外,在每步计算完后,要学会文件。
比如静态计算完后得到自洽的电荷密度,可以建立目录scf,然后把INCAR,KPOINTS,POSCAR,OUTCAR,CHGCAR,CHG保存下来,这可以采用下面的命令来完成:
mkdirscf tarczvf CHG* cpINCARKPOINTSPOSCAROUTCARscf/. 16 提示:
于CHGCAR的文件比较大,压缩后保存以减少磁盘空间。
当要用到时,把解压就可以用了。
比如计算完能带结构,可以建立目录band,然后把INCAR,KPOINTS,POSCAR,OUTCAR,EIGENVAL,syml文件保存下来,通过下面的命令来完成:
mkdirband cpINCARKPOINTSPOSCAROUTCAREIGENVALsymlband/.然后进入到目录band下面用程序来处理EIGENVAL。
比如计算电子态密度,可以建立目录dos,然后把INCAR,KPOINTS,POSCAR,OUTCAR,DOSCAR文件保存下来,通过下面的命令来完成:
mkdirdos cpINCARKPOINTSPOSCAROUTCARDOSCARdos/.然后进入目录dos下面用split_dos小程序来处理分割DOSCAR。
1、单个原子的计算 单个原子的计算有两个目的:
1)检验赝势的好坏;2)对称性被破坏后自旋极化情况下的原子基态能量,对结合能进行修正。
对1)的情况,在VASP的赝势库,于VASP是商业化的软件,这些元素的赝势都是经过检验过。
一般情况下,只要切断动能ENCUT足够大,以及计算单个原子的原胞的晶格常数足够大,得到的能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VASP 个人 经验 手册