24小时热门版块排行榜    

CyRhmU.jpeg
查看: 5338  |  回复: 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的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

Mr_WuSH

金虫 (小有名气)


不受意思··记错了··使用这个编译
g77 -o gk.x gk.f
15楼2012-06-11 16:23:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Mr_WuSH

金虫 (小有名气)



xueht987: 金币+1, 谢谢回帖,鼓励交流! 2012-06-10 10:58:22
重新用gfortran编译就好使了····
7楼2012-06-09 20:41:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

fzx2008

荣誉版主 (著名写手)

优秀版主优秀版主

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
mengfc: 金币+15, ★★★很有帮助, 谢谢您 2012-05-05 00:03:32
liliangfang: 金币+2, 谢谢指教 2012-05-05 09:54:57

两个高对称k点,G 0.0    0.0    0.0    M 0.0    0.5    0.0
中间插入25个点,excel表中一下就能生成~

更简单的,vasp的KPOINTS都已经支持LINE模式了~
2楼2012-05-04 23:45:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gfei2008

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
mengfc: 金币+5, 有帮助, 谢谢您 2012-05-05 00:04:31
liliangfang: 金币+2, 谢谢指教 2012-05-05 09:55:16
你这样编译出之后是不是有个a.out的可执行文件,那个就是用来生产KPOINTS的程序,使用方法是:./a.out
要么你就是ifort -o gk gk.f这样编译。然后执行./gk就可以生成你要的KPOINTS
3楼2012-05-04 23:52:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mengfc

金虫 (正式写手)

引用回帖:
2楼: Originally posted by fzx2008 at 2012-05-04 23:45:55:

两个高对称k点,G 0.0    0.0    0.0    M 0.0    0.5    0.0
中间插入25个点,excel表中一下就能生成~

更简单的,vasp的KPOINTS都已经支持LINE模式了~

唉。。。我也决定用LINE模式了。。。就是用pbnd.x程序时还是要用到syml文件。不知道怎么弄了。还请问您一下,计算能带是非自洽计算,是不是因为读取电荷密度,而不是再重新计算?我在计算能带时的INCAR中ediff和ediffg两个参数跟几何优化时的一样?
4楼2012-05-05 00:03:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mengfc

金虫 (正式写手)

引用回帖:
3楼: Originally posted by gfei2008 at 2012-05-04 23:52:32:
你这样编译出之后是不是有个a.out的可执行文件,那个就是用来生产KPOINTS的程序,使用方法是:./a.out
要么你就是ifort -o gk gk.f这样编译。然后执行./gk就可以生成你要的KPOINTS

谢谢您,但执行之后KPOINTS里是

k-points along high symmetry lines
-1225672974
Reciprocal
5楼2012-05-05 00:04:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yxz476440843

铁虫 (小有名气)

引用回帖:
5楼: Originally posted by mengfc at 2012-05-05 00:04:22
谢谢您,但执行之后KPOINTS里是

k-points along high symmetry lines
-1225672974
Reciprocal
”...

你好,我也遇到了同样的问题,请问该怎么解决啊,谢谢!
6楼2012-06-09 19:32:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Mr_WuSH

金虫 (小有名气)


重新用gfortran编译不好使·?
8楼2012-06-11 09:10:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mengfc

金虫 (正式写手)

引用回帖:
8楼: Originally posted by Mr_WuSH at 2012-06-11 09:10:07
重新用gfortran编译不好使·?

谢谢您,这个用gfortran重新编译之后也不太行,这是什么原因呢?
9楼2012-06-11 10:32:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Mr_WuSH

金虫 (小有名气)


我之前也遇到一样的问题··
gfortran编译后就好使了···

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : gk.f
  • 2012-06-11 11:34:59, 2.75 K
10楼2012-06-11 11:36:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 mengfc 的主题更新
信息提示
请填处理意见