当前位置: 首页 > 有奖问答 >求助~画半导体和绝缘体能带图

求助~画半导体和绝缘体能带图

作者 yanbaojun
来源: 小木虫 100 2 举报帖子
+关注

掺铝的氧化锌材料(AZO)和氧化镁材料结合在一起,它们的能带图如何画?
请材料、物理等专业的高手指点,谢谢! 返回小木虫查看更多

今日热帖
  • 精华评论
  • 炼狱之火

    采用VASP软件计算出相应的能带后,那就用origin,好多列用不同的y就可以了啊,不仅是能带计算,带自旋的态密度计算也同样处理。
    一个处理能带数据的代码,先编译一下生成一个可执行程序,然后在你的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

    学习一下~,

  • qfw_68

    这个问题需要知道或查找到这些数据:
    1、AZO的费米能级相对于真空能级的位置(AZO的费米能级一般进入到ZnO的导带中,其位置与Al的掺杂量等有关);
    2、MgO的导带、价带相对于真空能级的位置。如果MgO是本征的(i-MgO),则其费米能级在禁带中央;否则其费米能级与掺杂水平等有关(需确认或查找)。
    结合上述数据,再看看“半导体物理”一书中“金属-半导体接触”章节的知识就完全可以画出来了。(费米能级的知识在“半导体物理”一书中也有)

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