VASP的个人经验手册资料下载.pdf
《VASP的个人经验手册资料下载.pdf》由会员分享,可在线阅读,更多相关《VASP的个人经验手册资料下载.pdf(29页珍藏版)》请在冰点文库上搜索。
LAPACK和BLAS(http:
/lib.org/),或mkl(配合intel的fotran编译器用),或ATLAS(http:
/math-LibGOTO(http:
/www.cs.utexas.edu/users/flame/goto/)Fortran编译器:
PGIfortran至少4.0以上版本(http:
/Intel的ifc(8.0以上版本是ifort,http:
/15天的试用版本,后者可以从网站下载到免费的版本。
或者在国内的个人ftp服务器上搜索它们的破解版本。
本实验室的都有这些软件的备份。
2、下面采用PGIfortan编译器pgf90、ATLAS数学库对VASP4.4.5进行编译这里假定已经安装好了fortran编译器,所有文件都放在/home/houzf/VASP_SRC目录下,机器的操作系统是Linux:
Redhat9.0。
a)从http:
/math-atlas3.6.0_Linux_P4SSE2.tar.gz,并用如下命令解压:
tarxzvfatlas3.6.0_Linux_P4SSE2.tar.gz解压后得到一个目录Linux_P4SSE2,在此目录下有个lib子目录,该lib子目录中的文件为libatlas.a,libcblas.a,libf77blas.a,liblapack.a,这些就是编译vasp时所需要的数学库文件之一。
b)用如下命令解压vasp.4.4.5.tar.gz和vasp.4.lib.tar.gz:
tarxzvfvasp.4.4.5.tar.gztarxzvfvasp.4.lib.tar.gz解压后分别得到目录vasp.4.4和vasp.4.lib,目录vasp.4.4中文件是vasp的主要源代码,vasp.4.lib是编译vasp时需要的一些特定的数学库程序,在这两个目录中都有编译时所用的makefile文件,针对机器和fortran编译器,选择相应的makefile。
c)进入vasp.4.lib目录,选择makefile.linux_pg,并把它拷贝成makefile,然后键入make命令开始编译。
整个命令如下:
cdvasp.4.libcpmakefile.linux_pgmakefilemake编译成功后,得到libdmy.a文件。
d)退出vasp.4.lib目录,进入vasp.4.4目录,选择makefile.linux_pg,并把它拷贝成makefile,编辑makefile文件,通过修改LIB变量的赋值而采用基于ATLAS的数学库文件,修改的地3方和方法是:
在第87和88行前加上#,把这两行注释掉,然后去掉第91,92和93行前的#。
修改前和后的内容为分别为:
LIB=-L./vasp.4.lib-ldmy./vasp.4.lib/linpack_double.o./vasp.4.lib/lapack_double.o-L/usr/local/lib/usr/local/lib/libblas.a#thefollowinglinesshouldallowyoutolinktoatlasbasedblas#LIB=-L./vasp.4.lib-ldmy./vasp.4.lib/linpack_double.o#./vasp.4.lib/lapack_double.o-L/usr/local/lib#-L$(HOME)/archives/BLAS_OPT/ATLAS/lib/Linux_ATHLONTB/-lf77blaslatlas#LIB=-L./vasp.4.lib-ldmy./vasp.4.lib/linpack_double.o#./vasp.4.lib/lapack_double.o-L/usr/local/lib/usr/local/lib/libblas.a#thefollowinglinesshouldallowyoutolinktoatlasbasedblasLIB=-L./vasp.4.lib-ldmy./vasp.4.lib/linpack_double.o./vasp.4.lib/lapack_double.o-L/usr/local/lib-L./Linux_P4SSE2/lib/-lf77blas-latlas修改后保存makefile文件,键入make命令开始编译vasp。
整个命令为:
cd.cdvasp.4.4cpmakefile.linux_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进行何种性质的计算,以及设置了计算方法中一些重要的参数。
其中的关4键词可以分为如下几类:
对所计算的体系进行注释:
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结构的SiISTART=0!
开始新的计算ICHARG=2!
从原子的电荷密度重叠构造初始电荷密度ENCUT=240!
平面波切断动能ISMEAR=0;
SIGMA=0.1!
采用Gaussiansmearing方法,展宽为0.1eVPREC=Accurate!
计算精度52.POTCAR文件赝势文件,最重要的输入文件之一。
赝势库中赝势文件可以进行如下分类:
根据方法不同有Ultra-soft赝势(USPP)和投影缀加波的赝势(PAW)根据交换关联函数的不同有LDA和GGA(又可以再分为PW91和PBE)根据处理了半芯态有A,A_sv和A_pv的不同根据ENMAX的大小有A,A_s和A_h的不同如何准备?
如果你拿到的赝势文件的格式用相应的命令把各元素的赝势合并到一个文件POTCAR中:
a)是以Z为扩展名的文件,用命令:
zcatPOTCAR.Zaab)是解压后的文件POTCAR,用命令:
catPOTCARaa(当有多类原子时,按POSCAR文件各类原子的顺序,依次使用上面的命令,把相应原子的POTCAR.Z合并到aa文件中)c)然后把aa文件移到到要计算的目录中(mvaa计算的目录/POTCAR).注释:
在处理磁性材料,所计算的体系含有碱金属、碱土金属、周期表左边的在处理磁性材料,所计算的体系含有碱金属、碱土金属、周期表左边的3d过渡元素、镧系和锕系元素时,强烈推荐用过渡元素、镧系和锕系元素时,强烈推荐用PAW势,计算精度有提高。
在采用超越赝势势,计算精度有提高。
在采用超越赝势(USPP)时,使用时,使用PW91的的GGA时,强烈要求把时,强烈要求把VOSKOWN=1给选上。
在采用给选上。
在采用PAW势时,一般推荐用势时,一般推荐用LDA和和PBE的。
的。
下面给出PAW对不同元素,采用何种类型的PAW以及ENCUT值至少要取多少,所列的表格,供选择赝势时作为参考(下面几个表格中,红色表示是一般情况下首选用这种类型的PAW势,表格中数字表示的是切断动能值):
B_h700B318B_s250C_h700C400C_s273N_h700N400N_s250O_h700O400O_s250F_h700F400F_s250Al240Al_h295Si245Si_h380P270P_h390S280S_h402Cl280Cl_h409Ga134Ga_d282Ga_h404Ge173Ge_d287Ge_h410As208Se211Br216In95In_d239Sn103Sn_d241Sb172Te174I175Tl95Pb98Bi1056Tl_d239Pb_d237Bi_d242注释:
X_d表示的是,d电子作为半芯态来处理的。
为了得到较高的计算精度,一般推荐采用X_d的赝势。
X_h表示该势比较硬,也是切断动能要用的很大,它们一般是用含有这类原子的氧化物的计算中,为了提高计算的精度。
其中Si_h一般用在含Si的沸石材料中。
H250H_h700Li140Li_sv271Be300Be_sv308Na81Na_pv300Na_sv700Mg210Mg_pv265K_pv150K_sv259Ca_pv150Ca_sv290Rb_pv121Rb_sv220Sr_sv226Cs_sv220Ba_sv187注释:
这些元素一般很难赝化的,特别是与电负性很强的元素(比如F)结合时,计算的误差都比较大。
X_sv表示把s电子作为半芯态处理,X_pv考虑把p电子作为半芯态来处理。
Sc_sv222Ti178Ti_pv222V192V_pv263Cr227Cr_pv265Mn269Mn_pv269Y_sv211Zr_sv229Nb_pv207Mo224Mo_pv224Tc228Tc_pv228Hf220Hf_pv220Ta223Ta_pv223W223W_pv223Re226Re_pv226Fe267Fe_pv293Co267Ni269Ni_pv367Cu273Cu_pv368Zn276Ru213Ru_pv230Rh228Rh_pv271Pd250Pd_pv350Ag249Cd274Os228Os_pv228Ir210Pt230Au229Hg2337注释:
选择使用X_pv、X_sv还是X的赝势,一个与你要得到的计算精度有关,另外对这些元素在选择要注意些:
3d元素,一般选用X_pv,但是X的赝势也是能给出比较合理的结果。
4d元素,是最有问题的,强烈推荐用X_sv和X_pv的赝势。
5d元素,由于5p电子局域化很强,从Hf元素开始,可以选用X的赝势,推荐选用不同的赝势,进行test一下,然后选用合适的赝势。
Ce300Pr252Nd253Pm258Sm225Eu249Gd256Tm257Yb291Lu255La219La_s136Ac169Ac_s119Th247Th_s169Pa252Pa_s193U252U_s209Np254Np_s210Pu254Pu_s211注释:
如果f电子是itinerant(巡回的),则可以处理含这些元素的体系。
如果f电子是局域性很强的(也就是强关联效应),计算出现的问题与一些过渡金属氧化物(比如NiO,V2O3和FeO等)时的一样。
3.POSCAR描述所计算体系的晶胞参数,原子个数及晶胞中原子的位置,以及分子动力学计算时离子的初始速度(不常用)。
例子:
Si-fcc!
注释行,简短描述体系5.43!
基矢的缩放系数,可认为是晶格常数0.000.500.50!
基矢除以缩放系数后的,与上一行的值一起描述基矢0.500.000.500.500.500.002!
原子个数Direct!
表示原子的坐标是相对于基矢给出的.0.000.000.00!
原子的位置0.250.250.25当第七行是C字母开头的,则表示下面的坐标是以卡笛尔坐标系来给出给原子的绝对坐标(被除以了第二行的缩放系数后的坐标值)。
比如上面的例子也可以采用下面的方式:
原子个数8Carti!
表示原子的坐标是以卡笛尔坐标系给出的坐标.0.000.000.00!
原子的位置0.250.250.254.KPOINTS设置布里渊区k点网格取样大小或能带结构计算时沿高对称方向的k点:
a)手动输入即自定义各个k点的坐标和权重:
推荐只在能带计算时用,其他的情况下不采用这种方法。
在后面的能带结构计算会详细介绍如何准备手动输入的k点。
k-pointsalonghighsymmetrylines!
注释行,无特别的意义11!
沿G-X特殊点之间11个k点Reciprocal!
各k点相对于倒格子基矢来写的0.000.000.001.00!
k点的坐标和相应的权重0.050.000.051.00.0.500.000.501.00b)Line-mode:
在计算能带时用(4.6以上版本才支持),不推荐用例子:
注释行,无特别的意义10!
沿G-X特殊点之间产生10个k点Line-mode!
程序自动产生特殊k点间的k点Reciprocal!
各k点相对于倒格子基矢来写的0.000.000.00!
Gamma0.500.000.50!
X提示:
如果k点是相对于卡笛尔直角坐标系,则第四行改为Cartesian(以字母c开头的任何词都可以)c)程序自动产生k点:
最常用的,定义网格取样大小例子:
Automaticgeneration!
注释行0!
自动产生k点,这一行必须设为0Monhkorst-Pack!
Monhkorst-Pack方法产生k点999!
在各个基矢方向上分割各基矢的点数0.00.00.0!
是否移动网格点以及移动多少(这里不移动)提示:
一般各基矢方向上的分割数为奇数,使得产生的k点是以Gamma点为中心的。
根据基矢的长短来设置合适的分割数。
针对六角晶系:
采用Gammacentered网格例子:
自动产生k点,这一行必须设为0Gamma!
明确定义以Gamma点为中心,根据M-P方法产生k点99790.00.00.0三、三、VASP的主要输出文件的主要输出文件VASP的输出文件主要有OUTCAR,CHG,CHGCAR,WAVECAR,DOSCAR,EIGENVAL,OSZICAR,CONTCAR,PCDAT,IBZKPT,XDATCAR。
1、OUTCAROUTCAR文件包含了vasp计算后得到的绝大部分结果,每步迭代的详细情况。
下面介绍如何从OUTCAR取出一些有用的信息:
a)查看所计算体系的体积,使用下面的命令grepvolumeOUTCAR得到的结果如下volume/ioninA,a.u.=32.92222.17volumeofcell:
65.84第一行给出体系的体积分别以3/atom,a.u.3/atom为单位给出的。
第二行给出体系的体积是以3/unitcell为单位给出的。
b)查看所计算体系的总能,使用下面的命令当ISMEAR=-5时,FreeenergyTOTEN是与energywithoutentropy是相等,则用grepTOTENOUTCAR得到结果如下freeenergyTOTEN=-7.910804eV当ISMEAR等于其他的值时,FreeenergyTOTEN是与energywithoutentropy是不相等,则用grepentropy=OUTCAR得到结果如下energywithoutentropy=-7.910804energy(sigma-0)=-7.910804在计算体系的结合能时,体系的总能取为energywithoutentropy后面的值。
(如何计算体系的结合能,在后面会详细介绍)c)查看所计算体系的费米能级,使用下面的命令grepFermiOUTCAR|tail-1得到的结果为BZINTS:
Fermienergy:
6.171330;
20.000000electrons10上一行中第一个数就是体系的费米能级,第二个数就是体系的总价电子数。
注释:
对半导体的体系,VASP取价带顶作为费米能级。
对呈现金属性的体系,费米能级就是该体系的真实(具有物理意义的)费米能级。
d)查看所计算体系的倒格子基矢在采用vi对OUTCAR编辑时,用下面的命令来查找g/reciprocallatticevectors或g/recipe)查看所计算体系中原子的受力情况在采用vi对OUTCAR编辑时,用下面的命令来查找g/TOTAL-FORCE原子所受的力的单位是eV/angstrom。
2、CHG和CHGCAR这两个都是给出了体系的电荷密度文件,它们的内容是相同的,前者给出的数据的精度要比后者的精度略低一些。
下面是CHGCAR文件的例子:
Au-Zn_zig1.0000000000000015.0000000.0000000.0000000.00000015.0000000.0000000.0000000.0000006.60000011Direct0.0000000.0000000.0000000.0000000.0000790.500000160160720.18441120499E+050.17909524567E+050.16406959292E+050.14179806898E+050.11554638997E+050.88581841033E+040.63620171557E+040.42583169365E+040.26537018923E+040.15676950926E+04.此文件的头9行给出的体系的晶格参数,与POSCAR中的内容基本相同,在11行中三个整数分别是NGX,NGY,NGZ的值,它们表示在三个基矢方向上,对所计算的原胞进行分割,得到NGX*NGY*NGZ个点,所计算原胞中的电荷密度用一个三维矩阵A(NGX,NGY,NGZ)来存贮。
这两个文件在每步迭代过程中都会被更新(除了在INCAR文件中有设置ICHGAR=11或12外)。
经过迭代后得到的自洽的CHG和CHGCAR可以用来画图分析面电荷密度分布(如何做,在后面会详细介绍)。
在后面步骤中能带结构和态密度时,所读入的电荷密度文件CHG和CHGCAR必须是经过迭代自洽得到的文件。
113、DOSCAR和EIGENVALDOSCAR给出的所计算体系的电子态密度,EIGENVAL给出的是所计算体系的本征值。
这两个文件中的能量值,都是绝对的,而不是以费米能级作为参考零点。
4、其他WAVECAR给出的是所计算体系的电子波函数,二进制文件,不可编辑。
OSZICAR每次迭代或离子移动情况的简单汇总。
CONTCAR给出的离子进行