24小时热门版块排行榜    

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

mengfc

金虫 (正式写手)

[求助] vasp gk.x文件生成KPOINTS出错已有1人参与

请教各位,我自己写了一个syml文件。但用编译的gk.x执行时只出现如下内容:

k-points along high symmetry lines
-1225672974
Reciprocal

请问这是什么问题?
我的syml文件如下:
2
25   
G 0.0    0.0    0.0
M 0.0    0.5    0.0
50.041423917  0.005031325  0.000000000     0.019983444 -0.000002011  0.000000000     
0.000248027  2.465241129  0.000000000    -0.000040784  0.405639837  0.000000000     
0.000000000  0.000000000 29.937787689     0.000000000  0.000000000  0.033402602     
-8.0  8.0
-3.7306
gk.f文件如下,我是使用 ifort -O gk.f命令进行编译的。
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
c----------------------- end ---------------------------
回复此楼

» 收录本帖的淘帖专辑推荐

第一性原理相关文档

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yongma2008

木虫 (著名写手)

论文?苦!主。

【答案】应助回帖

read(5,*) nhighk
      read(5,*) (ndiv(i),i=1,nhighk-1)
=================
在这里加下面这一行,只加这行代码,上下注意对齐。再编译就好了
     ntkp=0
=================
      do i=1,nhighk-1
            ntkp=ntkp+ndiv(i)
      enddo
      ntotkpt=ntkp+1
25楼2018-09-18 16:35:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 mengfc 的主题更新
信息提示
请填处理意见