xiaoqiugood的个人博客分享 http://blog.sciencenet.cn/u/xiaoqiugood

博文

VASP各输出文件解读-更新中

已有 24668 次阅读 2013-8-15 03:21 |个人分类:电子结构计算|系统分类:科研笔记

PROCAR file

For static calculations, the file PROCAR contains the spd- and site projected wave function character of each band.

The wave function character is calculated by projecting the wavefunctions onto spherical harmonics that are non zero within spheres of a radius RWIGS around each ion. RWIGS must be specified in the INCAR file in order to obtain the file (see section 6.32).

   Mind: that the spd- and site projected character of each band is not evaluated in the parallel version if NPAR6=1.

  LORBIT = .TRUE. | .FALSE. (VASP.3.2)
LORBIT = 0 | 1 | 2 | 5 | 10 | 11 | 12 (VASP.4.X and later)


Default

LORBIT=0 (.FALSE.)


logicalintegerRWIGS line in INCARfiles written
.FALSE.0line requiredDOSCAR and PROCAR file

1line requiredDOSCAR and extended PROCAR file
.TRUE.2line requiredDOSCAR and PROOUT file

10not readDOSCAR and PROCAR file

11not readDOSCAR and PROCAR file with phase factors

12
not supported

The PROOUT file (LORBIT=2, written in VASP.4.4) contains the projection of the orbitals onto spherical harmonics centered at the position of the ions ($ P_{Nlmn {.bf k}}.equiv .langle Y_{lm}^{N}.vert.phi_{n{.bf k}}.rangle$) and the corresponding augmentation part.

This information can be used to construct e.g. the partial DOS projected onto molecular orbitals or the so-called coop (crystal overlap population function).

If the projector augmented wave method is used, LORBIT can also be set to 10, 11 or 12. This alternative setting selects a quick method for the determination of the spd- and site projected wave function character and does not require the specification of a Wigner-Seitz radius in the INCAR file (the RWIGS line is neglected in this case). The method works only for PAW POTCAR files and not for ultrasoft or norm conserving pseudopotentials.

The parallel version has some restrictions: The site projected DOS is not evaluated in the parallel version in the following cases :


VASP

可以把波函数分解成中心在各个原子的原子轨道

(在

INCAR

中使用

LORBIT =2

LORBIT

=12

,于是我们就能得到近似的分子轨道。

轨道系数保存在

PROCAR

文件中。于是我就有了

一个想法:将

PROCAR

文件转化成

Molekel

能读的文件格式,这样我们就能可视化

VASP

影出的分子轨道了!

   

   VASP可以把波函数分解成中心在各个原子的原子轨道(在INCAR中使用LORBIT =2或LORBIT =12),于是我们就能得到近似的分子轨道。

   轨道系数保存在PROCAR文件中。于是我就有了一个想法:将PROCAR文件转化成Molekel能读的文件格式,这样我们就能可视化VASP投影出的分子轨道了!  

   现在,我终于写好了整个程序,取名为vaspmo。目前适用于周期表中原子序数从1到83的元素(La系元素除外)。可将任何K点的所有能带对应的晶体轨道全部转换出来。


用途:
   读入VASP计算得到的PROCAR和CONTCAR文件,输出Gaussian结果文件。该
   文件能够被常用的量子化学可视化软件(如Molekel、Chemcraft、Gabedit
   和Molden等)读取,进而绘制和观看体系的分子轨道。有些软件还能导出
   cube文件(如Chemcraft和Molden等),从而又能被很多支持cube格式文件
   的可视化软件所识别。

   
   目前本程序适用于元素周期表中从氢到铋的元素(但不包括除了镧之外的镧
   系其他元素),共69种元素。

新版本信息:
   目前的v0.1版本纠正了v0.0版本的一些bug:
       1) 坐标转换错误。
       2) "Ta"和"Bi"元素名称错误。
   新添功能:
       1) 支持Chemcraft、Molden和Gabedit可识别的格式。
       2) 隐藏或缩放指定某些原子的轨道。
       3) 根据指定k点和输出格式自动命名输出文件。
       4) 用户可以自定义输出文件名。

编译方法:
   本程序只包含一个源文件:vaspmo.c,是用标准C语言编写的,因此任何标
   准C编译器或C++编译器都能够编译。例如,在Linux下可使用如下命令编译:
       gcc -o vaspmo -lm vaspmo.c

