VASP几个计算实例.docx
- 文档编号:25811107
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:26
- 大小:78.26KB
VASP几个计算实例.docx
《VASP几个计算实例.docx》由会员分享,可在线阅读,更多相关《VASP几个计算实例.docx(26页珍藏版)》请在冰豆网上搜索。
VASP几个计算实例
用VASP计算H原子的能量
氢原子的能量为
。
在这一节中,我们用VASP计算H原子的能量。
对于原子计算,我们可以采用如下的INCAR文件
PREC=ACCURATE
NELMDL=5makefivedelaystillchargemixing
ISMEAR=0;SIGMA=0.05usesmearingmethod
采用如下的KPOINTS文件。
由于增加K点的数目只能改进描述原子间的相互作用,而在单原子计算中并不需要。
所以我们只需要一个K点。
MonkhorstPack0MonkhorstPack
111
000
采用如下的POSCAR文件
atom1
15.00000.00000.00000
.0000015.00000.00000
.00000.0000015.00000
1
cart
000
采用标准的H的POTCAR
得到结果如下:
k-point1:
0.00000.00000.0000
bandNo.bandenergiesoccupation
1-6.31451.00000
2-0.05270.00000
30.48290.00000
40.48290.00000
我们可以看到,电子的能级不为
。
Freeenergyoftheion-electronsystem(eV)
---------------------------------------------------
alphaZPSCENC=0.00060791
EwaldenergyTEWEN=-1.36188267
-1/2HartreeDENC=-6.27429270
-V(xc)+E(xc)XCENC=1.90099128
PAWdoublecounting=0.000000000.00000000
entropyT*SEENTRO=-0.02820948
eigenvaluesEBANDS=-6.31447362
atomicenergyEATOM=12.04670449
---------------------------------------------------
freeenergyTOTEN=-0.03055478eV
energywithoutentropy=-0.00234530energy(sigma->0)=-0.01645004
我们可以看到
也不等于
。
在上面的计算中有个问题,就是H原子有spin,而在上面的计算中我们并没有考虑到spin。
所以如果我们改用LSDA近似,在INCAR中用ISPIN=2的tag,则得到如下结果:
k-point1:
0.00000.00000.0000
bandNo.bandenergiesoccupation
1-7.27361.00000
2-0.12290.00000
30.45620.00000
40.45620.00000
50.45620.00000
spincomponent2
k-point1:
0.00000.00000.0000
bandNo.bandenergiesoccupation
1-2.41400.00000
2-0.07010.00000
30.51790.00000
40.51790.00000
50.51790.00000
Freeenergyoftheion-electronsystem(eV)
---------------------------------------------------
alphaZPSCENC=0.00060791
EwaldenergyTEWEN=-1.36188267
-1/2HartreeDENC=-6.68322940
-V(xc)+E(xc)XCENC=2.38615430
PAWdoublecounting=0.000000000.00000000
entropyT*SEENTRO=0.00000000
eigenvaluesEBANDS=-7.27361676
atomicenergyEATOM=12.04670449
---------------------------------------------------
freeenergyTOTEN=-0.88526212eV
energywithoutentropy=-0.88526212energy(sigma->0)=-0.88526212
氢原子的能量约等于
。
可以看到在LDA中如果限制自旋,使能级大概提高了
。
但是如何理解所得到的能级,由于用到了赝势,本人并不很清楚如何解释能级意义。
用VASP计算Pd金属的晶格常数
Pd金属的实验上的晶格常数为
。
在这里,我们用VASP计算它的晶格常数。
首先将Pd所对应的POTCAR文件拷贝到目录下。
然后准备好INCAR和KPOINTS文件。
POSCAR文件我们将通过一个tcsh的script来产生。
KPOINTS文件可以如下:
MonkhorstPack0MonkhorstPack
111111
000
INCAR文件可以如下:
SYSTEM=Pdbulkcalculation
Startparameterforthisrun:
PREC=Accurate
ISTART=0job:
0-new1-cont2-samecut
ICHARG=2charge:
1-file2-atom10-const
ISPIN=1spinpolarizedcalculation?
ElectronicRelaxation1
EDIFF=0.1E-03stopping-criterionforELM
LREAL=.FALSE.real-spaceprojection
Ionicrelaxation
EDIFFG=0.1E-02stopping-criterionforIOM
NSW=0numberofstepsforIOM
IBRION=2ionicrelax:
0-MD1-quasi-New2-CG
ISIF=2stressandrelaxation
POTIM=0.10time-stepforionic-motion
TEIN=0.0initialtemperature
TEBEG=0.0;TEEND=0.0temperatureduringrun
DOSrelatedvalues:
ISMEAR=0;SIGMA=0.05gaussiansmear
Electronicrelaxation2(details)
Writeflags
LWAVE=FwriteWAVECAR
LCHARG=FwriteCHGCAR
产生POSCAR和计算晶格常数的工作可以用以下的PBSscript来完成。
#!
/bin/tcsh#PBS-S/bin/sh#PBS-lnodes=4:
athlon:
ppn=2#PBS-l
cput=384:
00:
00#PBS-mae#PBS-ooutput#PBS-eerror.log
#setparametersetEXEC='vasp'setSRC='/usr/common/executable'
#changeworkingdirectorycd$PBS_O_WORKDIR
#copyfreshexecutablefromdepositorycp-f$SRC/$EXEC.
#executempiprogramforeacha(3.33.43.53.63.7)echo"a=$a"
cat>POSCAR<
cubicdiamond
$a
0.50.50.0
0.00.50.5
0.50.00.5
2
direct
0.00.00.0
0.250.250.25
!
mpiexec-nostdin./$EXEC
setE=`tail-2OSZICAR`echo$a$E>>SUMMARY
end#removeexecutablerm-f$EXEC
如果不用不需要用PBSscript,则更加简单,如下即可。
将其命名为lattice。
#!
/bin/tcshforeacha(3.53.63.73.83.94.04.14.2)echo"a=$a"
cat>POSCAR<
fcclattice
$a
0.50.50.0
0.00.50.5
0.50.00.5
1
cartesian
0.00.00.0
!
./vasp
setE=`tail-1OSZICAR`echo$a$E>>SUMMARY
end
用chmod+xlattice,将其改为可执行文件。
然后在命令行里键入./lattice即可。
以下是用USPP-LDA运行完后的SUMMARY文件。
每个计算用时13秒。
(在USPP中Pd的截断能量是198.955)
3.51F=-.52384500E+01E0=-.52371846E+01dE=-.253072E-023.61
F=-.58695670E+01E0=-.58683951E+01dE=-.234381E-023.71F=
-.62322232E+01E0=-.62311104E+01dE=-.222547E-023.81F=
-.63932936E+01E0=-.63921078E+01dE=-.237151E-023.91F=
-.64072233E+01E0=-.64058584E+01dE=-.272979E-024.01F=
-.63162916E+01E0=-.63147061E+01dE=-.317085E-024.11F=
-.61523489E+01E0=-.61504748E+01dE=-.374817E-024.21F=
-.59418370E+01E0=-.59396594E+01dE=-.435530E-02
用抛物线拟和得到的晶格常数为
固体中每个原子的能量是
。
以下是采用PAW-LDA势运行完以后的SUMMARY文件。
每个计算用时20秒。
所以相对来说PAW势所需要的时间多一些,这是因为PAW势的energycutoff相对比较高(在PAW中Pd的截断能量是250.832)。
3.51F=-.52393107E+01E0=-.52377274E+01dE=-.316665E-023.61
F=-.58814938E+01E0=-.58798653E+01dE=-.325695E-023.71F=
-.62451262E+01E0=-.62437004E+01dE=-.285149E-023.81F=
-.64049388E+01E0=-.64036223E+01dE=-.263317E-023.91F=
-.64158100E+01E0=-.64143798E+01dE=-.286044E-024.01F=
-.63210060E+01E0=-.63194198E+01dE=-.317251E-024.11F=
-.61536329E+01E0=-.61518107E+01dE=-.364433E-024.21F=
-.59385695E+01E0=-.59364165E+01dE=-.430601E-02
用抛物线拟和得到的晶格常数为
固体中每个原子的能量
可见,PAW-LDA和USPP-LDA给出的晶格常数都和实验吻合的非常好,两者之间的差别也很小。
在以下所有的计算中,如果没有特殊声明,我们都默认采用PAW-LDA的势。
结合能(cohesiveenergy)的定义如下:
(104)
单个Pd原子的能量为-1.426eV,所以我们得到Pd每个原子(相对于spinnon-polorize的原子)的结合能为4.998eV。
如果考虑Pd原子的spin-polarize的修正1.46eV,则结合能为6.458eV。
用VASP计算表面能
做表面计算时,第一步我们需要测试K点的收敛性。
通常,在垂直表面方向用1个K点就可以了,在平行表面方向,可以用和体材料类似的K点密度。
其次,我们要测试真空厚度(vacuumthickness)的收敛性。
我们构造完一个slab后,将真空厚度逐渐从
增加到
,体系的总能量改变不超过10meV的时候,可以初步认为真空厚度达到标准。
以下是一个3层的(fcc)Pdslab的能量随着真空厚度的变化。
其INCAR文件如下:
SYSTEM=undeformedfccPd(111)surfacecalculation
Startparameterforthisrun:
PREC=Accurate
ISTART=0job:
0-new1-cont2-samecut
ICHARG=2charge:
1-file2-atom10-const
ISPIN=1spinpolarizedcalculation?
ElectronicRelaxation1
NELM=90;NELMIN=8;#ofELMsteps
EDIFF=0.1E-03stopping-criterionforELM
LREAL=.FALSE.real-spaceprojection
NBANDS=40
Ionicrelaxation
EDIFFG=0.1E-2stopping-criterionforIOM
NSW=0numberofstepsforIOM
IBRION=2ionicrelax:
0-MD1-quasi-New2-CG
ISIF=2stressandrelaxation
POTIM=0.10time-stepforionic-motion
TEIN=0.0initialtemperature
TEBEG=0.0;TEEND=0.0temperatureduringrun
DOSrelatedvalues:
ISMEAR=1;SIGMA=0.20broadeningineV-4-tet-1-fermi0-gaus
Electronicrelaxation2(details)
Writeflags
LWAVE=FwriteWAVECAR
LCHARG=FwriteCHGCAR
LVTOT=.TRUE.
其中因为Pd是金属,ISMEAR设置为methodofMethfessel-Paxton。
我们在最后的计算结果中必须保证entropyT*S这一项在OUTCAR中可以忽略不计(
)。
POSCAR文件如下:
PdsurfaceCalculation
3.875000000000000
0.70710678000000000.00000000000000000.0000000000000000
-0.35355339000000000.61237240000000000.0000000000000000
0.00000000000000000.00000000000000005.1961520000000000
4
SelectiveDynamicsDirect
0.00000000000.0000000000.0000000000FFF
0.33333333330.6666666670.1111111111FFF
0.66666666670.3333333330.2222222222FFF
0.00000000000.0000000000.3333333333FFF
如果对Direct的指定方法不熟的话,也可以用如下的POSCAR,和上面的完全等价。
PdsurfaceCalculation
1.0000
2.7400387770.0000000000.000000
-1.3700193892.3729431880.000000
0.0000000000.00000000020.135089
4
SelectiveDynamicsCartesian
0.00000000000.0000000000.0000000000FFF
0.00000000001.5819620352.2372321073FFF
1.37001938410.7909810174.4744642247FFF
0.00000000000.0000000006.7116963320FFF
KPOINTS文件如下:
fccPdKpoints0MonkhorstPack11111000
下表列出了采用上面的参数设置,当真空层厚度从
增大到
时总能及功函数的变化:
Table4.1:
总能及功函数*随真空厚度的变化
Kpointssampling:
Kpointssampling:
真空厚度(
总能
功函数(eV)
总能
功函数(eV)
4
-24.33686665
5.6100
6
-24.21333801
5.6286
8
-24.21287283
5.7525
10
-24.2141146
5.7249
12
-24.2127766
5.7717
14
-24.2134478
5.8566
16
-24.21455433
5.8556
18
-24.21265095
5.8700
30
-24.21363636
5.9055
50
-24.21344003
5.6518
*Pd(111)面功函数实验值为5.6。
但是由于我们只用了4层原子,并且没有弛豫表面原子,所以并不能和实验直接对照。
我们可以看到,真空厚度大约为
时,体系的总能量就已经收敛。
而如果要保证功函数的收敛,则真空厚度要加大到
左右。
首先我们要弛豫表面原子。
弛豫的时候可以在INCAR中设置以下的参数。
POTIM=0.5NSW=25IBRION=2EDIFFG=-0.03MAXMIX=40
另外,为了得到正确的结果,我们还需测试表面计算,特别是表面能是否收敛。
我们必须保证实际计算中用到的slab模型足够厚,slab内部原子具有体材料的性质。
如何判断slab内部原子具有体材料的性质呢?
一个重要的标准就是当slab的层数N增加时,表面能的变化很小。
表面能的定义为
(105)
A指的是每个表面上的原子数,2是因为我们有两个表面.表面能表示原子形成表面是所需要的能量,所以表面能越小的表面越稳定。
在slab计算中,一个很常用的用来计算表面能的公式是BoettgerEquation(PRB49:
23)
(106)
这里,
指的是N层的slab的总能量。
前面一个2指的是两个表面。
后面两个2指的是stackingperiod。
在逐渐增加slab层数的时候,还要注意同时保持超晶胞大小的一致。
正如VASP手册上说的
Itisalmostimpossibletocomparetwocalculationswhichdifferinthenumberofk-pointsandinthesizeofthesupercell.
我们从3层开始一层层增加Pd的层数,以研究需要几层Pd原子才能达到收敛。
在计算过程中,我们保持超晶胞大小的一致。
Table4.2:
表面能收敛测试*
Kpointssampling:
Kpointssampling:
N
3
-17.763625
4
-24.233309
-6.469684
1.6454
5
-30.674313
-6.441004
1.5307
6
-37.100998
-6.426685
1.4591
51.9037
7
-43.560897
-6.459899
1.6584
51.8983
8
-50.000495
-6.439598
1.5163
51.8987
9
*在上述计算中,超晶胞大小不变。
表面原子并未弛豫。
包含弛豫后,表面能将降低。
采用VASP如何计算晶体的弹性常数
弹性常数的概念 [#!
RavindranP:
Denftc:
1998!
#,#!
Grimvall:
tp:
1999!
#]
弹性常数描述了晶体对外加应变
的响应的刚度。
在应变很小的情况下,体系的内能与应变的大小存在二次线性关系(胡克定律),弹性常数
就是描述这种二次线性关系,即二次线性项的系数。
采用Voigt标记:
和
。
应变张量
定义为:
(107)
应力张量
定义为:
(108)
二阶绝热弹性常数为:
(109)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VASP 几个 计算 实例