|
首页 >> 第一原理 >> 查看话题

python处理能带的程序。 一键自动处理费米能级,输出能带图中高对称线的位置。

fdd096030079 举报此信息
由于本人嫌目前网上处理能带的程序不够好用,自己用python写的处理能带的小程序,
        已经用了3年多了,现在分享给大家!
        程序名称:getband.py
        计算机语言:python
        用到的python包:numpy (主要用来计算倒格矢,并计算倒空间中高对称点间的距离),没有numpy包的童鞋自己装一个咯,
                                     推荐Anaconda,安装简单。
        使用方法:进入到计算能带的文件夹下,直接输入getband.py。对于高对称K点不连续情形:getband.py  100
                         (100 表示两个高对称K点之间插入100个K点)
        需要用到的文件:POSCAR(计算倒格矢),EIGENVAL(读取本征值),DOSCAR (读取费米能级,没有的话,feimi能级设为0)
        功能:处理EIGENVAL文件,直接得到画能带图的数据。从DOSCAR中读取费米能级,并在能带图中减去这一费米能级。
                  计算倒格矢和倒空间高对称点的距离,输出能带图中高对称点的坐标和两个高对称点间的距离。可处理自旋极化
                  能带(即ISPIN=2)。
        注意,下面这点非常重要:处理能带图时,默认能带图中高对称K点都是连续的,没有断开的情形。断开的情形,需要输入高
                                               对称K点间插入的K点的个数,假定高对称K点插入了100个K点,即getband.py  100。
                                               这里高对称K点连续指的是:A-M  M-K。即前面第二个高对称K点与后面第一个高对称K点一样。
                                                断开的情形指的是:A-M K-G。 即前面第二个高对称K点与后面第一个高对称K点不一样。
        先上图:


展开阅读全文

500万研究生喜爱的学术科研平台

收录淘贴
用户评论