2016年6月5日星期日

VASP 计算功函数

VASPINCAR文件中,指定LVTOT=.TRUE. ,并且在计算时超晶胞大小选取有足够的真空区域,以保证势能函数收敛到真空能级。指定LVTOT=.TRUE.后,VASP的运行结果会多出一个叫LOCPOT的文件,里面包含的信息是计算中的electrostatic potential在真空区域的electrostatic potential即为真空能级。一个典型的LOCPOT文件有如下的格式
  (8,0) Carbon Nanotube
  1.
  40.000000 0.000000 0.000000
  0.000000 40.000000 0.000000
  0.000000 0.000000 4.320000
  16
  Direct
  0.414696 0.375000 0.000000
  0.403069 0.403069 0.833333
  0.403069 0.403069 0.500000
  0.375000 0.414696 0.333333
  0.375000 0.414696 0.000000
  0.346931 0.403069 0.833333
  ……..
(省略N行)(省略更多行)最前面的几行是header部分,主要包括了晶胞大小,原子坐标等信息。注意,计算中的晶胞大小要远超过体系的实际大小,以保证足够的真空区域。从420 420 48这一行开始,说明沿着晶胞的x,y,z方向,分别等分成420,420,48个格点,每个格点上记录该点的electrostatic potential。我们实际上需要的是真空区域的值。为此,我们可以有如下的matlab script来完成类似工作读入header部分
  for k=1:z
方向格点数

  for j=1:y方向格点数
  for i=1:x方向格点数
  v(i,j,k)=fscanf(fid,'%g',1);
  end
  end
  end
然后,根据你的真空区域在哪里,你可以对v这个矩阵的一部分做一个平均操作,得到真空能级。像上图的势能图,就可以沿着纳米管的轴,在每个点上对于纳米管 的横截面上的electrostatic potential做平均,即可得到如上的势能图。真空能级减去费米能级即为该体系的功函数。

  420 420 48
  0.18314769822E+00 0.18314676614E+00 0.18315439435E+00 0.18315348730E+00 0.18316167121E+00
  0.18316060822E+00 0.18316911573E+00 0.18316765858E+00 0.18317566050E+00 0.18317363579E+00
  0.18318169699E+00 0.18317919383E+00 0.18318714885E+00 0.18318423496E+00 0.18319188157E+00
  0.18318824402E+00 0.18319610760E+00 0.18319209212E+00 0.18319995835E+00 0.18319590197E+00
  ……..
 有用的处理LOCPOT的程序下载:https://github.com/WMD-group/workfunction

没有评论:

发表评论