24小时热门版块排行榜    

查看: 2241  |  回复: 1

adailbj

新虫 (初入文坛)

[求助] 侯博士说明里计算能带结构,gk.x产生gk.f后,输出文件KPOINTS内容空白 已有1人参与

新手学习,侯博士说明里计算能带结构,gk.x产生gk.f后,输出文件KPOINTS内容空白,不知道怎么回事、怎样调试?

附gk.x脚本
c    +---------------------------------------------------------
c    |  For generating k-points along the high-symmetry lines in
c    |  Brillouin zone and for calculate band-structures !
c    |
c    |  OK for "VASP" package
c    |                                Modified by   Hou Zhufeng
c    +----------------------------------------------------------
C    ---------'syml'---------
c    6                     : nhighk
c    20  20  20  10  20    : ndiv(i)
c    X 0.5    0.0    0.5   : labhk(1),phighk(1,1),........
c    G 0.0    0.0    0.0
c    L 0.5    0.5    0.5
c    W 0.5    0.25   0.75
c    K 0.375  0.375  0.75
c    G 0.0    0.0    0.0
cc   0.000  2.449  2.449  -0.204158033  0.204158033  0.204158033
cc   2.449  0.000  2.449   0.204158033 -0.204158033  0.204158033
cc   2.449  2.449  0.000   0.204158033  0.204158033 -0.204158033   
c    -20.0  20.0           :emin, emax
c    0.0                   :efermi
c    direct & reciprocal lattice vectors over 'emin, emax' line
C    -----------------------
c     max k-points = 200
      program  gk
      implicit real*8 (a-h,o-z)
      character*2 labhk
      dimension tkpt(200,3),pk(200,3),phighk(10,3)
      dimension disk(200),dish(10),labhk(10)
      dimension ndiv(10)
c
      open(5,file='syml',status='old')
      open(7,file='inp.kpt')
      open(8,file='KPOINTS')
c
      read(5,*) nhighk
      read(5,*) (ndiv(i),i=1,nhighk-1)

      do i=1,nhighk-1
            ntkp=ntkp+ndiv(i)
      enddo
      ntotkpt=ntkp+1  

      if(nhighk>10)then
        write(*,*)'Number of high-symmetry k points must < 10!'
        STOP
      endif
      if(ntotkpt>200)then
        write(*,*)'Total number of k points must <= 200!'
        STOP
      endif

      do i=1, nhighk
         read(5,*)  labhk(i),(phighk(i,j),j=1,3)
      enddo
      write(*,*) (labhk(i),i=1,nhighk)
c
c----- generating k-points along high symmetric lines --------
c
c
      pk(1,1)=phighk(1,1)
      pk(1,2)=phighk(1,2)
      pk(1,3)=phighk(1,3)
      ii=1
       do i = 2, nhighk
         delx = (phighk(i,1) - phighk(i-1,1))/float(ndiv(i-1))
         dely = (phighk(i,2) - phighk(i-1,2))/float(ndiv(i-1))
         delz = (phighk(i,3) - phighk(i-1,3))/float(ndiv(i-1))
           do j=1, ndiv(i-1)
              ii = ii + 1
              pk(ii,1) = pk(ii-1,1) + delx
              pk(ii,2) = pk(ii-1,2) + dely
              pk(ii,3) = pk(ii-1,3) + delz
           enddo
       enddo
c
      write(8,10)'k-points along high symmetry lines'
  10  format(A34)
      write(8,*)ntotkpt
      write(8,'(A10)')'Reciprocal'
         weight=1.d0
         do i=1,ntotkpt
         write(7,200) pk(i,1),pk(i,2),pk(i,3),weight
         write(8,200) pk(i,1),pk(i,2),pk(i,3),weight
         enddo
200  format(3F10.6,F6.2)
      stop
      end

终端显示的内容:
[root@localhost Al band]# chmod +x gk.x
[root@localhost Al band]# ./gk.x
Total number of k points must <= 200!
[root@localhost Al band]# ./gk.x syml
Total number of k points must <= 200!
[root@localhost Al band]#
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wobure

新虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
adailbj: 金币+6, ★★★★★最佳答案, 大神,真的可以,谢谢你 2016-07-28 16:55:53
在    do i=1,nhighk-1
            ntkp=ntkp+ndiv(i)
      enddo
      ntotkpt=ntkp+1  
前面加一句ntkp=0,试试
2楼2016-07-28 16:01:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 adailbj 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 十年后又回来了,论文投稿求助 +5 哈哈114477 2026-08-01 5/250 2026-08-08 15:14 by 仁砚薪传
[基金申请] 这样的filecode谁见过 +5 布布和一二 2026-08-08 8/400 2026-08-08 14:54 by archvillain
[博后之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 6/300 2026-08-08 14:42 by oEVWOejN9taj
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 HEQlVqMTIA7d 2026-08-07 6/300 2026-08-08 14:39 by oEVWOejN9taj
[基金申请] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 4/200 2026-08-08 14:27 by oEVWOejN9taj
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 KXLV3nuBVBY7 2026-08-07 5/250 2026-08-08 14:07 by oEVWOejN9taj
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +5 a089 2026-08-07 5/250 2026-08-08 14:04 by alian_214
[基金申请] 关于代码变化问题,想知道的进来 +11 且听虎啸 2026-08-07 14/700 2026-08-08 12:50 by 布布和一二
[找工作] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 Vi50GxzrFcSG 2026-08-07 4/200 2026-08-08 10:39 by 3OOjAIS77qg2
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 3/150 2026-08-08 03:47 by 6vVgjDL4CnGu
[基金申请] 娱乐 +6 Tide man 2026-08-03 6/300 2026-08-07 22:40 by 铁帽子农民
[基金申请] 化学口download_prp&amp;fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[考博] 【2027博士申请】纳米药物递送方向 20+3 13586093586 2026-08-03 4/200 2026-08-05 09:59 by lfy8008
信息提示
请填处理意见