24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2652  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

匿名

用户注销 (正式写手)

本帖仅楼主可见

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   同方向广播   申请1ST强帖   回复此楼   编辑   删除   查看我的主页

匿名

用户注销 (正式写手)

本帖仅楼主可见
3楼2010-11-30 16:53:07
已阅   申请1ST强帖   回复此楼   编辑   查看我的主页
查看全部 9 个回答

youzhizhe

荣誉版主 (职业作家)

有志者

优秀版主优秀版主

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
zzy870720z(金币+1):谢谢交流 2010-12-01 00:47:28
引用回帖:
Originally posted by 晨曦3999 at 2010-11-30 16:13:43:
采用VASP软件计算出相应的能带后,采用什么方法可以将能带画出来呢?希望各位大侠能给出详细的步骤!非常感谢!

你都计算好了 那就用origin,一切OK。
微博http://weibo.com/10986069
2楼2010-11-30 16:48:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gaogh

银虫 (初入文坛)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
youzhizhe(金币+2):鼓励交流讨论。 2010-11-30 17:01:26
好多列用不同的y就可以了啊,不仅是能带计算,带自旋的态密度计算也同样处理
4楼2010-11-30 16:59:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

za5010

铁虫 (初入文坛)

一个处理能带数据的代码

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
zzy870720z(金币+2):谢谢分享,呵呵 2010-12-01 00:48:02
一个处理能带数据的代码,先编译一下生成一个可执行程序,然后在你的vasp计算目录下面运行生成的可执行程序即可得到一个可以用origin处理的能带数据

如果没有考虑自旋转,生成的文件名是bnd.dat
考虑了自选,则生成两个文件bndup.dat和bnddn.dat,一个自旋向上,另一个是自旋向下

程序执行过程中会要你输入费米能级(单位是eV)。

bnd.dat文件中,第一列是x坐标(没有意义,画图的时候要把它的标度隐掉,并写上高对称点),它按KPOINTS中的高对点顺序依次排开。

程序从网上找的,自己相应改一下.......版权不属于我......呵呵


program prog
real, allocatable :: e(:, ,eup(:,,edn(:,
real, allocatable :: k(:, ,dk( ,x(
real, dimension(3) ::k0,a
real, dimension(6) ::xxxx
character(len=32):: xx, yy ,nosence



write(6,*) 'fermi level (eV)'
read(5,*) ef

open(10,file='EIGENVAL', status='old')


read(10,*) iii, iii, iii, ispin
read(10,*) (xxxx(i),i=1,5)
read(10,*) xxxx(6)
read(10,*) xx
read(10,*) yy
read(10,*) nn,nk,nbands

allocate(e(nk,nbands))
allocate(eup(nk,nbands))
allocate(edn(nk,nbands))
allocate(k(nk,3))
allocate(dk(0:nk))
allocate(x(1:nk))


wtk=0.2500000E-01

if(ispin.eq.2) then
      open(13,file='bndup.dat')
          open(14,file='bnddn.dat')
          do i=1,nk
           read(10,*)
           read(10,*) (k(i,j),j=1,3),wtk
          do j=1,nbands
               read(10,*) jj,eup(i,j),edn(i,j)
           enddo                                                          
      enddo
      
          do n=1,nk
      dk(0)=0
          if (n.eq.1) then
        k0=k(n,
      endif
      a=k(n,-k0
      dk(n)=dk(n-1)+sqrt(dot_product(a,a))
      x(n)=dk(n)     
      k0=k(n,
      enddo

      do i=1,nk
        write(13,9030) x(i), ((eup(i,j)-ef),j=1,nbands)
        write(14,9030) x(i), ((edn(i,j)-ef),j=1,nbands)
      enddo

else
      open(11,file='bnd.dat')
          do i=1,nk
           read(10,*)
           read(10,*) nosence,nosence,nosence,(k(i,j),j=1,3)
           read(10,*)
           do j=1,nbands
               read(10,*) jj,e(i,j)
           enddo
      enddo
          
          do n=1,nk
      dk(0)=0
          if (n.eq.1) then
        k0=k(n,
      endif
      a=k(n,-k0
      dk(n)=dk(n-1)+sqrt(dot_product(a,a))
      x(n)=dk(n)     
      k0=k(n,
      enddo

      do i=1,nk
        write(11,9030) x(i),((e(i,j)-ef),j=1,nbands)
      enddo
                              
endif
9030 format (1x,f9.4,2x ,2000(f12.6,2x))


stop
end program prog
5楼2010-11-30 20:39:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见