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

博文

不用wannier90接口直接绘费米面的VASP后处理脚本程序

已有 14565 次阅读 2018-1-5 23:50 |系统分类:科研笔记| VASP, 费米面, 第一性原理

如果想用VASP绘费米面(Fermisurface),一般都需要用wannier90软件wannier化后再计算费米面。因此需要重新编译wannier90版的VASP,而且有时wannier90插值的能带并不正确,这将带来很大的不便。如果我们能将布里渊区所有的k点都计算出来,并将本征值按照一定顺序和格式生成bxsf文件(http://www.xcrysden.org/doc/XSF.html),也可以绘制出费米面。这里编写了直接生成倒空间k点并提取VASP EIGENVAL文件计算费米面的脚本。

脚本和例子:Fermi_Surface.rar(点击下载)

所需程序:VASPpython3XCrySDen

使用方法:

1.        进行常规的VASP自洽计算。

2.        inpu.dat中输入下面的参数:

32  32  16

5.2288   0.0  0.0

0.298862722  0.172548473   0.000000000

0.000000000  0.345096946   0.000000000

0.000000000  0.000000000   0.164380078

其中,第一行的三个数值分别为abc方向k点网格数目nxnynz;第二行第一个数值为费米能级,后面两了0.0无意义;第三至第五行为倒空间矢量(在OUTCAR中查找,关键字“reciprocal lattice vectors”)。

3.        运行python  Genkpoints.py (Genkpoints.py和input.dat需要在同一个文件夹)生成KPOINTS文件,生成的KPOINTS格式如下:

Explicit k-points list

9261

Reciprocal lattice

  0.000000  0.000000 0.000000  1

  0.000000  0.000000 0.050000  1

  0.000000  0.000000 0.100000  1

  0.000000  0.000000 0.150000  1

 ……

4.        将生成的KPOINTS文件放在能带计算的文件夹中进行常规能带计算。

5.        计算结束后,将EIGENVAL文件拷贝到当前文件夹,然后运行python  EIG2bxsf.py (EIG2bxsf.py、input.dat和EIGENVAL需要在同一个文件夹),得到Python.bxsf文件。

6.        将生成的Python.bxsf文件用XCrySDen打开,即可看到该材料的费米面,如下图所示。


  MgB2()1T-TaS2()的费米面

 明:

1.        VASP最多允许输入20000k点,如果超过这个数值,则会出现如下报错:

ERROR in RD_KPOINTS (mkpoints.F): increase NKDIMD to       29791

此时需要降低k点网格使(nx+1)*(ny+1)*(nz+1)<20000。或者修改mkpoints.F文件夹下的NKDIMD后重新编译VASP

2.        如果k点太少,绘制的费米面比较粗糙,可以在XCrySDen设置费米面插值,如下图所示:

3.        此程序没有考虑晶体的对称性,所以生成的k点较多,如果考虑对称性计算量将大大降低。如果您有编程实现思路欢迎和我联系。



https://blog.sciencenet.cn/blog-1502061-1093325.html

上一篇:群论学习资料备忘录(凝聚态物理专业)
下一篇:如何优雅地绘制布里渊区?
收藏 IP: 218.4.189.*| 热度|

2 唐刚 高志斌

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

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

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

GMT+8, 2024-11-30 10:34

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部