使用方法:
   1. VASP计算
      1) PROCAR文件
      VASP.3.2以上版本可以将体系波函数投影到以各个原子为中心的球谐函
      数上去,从而得到各个原子轨道的相系数。但在VASP.3.X版本中,输出
      文件的格式只能是PROOUT,而不是PROCAR文件。目前vaspmo程序不能处
      理PROOUT文件,只能识别PROCAR文件。
     
      VASP.4.X以上版本都可以计算输出PROCAR文件,具体方法是需要在INCAR
      输入文件中添加并设置关键词LORBIT和/或RWIGS。
     
      如果你使用VASP.4.6以上版本,一个最简单的方法就是在INCAR中添加:
      LORBIT = 12
     
      如果你设置LORBIT = 2,则还需要设置各个离子类型的RWIGS大小。如果
      注意,在VASP.4.X以上VASP.4.2以下的版本中,只能设置LORBIT = 2,因
      此要计算轨道就必须要设置RWIGS。
     
      更具体的说明请参见VASP使用手册:
      http://cms.mpi.univie.ac.at/vasp/vasp/node127.html
      2) CONTCAR文件
      i. 为了使用方便,必须使用新的CONTCAR文件格式来运行vaspmo程序。如
      果你的CONTCAR文件格式是旧的,只需要手工添加一行元素类型信息即可。
      具体方法见下。
     
      CONTCAR文件的格式因VASP版本而略有不用。在VASP.5.X以上的版本中,
      CONTCAR文件多增加了一行,提供了元素类型信息。
      下面是新版本的CONTCAR文件示例:
      -------------------------------------------------------------
      Title
      1.00000000000000000
      5.1475600000000000    0.0000000000000000    0.0000000000000000
      0.0000000000000000   12.8688950000000000    0.0000000000000000
      0.0000000000000000    0.0000000000000000   30.0000000000000000
      C    H    S    Cu
      6   4   4  40
      Selective dynamics
      Direct
      ......
      ......
      -------------------------------------------------------------
     
      和旧格式相比,仅仅多出了"C    H    S    Cu"一行。所以,如果你
      使用VASP.4.X计算得到的CONTCAR文件,只需手工添加这一行信息即可。
     
      ii. 目前的vaspmo程序要求CONTCAR文件中的坐标格式是分数坐标形式,
       即“Direct”。
   
   2. vaspmo使用方法
      1) 程序运行的当前目录下必须要有CONTCAR和PROCAR文件。
   
      2) 在命令行运行的命令是:
         vaspmo [ -o 输出文件名 ]
                [ -c | --chemcraft ]
                [ -m | --molekel ]
                [ -k 正整数|all ]
                [ -l 原子列表文件名 ]
                [ -h | --help ]
         
         选项说明:
             -o 输出文件名
                     指定输出文件名。默认是VASPMO_K***.g03(当输出Molekel
                     可识别的格式时),或VASPMO_K***.out(当输出其他软件
                     可识别的格式时)。
             -c
             --chemcraft
                     输出Chemcraft、Molden和Gabedit可识别的格式,这也是程序
                     的默认输出格式。
             -m
             --molekel
                     输出Molekel可识别的格式。
             -k 正整数
                     指定输出的哪一个K点的所有能级轨道。
             -k all
                     输出所有K点的所有能级轨道。
             -l 原子列表文件名
                     去掉或缩放某些原子的轨道。这些原子和相应的缩放系数是在
                     一个“原子列表文件”中定义的。
             -h
             --help
                     显示帮助,然后退出程序。
       3) 关于原子列表文件:
          有时候我们需要缩放或隐藏(缩放系数为零)个别原子的轨道。为此,
          我们首先需要建立一个原子列表文件,在这个文件中我们定义原子的序号
          和相应的缩放系数。分行书写,每一行只能包含一次定义,一次定义可以
          是如下三种形式中的一种:          
              原子序号
              原子序号  缩放因子              
              原子序号1  原子序号2  缩放因子

          其中原子序号是一个正整数,是该原子在CONTCAR中出现的顺序数。原子序号1     和原子序号2定义的是一群原子,即范围从原子序号1到和原子序号2。因此,   原子序号1必须小于等于原子序号2。缩放因子可以是任何一个数值,取零则意味     着隐藏轨道,去负值则意味着反相。
         
          以上三种定义中,第一种形式是隐藏一个原子的所有轨道,第二种形式是缩放
          一个原子的所有轨道,第三种形式是缩放一群原子的所有轨道。
         
注意事项:
   本程序vaspmo导出的分子轨道属于相当*定性*的结果,只提供比较粗糙的物理或
       化学图像,不能用于进一步的定量分析或计算。

       

反馈和建议:
       欢迎任何bug报告和改进建议,请发电子邮件至:yangwang2008@gmail.com
       你也可以将你的CONTCAR或PROCAR作为附件发送给我。
       
       特别注意:如果你的求助,在你自己仔细阅读在上述的使用说明后都能得到解决,
       请恕我拒绝回复。


[ Last edited by yjcmwgk on 2010-6-16 at 21:41 ]

FAQ:

Q: 为什么在linux下不能编译?执行 gcc -o vaspmo -lm vaspmo.c 的报错如下:

... In function `main':
vaspmo.c.text+0x1130c): undefined reference to `strcmpi'

A: 编译出错原因是因为你的编译器没有strcmpi函数。解决方法是,在Linux下先执行:
cp vaspmo.c vaspmo.c_0
sed 's/strcmpi/strcmp/g' vaspmo.c_0 > vaspmo.c

然后编译:gcc -o vaspmo -lm vaspmo.c

[ Last edited by neweroica on 2012-4-18 at 20:04



https://blog.sciencenet.cn/blog-567091-716898.html

上一篇:温故知新: Wigner–Seitz radius 及其他
下一篇:径向分布函数与histogram程序分析-永远的Vanessa
收藏 IP: 128.84.126.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-16 02:13

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部