量子化学课题组VASP学习教程.docx
《量子化学课题组VASP学习教程.docx》由会员分享,可在线阅读,更多相关《量子化学课题组VASP学习教程.docx(36页珍藏版)》请在冰豆网上搜索。
量子化学课题组VASP学习教程
VASP学习教程
太原理工大学量子化学课题组
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软件使用
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是cutoff么?
PREC=Medium
EDIFF=5E-4
EDIFFG=-0.1负0.1表示用力收敛标准,正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.!
不输出波函数输出是ture么?
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参数测试
一、检验赝势的好坏:
(一)方法:
对单个原子进行计算;
(二)要求:
1、对称性和自旋极化均采用默认值;-如何设置
2、ENCUT要足够大;
3、原胞的大小要足够大,一般设置为15Å足矣,对某些元素还可以取得更小一些。
(三)以计算单个Cu原子为例:
1、INCAR文件:
SYSTEM=Cuatom
ENCUT=450.00eV
NELMDL=5
ISMEAR=0
SIGMA=0.1
2、POSCAR文件:
Atom-什么意思啊,下面有Cu表示名字
10.00-指的是晶格参数啊,a,b,c么?
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>>comment
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
(三)判别标准:
计算完成后得到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.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>>comment
done
4、POTCAR文件:
(略)
(二)计算任务执行方法:
输入:
dos2unixoptkpoints.sh
bashoptkpoints.sh
(三)判别标准:
计算完成后得到comment文件,它列出了在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.3eV范围内。
5、ISMEAR取值的一些经验:
(1)一般说来,无论是对何种体系,进行何种性质的计算,采用ISMEAR=0并选择一个合适的SIGMA值,都能得到合理的结果。
(2)在进行静态计算(能量单点计算,norelaxationinmetals)或态密度计算且k点数目大于4时,取ISMEAR=-5。
(3)当原胞较大而k点数目较小(小于4个)时,取ISMEAR=0,并选择一个合适的SIGMA值。
(Ifthecellistoolarge(orifyouuseonlyasingleortwok-points)useISMEAR=0incombinationwithasmallSIGMA=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>>comment
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