跳至主要内容

VASP+NEB

第一步:
    初末态结构优化建立两个文件夹 ini, fin,在每个文件夹中放vasp计算必备的四个文件(INCAR,POSCAR,KPOINTS,POTCAR),其中的两个POSCAR对应未优化的初末态。确保两个文件夹里面除POSCAR外,其他文件完全一样。对于两个POSCAR,注意每一行的原子一一对应。若有固定位置的原子(比方做表面计算,要固定底部1-2层原子)。
第二步:
  用dist.pl检查两个优化后结构(两个CONTCAR)的相似程度(每个对应原子的初末态距离的平方和,再开根号)。 dist.pl ini/CONTCAR fin/CONTCAR
第三步:
     插点的数目取决于前面dist.pl的返回值,一般插点数目可取(dist.pl返回值/0.8)。 具体插点的命令: nebmake.pl ini/CONTCAR fin/CONTCAR N 最后的N表示插点数目。插入点的算法为线性插值,详情请进前面给的vtst脚本链接。我这里为简单插一个点,执行完命令后出现文件夹00--07。 可用命令nebavoid.pl 1,确保中间插入的点每一个原子间距都大于1A。该命令的参数1表示最小允许间距,可取小数。
System = NEB
PREC = Accurate
#ISYM =0
ENCUT = 650
EDIFF  = 1e-4
EDIFFG = -0.001
KSPACING= 0.5
ISIF   = 2
NSW    = 500
ISMEAR = 0;
SIGMA = 0.05
LCHARG = FALSE
LWAVE  = FALSE
ISTART = 0
IVDW=10
#NPAR = 3
#NEB
IBRION = 3
POTIM = 0
IOPT =   1
ICHAIN = 0
LCLIMB = .TRUE.
SPRING =-5

IMAGES =6
第四步:
    后处理:nebef.pl, nebbarrier.pl 生成neb.dat。
    计算完成使用命令nebresult.pl.完成了nebbarrier.pl, nebspline.pl, nebef.pl, nebmovie.pl, nebjmovie.pl, nebconverge.pl还有对各文件夹中的OUTCAR打包压缩。生成了很多文件。其中mep.eps是以dist.pl距离为横坐标,能量为纵坐标画出的能势垒图.计算过渡态,最好是把vtstool的工具编译到vasp中去,好处是仍然可以只用vasp中的NEB,也可以用Cl-NEB,更重要的原因是可以用vtstool中的很多脚本工具来跟踪过渡态计算过程。
计算过渡态先要摆正心态,不急于下手。步骤如下:
(1)做模型,初态IS和终态FS,分别结构优化到基态;
(2)线形插入images:  nebmake.pl  POSCAR.IS POSCAR.FS  N
N为image个数。
(3)nebmovie.pl,生成movie.xyz。用Xcrysden --xyz movie.xyz 反复观看动画,仔细检查过程的合理性。这里要提醒,POSCAR.IS 和POSCAR.FS中原子坐标列表的顺序必须对应。
(4)写INCAR,选IOPT。注意,最好忘记vasp自带的NEB,而全部改用包含vtstool的vasp. IBRION=3,POTIM=0关闭vasp自带的NEB功能。
(5)过渡态计算第一个离子步最耗时,也最容易出问题,也是模型设计合理性检验的首要环节。所以可以选小一些的ENCUT,可以不用考虑自旋(ISPIN=1),也不用考虑DFT+U。而且用最快最粗糙的算法(IOPT=3,其他默认)。
(6)带vtstool的vasp-ClNEB(NEB)过渡态计算ICHAIN=0作为入口,这个也是默认的。LCLIMB=TRUE也是默认的。如果不要climb image,可以设置LCLIMB = False.
(7)收敛判据EDIFFG<0。过渡态计算要以力为收敛判据,而不是能量。一般EDIFFG=-0.05就可以接受,-0.02或者-0.01更好。但是作为开始的过渡态计算,可以设置很宽的收敛条件,如EDIFFG=-1.
(8)初步过渡态收敛后,修改INCAR中的优化器(IOPT),并修改相应参数(参考vtstool官方论坛),EDIFFG改小(如-0.05),然后运行vfin.pl,这个脚本自动帮你准备在原来的基础上继续运行新的过渡态计算(完成cp CONTCAR POSCAR, 保留电荷密度和波函数的操作)。<copyright@ muchong>

评论

此博客中的热门博文

Partial Charge

某个能量范围、某个K点或者某个 特定的态所对应的电荷密度。在文献中最常见的是价带顶部,导带底部,表面态或者局域态所对应的Partial Charge。通过分析这些态所对应的Partial Charge,可以得到体系的一些性质,比如局域态具体的是局域 在哪个原子上等。我将通过具体的例子说明如何用VASP进行Partial Charge Analysis。 进行Partial Charge Analysis的第一步是进行自洽的计算,得到体系的电子结构。这一步的计算采用通常的 INCAR和KPOINTS文件。在自洽计算结束后,我们需要保存WAVECAR文件。(通过在INCAR文件中设置 LWAVE=TRUE实现. 第二步是画出能带结构,以决定你需要画哪条能带的那个K点的态所对应的Partial Charge。关于具体如何用VASP 画能带,请参见用VASP4.6计算晶体硅能带实例一文。我们得到硅纳米线的能带结构如下: 画能带时有些小技巧。你可以用一些支持列模块的编辑器,如UltraEdit,将OUTCAR里的各个K点所对应的本征值粘 贴到Origin中。这一步完成后,在Origin中做一个矩阵转置,然后将K点坐标贴到第一列,并将其设为X坐标。如此画 出来的基本上就是能带图了。在Origin中可以通过设置纵轴范围来更加清楚的区分费米能级附近的各条能带。 决定画哪条能带,或者那些感兴趣的K点之后,有如下几种方法计算不同的Partial Charge。如果你希望计算价带顶 端的Partial Charge,则需要首先通过能带结构图确定价带的能带标号。需要注意,进行Partial Charge分析必须要 保留有自洽计算的WAVECAR才可以。 第一种Partial Charge分析的INCAR ISTART = 1 job : 0-new 1-cont 2-samecut ICHARG = 1 charge: 1-file 2-atom 10-const LPARD=.TRUE. IBAND= 20 21 22 23 KPUSE= 1 2 3 4 LSEPB=.TRUE. LSEPK=.TRUE. 这样的INCAR给出的是指定能带,指定K点所对应的Partial Charge。分析导带、价带等的Partial Charge特性, 通常采用的都是这种模式。 第二种Partial

Bader

1: LAECHG =.TRUE. LCHARG =.TRUE. 生成AECCAR0   AECCAR1   AECCAR2 2: chgsum.pl  AECCAR0  AECCAR2生成CHARGCAR_sum 文件 3: bader CHGCAR -ref CHGCAR_sum (或者:bader  -b weight CHGCAR -ref CHGCAR_sum ) 生成 ACF.dat  AVF.dat   BCF.dat ####计算电荷布局分析时,需要比较密的FFT 网格,可以通过NG(X,Y,Z) F来调整,增大这些量,知道总的电荷数目正确。 http://theory.cm.utexas.edu/henkelman/code/bader/