VASP经典学习教程有用.docx
《VASP经典学习教程有用.docx》由会员分享,可在线阅读,更多相关《VASP经典学习教程有用.docx(42页珍藏版)》请在冰豆网上搜索。
VASP经典学习教程有用
VASP 学习教程
太原理工大学量子化学课题组
2012/5/25太原
目 录
第一章Linux命令1
1。
1常用命令1
1。
1.2浏览文件ﻩ1
1。
1.3 目录操作ﻩ1
1.1.5系统信息ﻩ1
第二章 SSH软件使用ﻩ2
2。
1软件界面ﻩ2
2。
2SSHtransfer的应用3
2.2。
1文件传输ﻩ3
2。
2.2简单应用3
3.1 INCARﻩ3
3。
2KPOINTSﻩ4
3.3POSCAR4
3.4POTCARﻩ5
第四章实例5
4。
1模型的构建5
4.2VASP计算8
4.2。
1参数测试ﻩ8
4.2。
2晶胞优化(Cu)13
4。
2。
3Cu(100)表面的能量ﻩ2
4.2。
4吸附分子CO、H、CHO的结构优化ﻩ2
4。
2.5CO吸附于Cu100表面H位ﻩ4
4。
2.6H吸附于Cu100表面H位ﻩ5
4。
2.7CHO吸附于Cu100表面B位6
4。
2。
8CO和H共吸附于Cu100表面7
第一章Linux命令
1.1 常用命令
1.1.1浏览目录
cd:
进入某个目录。
如:
cd/home/songluzhi/vasp/CH4
cd。
.上一层目录;cd/根目录;
ls:
显示目录下的文件。
注:
输入目录名时,可只输入前3个字母,按Tab键补全。
1。
1.2浏览文件
cat:
显示文件内容。
如:
cat INCAR
如果文件较大,可用:
cat INCAR| more(可以按上下键查看)
合并文件:
catA B〉C (A和B的内容合并,A在前,B在后)
1.1.3目录操作
mkdir:
建立目录;rmdir:
删除目录。
如:
mkdir T—CH3-Rh111
1.1.4文件操作
rm:
删除文件;vi:
编辑文件;cp:
拷贝文件
mv:
移动文件;pwd:
显示当前路径。
如:
rmINCAR rma*(删除以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.2SSH transfer的应用
2.2.1文件传输
从本地文件中,把所需的计算文件直接拖到服务器中。
一般就是VASP计算的四个文件INCAR,KPOINTS,POSCAR,POTCAR。
2.2.2简单应用
在右侧文件夹中可以直接构建文件夹,删除文件,修改文件。
从SSH要cd到某个文件夹下时,可先从SSH transfer进入,直接复制路径栏,可快速进入.
第三章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
55 1
000
对于分子和原子
atomormolcular
1
Rec
0001
3.3POSCAR
CH4在Co100表面Top位的吸附 !
(名称)
1.0
5.0120000839 0。
0000000000 0。
0000000000
0。
0000000000 5.0120000839 0。
0000000000
0.0000000000 0。
0000000000 15。
3159999847
Co HC
164 1
S
Direct
0。
0000000000。
0000000000。
108070001TT T
0.000000000 0。
000000000 0.333149999T TT
0.250000000 0.250000000 0.000000000FFF
0.250010014 0.250000000 0。
225119993T TT
0.500000000 0.000000000 0。
108060002TT T
0。
500000000 0。
000000000 0。
333149999T TT
0.750000000 0.250000000 0。
000000000FFF
0。
749989986 0.250000000 0。
225119993TTT
0.000000000 0.500000000 0.108070001TT T
0.000000000 0.500000000 0。
333139986TT T
0.250000000 0.750000000 0.000000000 FFF
0。
250010014 0。
750000000 0。
225130007 TTT
0.500000000 0。
5000000000.108070001TTT
0。
500000000 0.500000000 0。
333149999T TT
0。
750000000 0.750000000 0。
000000000F FF
0.749989986 0.750000000 0。
225119993T TT
0.5000799890.501429975 0.451510012TTT
0.292820007 0.5022199750.546630025T T T
0。
601890028 0。
680920005 0.546850026T TT
0.602090001 0.323870003 0.547209978TTT
0.499240011 0.502129972 0。
523060024TT T
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格式
打开,保存类型为*.cif,保存在指定位置。
4。
通过Vesta导出为*。
vasp
直接把Cu.cif拖到vesta程序中,打开Data..。
,保存类型为*.vasp,保存在指定位置.
5。
用写字板打开Cu。
vasp
根据所需要求修改Cu.vasp,这里不需要修改。
在吸附表面时则需要固定,见3.3。
CIF
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.00 0。
00 0.00
0。
00 1.000。
00
0.00 0。
001.00
Cu
1
Direct
0。
50.50.5
3、KPOINTS文件:
Automatic
0
Gamma
111
00 0
4、POTCAR文件:
(略)
(四)计算任务执行方法:
输入:
mpirun—np4vasp> log&
(五)赝势好的判断标准:
计算得到的OUTCAR文件中的“energywithoutentropy"能量值在-0.001~—0.01eV之间。
命令:
grep'energy withoutentropy’ OUTCAR| tail-1
计算结果为:
二、筛选合适的ENCUT大小:
(一)输入文件:
1、用脚本程序optencut.sh代替INCAR文件:
rm WAVECAR
foriin300 350400450500
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〉〉 comment
done
注:
每个任务2核,5个截断能,共要10核。
2、POSCAR文件:
Cucell
1。
0
3。
6147000790 0.0000000000 0.0000000000
0.0000000000 3.6147000790 0.0000000000
0.0000000000 0.00000000003.6147000790
Cu
4
Direct
0。
000000000 0。
0000000000.000000000
0.000000000 0.500000000 0.500000000
0.500000000 0.0000000000。
500000000
0.500000000 0。
500000000 0。
000000000
3、KPOINTS文件:
A
0
M
8 88
0.0 0.00.0
4、POTCAR文件:
(略)
(二)计算任务执行方法:
输入:
dos2unixoptencut.sh
bashoptencut.sh
(三)判别标准:
计算完成后得到comment文件,它列出了在每个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.6147000790 0.0000000000 0。
0000000000
0。
00000000003.6147000790 0.0000000000
0.0000000000 0。
0000000000 3.6147000790
Cu
4
Direct
0.000000000 0。
000000000 0。
000000000
0.000000000 0。
500000000 0.500000000
0。
500000000 0.000000000 0。
500000000
0.500000000 0。
500000000 0.000000000
3、用脚本程序optkpoints.sh代替KPOINTS文件:
rmWAVECAR
fori in6 78910
do
cat〉KPOINTS <〈!
Automaticgeneration
0
Monkhorst—pack
$i $i $i
0。
00。
00。
0
!
echo"k mesh = $i x$i x$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 >>comment
done
4、POTCAR文件:
(略)
(二)计算任务执行方法:
输入:
dos2unix optkpoints.sh
bashoptkpoints.sh
(三)判别标准:
计算完成后得到comment文件,它列出了在k点数目与总能的对应值,只要总能变化在0.001eV左右就非常足够了。
四、优化选择合适的SIGMA值(展宽σ值):
(一)为什么要优化SIGMA值?
若展宽σ太小,则计算难以收敛;若展宽σ太大,则会产生多余的熵(entropy),因此必须选择合适的σ值.(Too largesmearing-parametersmightresult ina wrongtotalenergy,smallsmearing parametersrequire alargek-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—Paxton smearing方法,其中N是表示此方法中的阶数,一般情况下N取1或2,但是In mostcases
and
leadstoverysimilarresults.
4、σ值一般在0.1~0.3eV范围内。
5、ISMEAR取值的一些经验:
(1)一般说来,无论是对何种体系,进行何种性质的计算,采用ISMEAR=0并选择一个合适的SIGMA值,都能得到合理的结果。
(2)在进行静态计算(能量单点计算,norelaxationin metals)或态密度计算且k点数目大于4时,取ISMEAR=-5.
(3)当原胞较大而k点数目较小(小于4个)时,取ISMEAR=0,并选择一个合适的SIGMA值。
(Ifthecellistoolarge(or if you use onlya singleortwo k-points)useISMEAR=0incombinationwith a small SIGMA=0。
05)
(4)对半导体或绝缘体,不论是静态还是结构优化计算,都取ISMEAR=-5.(Mind:
AvoidtouseISMEAR>0 for semiconductorsandinsulators,sinceitmightcause problems。
Forinsulators use ISMEAR=0orISMEAR=-5.)
(5)对金属体系(forrelaxations inmetals),取ISMEAR=1或2,并选择一个合适的SIGMA值.
(三)当采用ISMEAR=0或N时,如何优化选择合适的SIGMA值?
1、用脚本程序optsigma.sh代替INCAR文件:
rm WAVECAR
foriin0。
100.120。
14 0.160。
180。
200.220.24 0.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 〉〉comment
done
2、POSCAR文件:
Cu
1.0
3.6147000790 0.0000000000 0.0000000000
0.0000000000 3.6147000790 0.0000000000
0.0000000000 0.00000000003。
6147000790
Cu
4
Direct
0。
000000000 0。
000000000 0.000000000
0.000000000 0.500000000 0.500000000
0.500000000 0.000000000 0.500000000
0.500000000 0.500000000 0。
000000000
3、KPOINTS文件:
A
0
M
99 9
0.0 0.00.0
4、POTCAR文件:
(略)
(四)计算任务执行方法:
输入:
dos2unixoptsigma。
sh
bashoptsigma.sh
(五)判断标准:
熵(entropy)越小越好,选择entropyT*SEENTRO值中最小的那个所对应的SIGMA。
(SIGMAshould beaslarge as possiblekeeping thedifferencebetween thefree energy andthetotal energy(i。
e。
theterm 'entropyT*S')in theOUTCAR (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.6147000790 0。
00000000000.0000000000
0。
0000000000 3.6147000790 0.0000000000
0.0000000000 0。
0000000000 3.6147000790
Cu
4
Direct
0。
000000000 0。
000000000 0.000000000
0。
000000000 0.500000000 0。
500000000
0.500000000 0.000000000 0。
500000000
0。
500000000 0.500000000 0.000000000
KPOINTS
Cucell
0
M
88 8
000
POTCAR (略)
命令:
mpirun–np8 vasp > log&
计算结果:
查看CONTCAR,获取晶胞参数