VASP使用总结.docx_第1页
VASP使用总结.docx_第2页
VASP使用总结.docx_第3页
VASP使用总结.docx_第4页
VASP使用总结.docx_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VASP计算的理论及实践总结一、赝势的选取二、收敛测试1、VASP测试截断能和K 点2、MS测试三、结构弛豫四、VASP的使用流程(计算性质)1、VASP的四个输入文件的设置2、输出文件的查看及指令3、计算单电能(1) 测试截断能(2) 测试K点4、进行结构优化5、计算弹性常数 6、一些常用指令一、赝势的选取VASP赝势库中分为:PP和PAW两种势,PP又分为SP(标准)和USPP(超软)。交换关联函数分为:LDA(局域密度近似)和GGA(广义梯度近似)。GGA又分为PW91和PBE。在VASP中,其中pot ,pot-gga是属于超软势(使用较少)。Paw, paw-pbe ,和paw-gga是属于PAW。采用较多的是PAW-pbe 和PAW-gga。此外vasp 中的赝势分为几种,包扩标准赝势(没有下标的)、还有硬(harder)赝势(_h)、软(softer)赝势(_s), 所谓的硬(难以赝化),就是指该元素原子的截断动能比较大,假想的势能与实际比较接近,计算得到的结果准确,但比较耗时,难以收敛。软(容易赝化),表示该元素原子的截断动能比较小,赝势模型比较粗糙,但相对简单,可以使计算很快收敛(比如VASP开发的超软赝势)。即硬的赝势精度高,但计算耗时。软的精度低,容易收敛,但节省计算时间。另一种情况:如Gd_3,这是把f电子放入核内处理,对于Gd来说,f电子恰好半满。所以把f电子作为价电子处理的赝势还是蛮好的(类似还有Lu,全满)。(相对其他的4f元素来说,至于把f电子作为芯内处理,是以前对4f元素的通用做法。计算结果挺好)常用的做法是:用两种赝势测试一下对自己所关心的问题的影响情况。在影响不大的情况下,选用不含4f电子的赝势(即后缀是3),一来减少计算量,二来避免DFT对4f电子的处理。【1.赝势的选择:vasp的赝势文件放在目录 /vasp/potentials 下,可以看到该目录又包含五个子目录 pot pot_GGA potpaw potpaw_GGA potpaw_PBE ,其中每一个子目录对应一种赝势形式。赝势按产生方法可以分为PP (standard pesudopotential,其中大部分是USPP, ultrasoft pesudopotential) 和 PAW (projector augmented wave method)。按交换关联函数的不同又可以有 LDA (local density approximation) 和 GGA (generalized gradient approximation),其中GGA之下又可以再分为PW91和PBE。 以上各个目录对应起来分别是 pot = PP, LDA ; pot_GGA = PP, GGA ; potpaw = PAW, LDA ; potpaw_GGA = PAW, GGA, PW91 ; potpaw_PBE = PAW , GGA, PBE。选择某个目录进去,我们还会发现对应每种元素往往还会有多种赝势存在。这是因为根据对截断能量的选取不同还可以分为 Ga,Ga_s,Ga_h,或者根据半芯态的不同还可以分为Ga,Ga_sv,Ga_pv的不同。 一般推荐选取PAW_PBE。其中各个元素具体推荐哪种形式的赝势可以参考vasp workshop中有关赝势部分的ppt。当然自己能测试之后在选择是最好不过的了,以后再聊。2.POTCAR的建立:选好哪一种赝势之后,进入对应的目录,你会看到里边有这么几个文件,POTCAR.Z PSCTR.Z V_RHFIN.Z WS_FTP.LOG 。我们需要的是第一个。把它解压,如 zcat POTCAR.Z Ga 。对As元素我们也可以类似得到一个As文件。用 cp 命令或者 mv 命令把这两个文件都移到我们的工作目录里。然后再用 cat 命令把这两个文件合并在一起,如 cat Ga As POTCAR ,这样就得到了我们需要的POTCAR。同理,有多个元素的POTCAR也可以这样产生。这里需要注意的是,记住元素的排列顺序,以后在POSCAR里各个元素的排列就是按着这里来的。/html/201108/3452012.html】二、收敛测试1、VASP测试计算的参数,比如k-points或cutoff,肯定是取的越多越准确,但相对的计算量就会增加,为了既保证计算的精确度,又尽可能的减少计算量,所以进行收敛测试,比较不同的参数,所得的两者的差值,差值符合误差的范围,就认为已经收敛。 VASP中收敛测试主要是测试截断能和K点,(注意:按照经验,先优化K点,且根据manu,K Ce回车, ls 就会发现已将所需的势解压出来了,第二步:就是将解压出来的各元素的势都添加到POTCAR中,步骤如下:cat空Ce空Co空B空Si空POTCAR回车(注意这里边各元素的添加顺序一定要与POSCAR中的一致,如图所示),ls发现已经出现了POTCAR这个文件夹。(3)KPOINTSKPOINTS是设置最简单的,只需要在原来的文件中修改K点网格数就可以了,这个根据计算的实际情况而定。(一般可以依据MS中的调整来设置不同的K点)如下为该文件:(4)INCARINCAR是一个非常重要的输入文件,也是最难设置的。如图所示,第一行不System不重要,只是一个名称。ISTART =0是指开始新的计算;ICHARG =2是指从原子的电荷密度重叠构造初始电荷密度ISMEAR =0是指采用高斯方法;SGIMA=0.1是指展宽为0.1eVECUT =380 是指平面波的截断能为380IBRION =6; (等于6时是计算弹性性质;等于2时是在优化);ISIF=3是有化参数(大于等于3时是计算弹性性质);NSW=15是计算的步数EDIFF和 EDIFFG是电子和离子收敛精度PREC= Accurate是计算精度(对应MS中coarse、medium、fine等)因次,INCAR中的参数需要根据实际情况来设置,在这里也不便多说。2、输出文件的查看和指令输出文件有CONTCAR、OUTCAR、comment等。查看输出文件less(不在界面显示结果,看完了输入:wq或者:q回车就退出了)用cat查看时(会将结果显示在界面)CONTCAR文件主要是优化完的结果文件(就是将CONTCAR文件改为POSCAR文件进行下一步计算)Comment文件主要是查看一次性测试完截断能的结果文件。OUTCAR文件包含VASP计算的绝大部分结果文件。查看所计算体系的体积时,使用命令:grep 空”volume” 空OUTCAR回车查看所计算体系的总能时,使用命令:grep 空“TOTEN” 空OUTCAR空|tail空-n空1回车,如图所示若是是用脚本测试截断能,则在comment中查看结果,即:cat空comment回车,如下图所示查看弹性常数时: 第一种:可以用脚本来提取(即在计算的文件夹下放入提取弹性常数的脚本get-elastics.sh ,待计算完毕的时候,输入sh空get-elastics.sh ,在界面上就出现结果了。第二种:第一步:grep空ELA空OUTCAR回车 第二步:cat空-n空OUTCAR空|grep空“TOTAL ELASTIC MODULI”(将界面上出现的结果文件粘贴到这儿)回车(就会显示一些有代码的结果文件),如:473711(矩阵行列起始)及文件名 第三步:sed空-n空“473711,473731”(弹性常数所处的行数)空 (就会显示出弹性常数)回车3、计算单点能计算单点能通常是用来测试ENCUT 和K点的(1)测试截断能第一种方法:POSCAR POTCAR 都比较简单,就是按照前面所说的方法步骤弄就可以了(注意POTCAR中添加势的时候要与POSCAR中的元素顺序一致)。最重要的是INCAR和 KPOINTS中参数的设置:SYSTEM = tetr Nd_SiENCUT = 300ISTART = 0; ICHARG = 2ISMEAR = 0; SIGMA = 0.1#IBRION = 2; ISIF=3 ; NSW=15EDIFF = 0.1E-04EDIFFG = -1E-3PREC = Accurate以上是INCAR中的参数设置,对于计算单点能时,只需要将ENCUT设置一下,#IBRION = 2; ISIF=3 ; NSW=15(这一行标注了意思就是取默认值),对于KPOINTS则只需要设置K点网格就可以了。设置好之后,先按退出键ESC 输入:wq回车,就是保存并退出运行指令:/opt/mpi/openmpi/1.6.5/bin/mpirun空 n空10空vasp空vasp.out空&或者也可以采用脚本进行后台运行,即在计算文件夹中放入vasp.pbs脚本,然后直接输入qsub 空vasp.pbs回车就可以了计算完毕查看结果的时候,使用命令:grep 空“TOTEN” 空OUTCAR空|tail空-n空1回车,此时出来的就是最后一个的能量值,若想看倒数5个的能量值,可以输入:grep 空“TOTEN” 空OUTCAR空|tail空-n空5回车,就可以看到了。如果想看开始几行 的只需要将命令改为:grep 空“TOTEN” 空OUTCAR空|head空-n空5回车,即可。第二种方法:若采用 脚本来一次型测试的话,POTCAR 和POSCAR不变,KPOINTS选好一个K点,然后使用脚本run-cut来进行优化,以下为该脚本内容。测试之前要进行修改,vim空run-cut回车,输入i ,按上下左右键进行修改设置。#!/bin/bashrm WAVECARfor i in 200 250 300 350 380 400 420 440(此处需要设置截断能) docat INCARvasp.out &就是在后台运行)E=$(grep TOTEN OUTCAR | tail -1 |awk printf %12.6fn, $5)echo $i $E commentdone设置好之后,先按退出键ESC 输入:wq回车,就是保存并退出将KPOINTS也设置好之后然后输入sh空run-cut回车就开始运行了注意用脚本来测试截断能的时候,不再需要INCAR文件,文件夹中只需要POTCAR 、POSCAR 、KPOINTS、 run-cut就可以了,run-cut中已经包含了INCAR,计算完后,结果文件中会出现一个INCAR文件。然后输入less空comment就可以查看计算结果了。通常是用计算单点能来测试截断能和K点,主要是先选取一个合适的截断能(可以选取POTCAR中的截断能),然后设置不同的K点来计算单点能(free energy toten),将所得的能量整理出来画成一条曲线.同样的道理测试截断能,选择合适的k点,改变不同的截断能来计算。(2)测试K点测试k点就比较容易了,POTCAR 和POSCAR 不变,将INCAR中参数进行修改,如下所示,将高亮部分进行修改,SYSTEM = tetr Nd_SiENCUT = 300ISTART = 0; ICHARG = 2ISMEAR = 0; SIGMA = 0.1#IBRION = 2; ISIF=3 ; NSW=15(要用#号标注,意思是采用默认值)EDIFF = 0.1E-04EDIFFG = -1E-3PREC = Accurate然后就设置不同的k点网格,设置好之后,先按退出键ESC 输入:wq回车,就是保存并退出然后进行计算就OK了,运行指令:/opt/mpi/openmpi/1.6.5/bin/mpirun空 n空10空vasp空vasp.out空&或者也可以采用脚本进行后台运行,即在计算文件夹中放入vasp.pbs脚本,然后直接输入qsub 空vasp.pbs回车就可以了4、进行结构优化待把e-cut和K点测试好之后,就可以进行结构优化了。POTCAR POSCAR的设置不用变,KPOINTS中K点改为测试好的那个。重要的是INCAR中的参数设置,如下所示,只需要将这一行的标注#去掉,并设为IBRION = 2; ISIF=3 ,其他的取默认值即可。SYSTEM = tetr Nd_SiENCUT = 300(改为测试出来的)ISTART = 0; ICHARG = 2ISMEAR = 0; SIGMA = 0.1IBRION = 2; ISIF=3 ; NSW=15(将这一行的标注#去掉,并设为IBRION = 2; ISIF=3 ,)EDIFF = 0.1E-04EDIFFG = -1E-3设置好之后,先按退出键ESC 输入:wq回车,就是保存并退出然后就可以运行了,运行指令:/opt/mpi/openmpi/1.6.5/bin/mpirun空 n空10空vasp空vasp.out空&或者也可以采用脚本进行后台运行,即在计算文件夹中放入vasp.pbs脚本,然后直接输入qsub 空vasp.pbs回车就可以了5、计算弹性常数将进行优化后的结果进行分析,即将优化出的晶格常数跟实验值进行比较,若误差小于2%,(如果能更小最好),则优化结果合理,即所选参数恰当。计算弹性常数步骤:第一步:将优化后得到的结果文件CONTCAR改为POSCAR作为下一步计算所需的POSCAR, KPOINTS就选择测试出来的参数,POTCAR不变。重要的是INCAR,如下为INCAR的内容,其他的保持不变。general: System = tetr Nd3Co29Si4B10 ISTART = 0; ICHARG = 2 ISMEAR = 0; SIGMA = 0.1 ENCUT = 380 IBRION = 6; ISIF = 3; NSW = 15(算弹性常数时,IBRION = 6; ISIF = 3) EDIFF = 0.1E-04 EDIFFG = -1E-3 PREC = Accurate设置好之后,先按退出键ESC 输入:wq回车,就是保存并退出。若是不保存只是退出为”:q”,强制退出“ :q! ”.此时就可以进行运算了,运行指令:/opt/mpi/openmpi/1.6.5/bin/mpirun空 n空10空vasp空vasp.out空&或者也可以采用脚本进行后台运行,即在计算文件夹中放入vasp.pbs脚本,然后直接输入qsub 空vasp.pbs回车就可以了待计算结果完毕后,查看结果指令第一种方法:可以用脚本来提取(即在计算的文件夹下放入提取弹性常数的脚本get-elastics.sh ,待计算完毕的时候,输入sh空get-elastics.sh ,在界面上就出现结果了。第二种方法:第一步:grep空ELA空OUTCAR回车第二步:cat空-n空OUTCAR空|grep空“TOTAL ELAST

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论