VASP经典学习教程有用.docx
《VASP经典学习教程有用.docx》由会员分享,可在线阅读,更多相关《VASP经典学习教程有用.docx(34页珍藏版)》请在冰点文库上搜索。
VASP经典学习教程有用
VASP学习教程
XX理工大学量子化学课题组
2012/5/25
第一章Linux命令
1.1常用命令
1.1.1浏览目录
cd:
进入某个目录。
如:
cd/home/songluzhi/vasp/CH4
cd..上一层目录;cd/根目录;
ls:
显示目录下的文件。
注:
输入目录名时,可只输入前3个字母,按Tab键补全。
1.1.2浏览文件
cat:
显示文件内容。
如:
catINCAR
如果文件较大,可用:
catINCAR|more(可以按上下键查看)
合并文件:
catAB>C(A和B的内容合并,A在前,B在后)
1.1.3目录操作
mkdir:
建立目录;rmdir:
删除目录。
如:
mkdirT-CH3-Rh111
1.1.4文件操作
rm:
删除文件;vi:
编辑文件;cp:
拷贝文件
mv:
移动文件;pwd:
显示当前路径。
如:
rmINCARrma*(删除以a开头的所有文件)
rm-rfabc(强制删除文件abc)
tar:
解压缩文件。
压缩文件?
?
rar
1.1.5系统信息
df:
分区占用大小。
如:
df-h
du:
各级目录的大小。
top:
运行的任务。
psax:
查看详细任务。
kill:
杀死任务。
如:
kill12058〔杀死PID为12058的任务〕
注:
PID为top命令的第一列数字。
第二章SSH软件使用
2.1软件界面
SSH界面
SSHtransfer
2.2SSHtransfer的应用
2.2.1文件传输
从本地文件中,把所需的计算文件直接拖到效劳器中。
一般就是VASP计算的四个文件INCAR,KPOINTS,POSCAR,POTCAR。
2.2.2简单应用
在右侧文件夹中可以直接构建文件夹,删除文件,修改文件。
从SSH要cd到某个文件夹下时,可先从SSHtransfer进入,直接复制路径栏,可快速进入。
第三章VASP的四个输入文件
3.1INCAR
SYSTEM=name
ENCUT=400
PREC=Medium
EDIFF=5E-4
EDIFFG=-0.1
GGA=91
VOSKWN=1!
磁性计算
ISYM=0!
对称0无1有
LREAL=.FALSE.!
倒空间
ISPIN=2!
2磁性计算1不进展
ISTART=0!
0初次计算,1再次计算
ICHARG=2!
2构造原子密度
ISMEAR=2!
-5半导体;DOS静态计算0;原胞较大,k点小于4,单个原子,小分子;12金属体系。
SIGMA=0.1
IBRION=2!
1DIIS,2CG,5频率,3过渡态
ISIF=2!
2构造优化,3晶胞优化
NSW=200!
离子运动步数
POTIM=0.05!
步长
NELMIN=4!
最小迭代次数
NELM=200!
最多迭代次数
LWAVE=.FALSE.!
不输出波函数
LCHARG=.FALSE.!
不输出密度函数
3.2KPOINTS
对于外表
surface
0
M
551
000
对于分子和原子
atomormolcular
1
Rec
0001
3.3POSCAR
CH4在Co100外表Top位的吸附!
(名称)
1.0
5.01200008390.00000000000.0000000000
0.00000000005.01200008390.0000000000
0.00000000000.000000000015.3159999847
CoHC
1641
S
Direct
0.0000000000.0000000000.108070001TTT
0.0000000000.0000000000.333149999TTT
0.2500000000.2500000000.000000000FFF
0.2500100140.2500000000.225119993TTT
0.5000000000.0000000000.108060002TTT
0.5000000000.0000000000.333149999TTT
0.7500000000.2500000000.000000000FFF
0.7499899860.2500000000.225119993TTT
0.0000000000.5000000000.108070001TTT
0.0000000000.5000000000.333139986TTT
0.2500000000.7500000000.000000000FFF
0.2500100140.7500000000.225130007TTT
0.5000000000.5000000000.108070001TTT
0.5000000000.5000000000.333149999TTT
0.7500000000.7500000000.000000000FFF
0.7499899860.7500000000.225119993TTT
0.5000799890.5014299750.451510012TTT
0.2928200070.5022199750.546630025TTT
0.6018900280.6809200050.546850026TTT
0.6020900010.3238700030.547209978TTT
0.4992400110.5021299720.523060024TTT
3.4POTCAR
从赝势库中找到所需元素的赝势文件,命名规那么为:
POTCAR-C(元素)。
把这几个文件放到一个文件夹下,按照前面POSCAR中的元素顺序合并在一起。
命令为:
catPOTCAR-CoPOTCAR-HPOTCAR-C>POTCAR
第四章实例
CO+H-CHOCu(100)
4.1模型的构建
过程:
首先通过MS构建好所需模型,导出为*.cif格式;导入到Vesta程序中,输出为*.vasp。
根据前面所讲的POSCAR格式修改,得到所需文件。
图解:
1.创立MS文件:
2.导入Cu晶胞
3.导出为Cif格式
翻开File---export,保存类型为*.cif,保存在指定位置。
4.通过Vesta导出为*.vasp
直接把Cu.cif拖到vesta程序中,翻开File---ExportData...,保存类型为*.vasp,保存在指定位置。
5.用写字板翻开Cu.vasp
根据所需要求修改Cu.vasp,这里不需要修改。
在吸附外表时那么需要固定,见3.3。
CIFfile
1.0
3.61470007900.00000000000.0000000000
0.00000000003.61470007900.0000000000
0.00000000000.00000000003.6147000790
Cu
4
Direct
0.0000000000.0000000000.000000000
0.0000000000.5000000000.500000000
0.5000000000.0000000000.500000000
0.5000000000.5000000000.000000000
4.2VASP计算
4.2.1参数测试〔VASP〕参数设置这里给出了赝势、ENCUF、K点、SIMGA一共四个参数。
是都要验证吗?
还是只要验证其中一些?
一、检验赝势的好坏:
赝势的好坏这里是特意举例铜原子的吧?
还是算铜的晶胞时只用算一下一个铜原子的就行?
〔一〕方法:
对单个原子进展计算;
〔二〕要求:
1、对称性和自旋极化均采用默认值;
2、ENCUT要足够大;
3、原胞的大小要足够大,一般设置为15Å足矣,对某些元素还可以取得更小一些。
〔三〕以计算单个Cu原子为例:
1、INCAR文件:
SYSTEM=Cuatom
ENCUT=450.00eV
NELMDL=5
ISMEAR=0
SIGMA=0.1
2、POSCAR文件:
atom
10.00
1.000.000.00
0.001.000.00
0.000.001.00
Cu
1
Direct
0.50.50.5
3、KPOINTS文件:
Automatic
0
Gamma
111
000
4、POTCAR文件:
〔略〕
〔四〕计算任务执行方法:
输入:
mpirun-np4vasp>log&
〔五〕赝势好的判断标准:
计算得到的OUTCAR文件中的“energywithoutentropy〞能量值在-0.001~-0.01eV之间。
命令:
grep'energywithoutentropy'OUTCAR|tail-1
计算结果为:
二、筛选适宜的ENCUT大小:
〔一〕输入文件:
1、用脚本程序optencut.sh代替INCAR文件:
rmWAVECAR
foriin300350400450500
do
cat>INCAR<
SYSTEM=Cu
ENCUT=$i
GGA=91
ISTART=0;ICHARG=2
ISMEAR=-5
PREC=Accurate
!
echo"ENCUT=$ieV";timempirun-np2vasp>log&
E=$(grep"TOTEN"OUTCAR|tail-1|awk'{printf"%12.6f\n",$5}')
echo$i$E>>ment
done
注:
每个任务2核,5个截断能,共要10核。
2、POSCAR文件:
Cucell
1.0
3.61470007900.00000000000.0000000000
0.00000000003.61470007900.0000000000
0.00000000000.00000000003.6147000790
Cu
4
Direct
0.0000000000.0000000000.000000000
0.0000000000.5000000000.500000000
0.5000000000.0000000000.500000000
0.5000000000.5000000000.000000000
3、KPOINTS文件:
A
0
M
888
0.00.00.0
4、POTCAR文件:
〔略〕
〔二〕计算任务执行方法:
输入:
dos2unixoptencut.sh
bashoptencut.sh
〔三〕判别标准:
计算完成后得到ment文件,它列出了在每个ENCUT时计算得到的相应的总能,只要总能变化在0.001eV左右就足够了。
三、选择适宜的k点数目:
〔一〕输入文件:
1、INCAR文件:
SYSTEM=Cu
ENCUT=450.00eV
ISTART=0;ICHARG=2
ISMEAR=-5
PREC=Accurate
2、POSCAR文件:
Cu
1.0
3.61470007900.00000000000.0000000000
0.00000000003.61470007900.0000000000
0.00000000000.00000000003.6147000790
Cu
4
Direct
0.0000000000.0000000000.000000000
0.0000000000.5000000000.500000000
0.5000000000.0000000000.500000000
0.5000000000.5000000000.000000000
3、用脚本程序optkpoints.sh代替KPOINTS文件:
rmWAVECAR
foriin678910
do
cat>KPOINTS<
Automaticgeneration
0
Monkhorst-pack
$i$i$i
0.00.00.0
!
echo"kmesh=$ix$ix$i";timempirun-np8vasp>log&
E=$(grep"TOTEN"OUTCAR|tail-1|awk'{printf"%12.6f\n",$5}')
KP=$(grep"irreducible"OUTCAR|tail-1|awk'{printf"%5i\n",$2}')
echo$i$KP$E>>ment
done
4、POTCAR文件:
〔略〕
〔二〕计算任务执行方法:
输入:
dos2unixoptkpoints.sh
bashoptkpoints.sh
〔三〕判别标准:
计算完成后得到ment文件,它列出了在k点数目与总能的对应值,只要总能变化在0.001eV左右就非常足够了。
四、优化选择适宜的SIGMA值〔展宽σ值〕:
〔一〕为什么要优化SIGMA值?
假设展宽σ太小,那么计算难以收敛;假设展宽σ太大,那么会产生多余的熵(entropy),因此必须选择适宜的σ值。
(Toolargesmearing-parametersmightresultinawrongtotalenergy,smallsmearingparametersrequirealargek-pointmesh.)
〔二〕ISMEAR和SIGMA:
1、ISMEAR和SIGMA这两个关键词要联合起来使用,前者用来指定smearing的方法,后者用来指定smearing的展宽——σ值。
2、ISMEAR和SIGMA的默认值分别为1和0.2。
3、ISMEAR可能的取值为-5,-4,-3,-2,-1,0,N(N表示正整数):
ISMEAR=-5,表示采用Blochl修正的四面体方法;
ISMEAR=-4,表示采用四面体方法,但是没有Blochl修正;
ISMEAR=-1,表示采用Fermi-Diracsmearing方法;
ISMEAR=0,表示采用Gaussiansmearing方法;
ISMEAR=N,表示采用Methfessel-Paxtonsmearing方法,其中N是表示此方法中的阶数,一般情况下N取1或2,但是Inmostcases
and
leadstoverysimilarresults。
4、σ值一般在0.1~0.3eVX围内。
5、ISMEAR取值的一些经历:
〔1〕一般说来,无论是对何种体系,进展何种性质的计算,采用ISMEAR=0并选择一个适宜的SIGMA值,都能得到合理的结果。
〔2〕在进展静态计算〔能量单点计算,norelaxationinmetals〕或态密度计算且k点数目大于4时,取ISMEAR=-5。
〔3〕当原胞较大而k点数目较小〔小于4个〕时,取ISMEAR=0,并选择一个适宜的SIGMA值。
(Ifthecellistoolarge(orifyouuseonlyasingleortwok-points)useISMEAR=0inbinationwithasmallSIGMA=0.05)
〔4〕对半导体或绝缘体,不管是静态还是构造优化计算,都取ISMEAR=-5。
(Mind:
AvoidtouseISMEAR>0forsemiconductorsandinsulators,sinceitmightcauseproblems.ForinsulatorsuseISMEAR=0orISMEAR=-5.)
〔5〕对金属体系(forrelaxationsinmetals),取ISMEAR=1或2,并选择一个适宜的SIGMA值。
〔三〕当采用ISMEAR=0或N时,如何优化选择适宜的SIGMA值?
1、用脚本程序optsigma.sh代替INCAR文件:
rmWAVECAR
foriin0.100.120.140.160.180.200.220.240.260.280.30
do
cat>INCAR<
SYSTEM=bccFe
ENCUT=450
GGA=91
ISTART=0;ICHARG=2
ISMEAR=0;SIGMA=$i
PREC=Accurate
!
echo"SIGMA=$ieV";timevasp
TS=$(grep"EENTRO"OUTCAR|tail-1|awk'{printf"%12.6f\n",$5}')
echo$i$TS>>ment
done
2、POSCAR文件:
Cu
1.0
3.61470007900.00000000000.0000000000
0.00000000003.61470007900.0000000000
0.00000000000.00000000003.6147000790
Cu
4
Direct
0.0000000000.0000000000.000000000
0.0000000000.5000000000.500000000
0.5000000000.0000000000.500000000
0.5000000000.5000000000.000000000
3、KPOINTS文件:
A
0
M
999
0.00.00.0
4、POTCAR文件:
〔略〕
〔四〕计算任务执行方法:
输入:
dos2unixoptsigma.sh
bashoptsigma.sh
〔五〕判断标准:
熵(entropy)越小越好,选择entropyT*SEENTRO值中最小的那个所对应的SIGMA。
(SIGMAshouldbeaslargeaspossiblekeepingthedifferencebetweenthefreeenergyandthetotalenergy(i.e.theterm'entropyT*S')intheOUTCARfilenegligible(1meV/atom).)
〔五〕注意:
1、当k点的数目发生变化后,要重新优化选择SIGMA值。
4.2.2晶胞优化(Cu)
INCAR
SYSTEM=name
ENCUT=400
PREC=Medium
EDIFF=5E-6
EDIFFG=-0.01
GGA=91
ISYM=1
LREAL=.FALSE.
ISTART=0
ICHARG=2
INIWAV=1
ISMEAR=2
SIGMA=0.1
IBRION=2
ISIF=3
NSW=200
POTIM=0.5
NELMIN=4
NELM=200
NELMDL=-5
ALGO=F
LWAVE=.FALSE.
LCHARG=.FALSE.
POSCAR
Cu
1.0
3.61470007900.00000000000.0000000000
0.00000000003.61470007900.0000000000
0.00000000000.00000000003.6147000790
Cu
4
Direct
0.0000000000.0000000000.000000000
0.0000000000.5000000000.500000000
0.5000000000.0000000000.500000000
0.5000000000.5000000000.000000000
KPOINTS
Cucell
0
M
888
000
POTCAR〔略〕
命令:
mpirun–np8vasp>log&
计算结果:
查看CONTCAR,获取晶胞参数a=b=c=3.629误差=0.4%
注:
优化后的构造为CONTCAR,导出保存为***.vasp,通过Vesta翻开输出为.cif格式的文件,可用MS翻开。
4.2.3Cu(100)外表的能量
从MS构建模型,直到获得POSCAR。
INCAR
SYSTEM=Cu100
ENCUT=400
PREC=Medium
EDIFF=5E-6
EDIFFG=-0.01
GGA=91
LREAL=.FALSE.
ISTART=0
ICHARG=2
ISMEAR=2
SIGMA=0.1
IBRION=2
ISIF=2
NSW=200
POTIM=0.5
NELMIN=4
NELM=200
LWAVE=.FALSE.
LCHARG=.FALSE.
POSCAR
CIFfile
1.0
5.11199998860.00000000000.0000000000
0.00000000005.11199998860.0000000000
0.00000000000.000000000015.4221000671
Cu
16
S
Direct
0.0000000000.0000000000.117190003TTT
0.0000000000.0000000000.351579994TTT
0.2500000000.2500000000.000000000FFF
0.2500000000.2500000000.234390005TTT
0.5000000000.0000000000.117190003TTT
0.5000000000.0000000000.351579994TTT
0.7500000000.2500000000.000000000FFF
0.7500000000.2500000000.234390005TTT
0.0000000000.5000000000.117190003TTT
0.0000000000.5000000