Znn3bq.jpeg
±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 3017  |  »Ø¸´: 8

chk0521

½ð³æ (³õÈëÎÄ̳)

[½»Á÷] ¡¾ÇóÖú³É¹¦¡¿Band£­procar ºÍDos£­procar ³ÌÐòÖ´Ðгö´í ÒÑÓÐ8È˲ÎÓë

ÎÒ´Ó°æÄÚÏÂÔØµÄ·ÖÎöPROCARµÄ³ÌÐòBand£­procar.f ºÍDos£­procar.f ͨ¹ýg77 ±àÒë³É¿ÉÖ´ÐÐÎļþ¡£µ«ÊÇÖ´Ðкó³öÏÖsegmentation fault (core dumped)´íÎóÌáʾ¡£ÕâÊÇΪʲô°¡£¿ÎÒÉÏÍø²éÁËÒ»ÏÂÕâ±íʾָÕëʹÓóö´í¡£Îҵıà³Ìˮƽ̫²îʵÔڲ鲻³öÎÊÌâÔÚÄÄ¡£Âé·³ÄÄλ¸ßÈËÖ¸µãһϣ¬Ê®·Ö¸Ðл£¡ÒÔÏÂÊÇÔ´³ÌÐò
    implicit real*8(a-h,o-z)
      parameter (nbd = 200)
      parameter (nkd = 500)
      parameter (nxd = 300)
      parameter (natmd = 20)
      dimension a(3,3),b(3,3),c(3),e(nkd,nbd),sk(nkd,3)
      dimension xx(nxd) ,wei(nkd)
      dimension dump(20),oc(nkd,nbd,natmd,4)
      open(7,file='PROCAR',form='FORMATTED',status='OLD')
      pi = 3.141592654
      read(7,103) dump                    

      write(*,*) 'Spin polarized calculation? (no=1,yes=2):'
      read (*,*) ispin
      if ((ispin.ne.1).and.(ispin.ne.2)) then
      write(*,*) ' INPUT ERROR, ispin must equal to 1 or 2 '
      stop
      endif

c     write(*,*) 'Enter # of interval (npoints) and division (ndiv):'
c     read (*,*) npoints,ndiv
      open(9,file='KPOINTS',form='FORMATTED',status='OLD')
      read(9,100) temp
      read(9,*) ndiv

      write(*,*) 'Enter the range of energy to plot:'
      read (*,*) er1,er2
      emin=min(er1,er2)
      emax=max(er1,er2)
      write(*,*) 'Enter the value of fermi energy:'
      read(*,*)  ef

      if (ispin.eq.1) then
      open(11,file='band.dat')
      elseif (ispin.eq.2) then
      open(11,file='band-up.dat')
      open(12,file='band-dn.dat')
      endif

      open(8,file='POSCAR',form='FORMATTED',status='OLD')
      read(8,100) temp
c      write(6,100) temp
100   format(20a4)
      read (8,*) aa
c      WRITE(6,*) aa
c   
c      *** read lattice constant from POSCAR**
c            
      do i=1,3
         read (8,*) (a(i,j),j=1,3)
c       WRITE(6,500) (a(i,j),j=1,3)
500   format (3f12.8)
      enddo
      do i=1,3
         do j=1,3
         a(i,j)=aa*a(i,j)
         enddo
c       WRITE(6,500) (a(i,j),j=1,3)
      enddo
c
c     *** read lattice vector from POSCAR***
c
      volume=a(1,1)*a(2,2)*a(3,3)+a(1,2)*a(2,3)*a(3,1)
     &+a(1,3)*a(2,1)*a(3,2)-a(1,1)*a(2,3)*a(3,2)
     &-a(1,2)*a(2,1)*a(3,3)-a(1,3)*a(2,2)*a(3,1)
      do i=1,3
          if (i .eq. 1) then
            j=2
            k=3
          else if (i .eq. 2) then
            j=3
            k=1
          else
            j=1
            k=2
          endif
        c(1)=a(j,2)*a(k,3)-a(j,3)*a(k,2)
        c(2)=a(j,3)*a(k,1)-a(j,1)*a(k,3)
        c(3)=a(j,1)*a(k,2)-a(j,2)*a(k,1)
        do j=1,3
           b(i,j)=2*pi*c(j)/volume
c         WRITE (6,*) b(i,j)
        enddo
       enddo


      do 9000 isp=1,ispin

      read(7,104) nk,nband,nion
      do 1000 k = 1,nk
      read(7,103) dump
      read(7,105) kp,(sk(k,j),j=1,3),wei(k)
c     write(6,105) kp,(sk(k,j),j=1,3),wei(k)
      read(7,103) dump
      do  nb = 1,nband
      read(7,106) nb1,e(k,nb),occ
c     write(6,106) nb1,e(k,nb),occ
      read(7,103) dump
      read(7,103) dump
c     write(6,*) 'nion=',nion
      niont = nion +1
      if (nion .eq. 1) niont = 1
      do  ion = 1,niont
      read(7,107) (oc(k,nb,ion,j),j=1,4)
c     write(6,107) (oc(k,nb,ion,j),j=1,4)
      enddo
      read(7,103) dump
c     write(6,103) dump
      enddo
1000 continue

      weight = 0.0
      do k = 1, nk
      weight = weight + wei(k)
      enddo

      do k = 1,nk
      wei(k) =  wei(k) / weight
      enddo

101  format(10x,f9.5)
102  format(f10.5)
103  format(20a4)
104  format(16x,i3,20x,i5,19x,i4)
105  format(10x,i3,5x,3f11.8,13x,f11.8)
106  format(4x,i4,9x,f14.8,7x,f12.8)
107  format(3x,4f7.3)


c
c     *** find reciprocal lattice vector ***
      xx(1) = 0.0
      nn = 1
      do k = 1,nk-1
      dkx=(sk(k+1,1)-sk(k,1))*b(1,1) + (sk(k+1,2)-sk(k,2))*b(2,1)
     &   + (sk(k+1,3)- sk(k,3))*b(3,1)
      dky=(sk(k+1,1)-sk(k,1))*b(1,2) + (sk(k+1,2)-sk(k,2))*b(2,2)
     &   + (sk(k+1,3)- sk(k,3))*b(3,2)
      dkz=(sk(k+1,1)-sk(k,1))*b(1,3) + (sk(k+1,2)-sk(k,2))*b(2,3)
     &   + (sk(k+1,3)- sk(k,3))*b(3,3)
      del =  sqrt ( dkx**2 + dky**2 + dkz**2 )
      nn = nn +1
      xx(nn) = xx(nn-1) + del
      enddo

      do n=1,nband
        if (mod(n,2).ne.0) then
         do k=1,nk
          ee = e(k,n) - ef
          if ( ee .gt. emax ) ee = emax
          if ( ee .lt. emin ) ee = emin
         write (10+isp,300) xx(k),ee
         enddo
        elseif (mod(n,2).eq.0) then
         do i=nk,1,-1
          ee = e(i,n) - ef
          if ( ee .gt. emax ) ee = emax
          if ( ee .lt. emin ) ee = emin
          write (10+isp,300) xx(i),ee
         enddo
        endif
      enddo
300   format (f12.8,2x,f12.8)

      if (mod(nband,2) .ne. 0) then
          write (10+isp,300) xx(nk),emin
          write (10+isp,300) xx(1),emin
      else
          write (10+isp,300) xx(1),emin
      endif
c
c     *** write xx-ee ***
c
        npoints=nk/ndiv
       do n=2,npoints
         kk=(n-1)*ndiv
        write (10+isp,300) xx(kk),emin
        write (10+isp,300) xx(kk),emax
        write (10+isp,300) xx(kk),emin
      enddo
        write (10+isp,300) xx(nk),emin
        write (10+isp,300) xx(nk),emax
        write (10+isp,300) xx(1),emax
        write (10+isp,300) xx(1),emin
        zero=0.0
        write (10+isp,300) xx(1),zero
        write (10+isp,300) xx(nk),zero

9000  continue

      stop
      end

[ Last edited by chk0521 on 2010-6-25 at 16:36 ]
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

lvjian8596

ľ³æ (СÓÐÃûÆø)

¡ï ¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
zzy870720z(½ð±Ò+1):¸Ðл½»Á÷ 2010-06-24 08:50:43
segmentation fault (core dumped)³öÏÖÕâ¸öÎÊÌâºÜÓпÉÄÜÊÇÊý×éÔ½½ç£¡
³ÌÐò±¾ÉíûÓÐÎÊÌ⣬µ«Êǵ±ÄãµÄÊý¾Ý¹ý´óʱ¿ÉÄܳöÏÖÎÊÌ⣡
±ÈÈçÒ»¸öÊý×éa£¨100£©£¬µ«ÊÇÄãÓÐ200¸öÊý¾Ý¶Á½øÀ´£¬Õâʱ¿ÉÄܳöÏÖÕâ¸öÎÊÌ⣡
2Â¥2010-06-24 08:44:53
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

chk0521

½ð³æ (³õÈëÎÄ̳)

zzy870720z:Èç¹ûÎÊÌâ½â¾ö£¬°ïæ°Ñ¡¾ÇóÖú¡¿¸ÄΪ¡¾ÇóÖú³É¹¦¡¿£¬Ð»Ð»ºÏ×÷£¬Èç¹ûÔÚÕûÀí³ö½â¾ö°ì·¨£¬¸øÓè½±Àø£¬ºÇºÇ 2010-06-24 17:32:28
лл°ßÖñ£¡È·ÊµÊÇÊý×éÔ½½ç¡£ÒѾ­½â¾öÁË:£©

[ Last edited by chk0521 on 2010-6-25 at 16:37 ]
3Â¥2010-06-24 15:51:51
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

calos818

ľ³æ (ÖøÃûдÊÖ)

ÐÂÈ˲ËÄñ

¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
ÒýÓûØÌû:
Originally posted by chk0521 at 2010-06-24 15:51:51:
лл°ßÖñ£¡È·ÊµÊÇÊý×éÔ½½ç¡£ÒѾ­½â¾öÁË:£©

[ Last edited by chk0521 on 2010-6-25 at 16:37 ]

ÇëÎÊÄã×öÁËÄÄЩÐ޸ĵģ¬Âé·³ÄãÌáʾÏ£¬Ð»Ð»
4Â¥2010-10-24 18:23:05
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

huangyc

ľ³æ (ÕýʽдÊÖ)

¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
LZÈçºÎ½â¾öµÄ£¬¿ÉÒÔ¸ú´ó¼Ò·ÖÏíÒ»ÏÂÂð
5Â¥2010-10-25 22:09:24
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

fqpwork

Òø³æ (СÓÐÃûÆø)

¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
ÒýÓûØÌû:
1Â¥: Originally posted by chk0521 at 2010-06-21 18:59:33:
ÎÒ´Ó°æÄÚÏÂÔØµÄ·ÖÎöPROCARµÄ³ÌÐòBand£­procar.f ºÍDos£­procar.f ͨ¹ýg77 ±àÒë³É¿ÉÖ´ÐÐÎļþ¡£µ«ÊÇÖ´Ðкó³öÏÖsegmentation fault (core dumped)´íÎóÌáʾ¡£ÕâÊÇΪʲô°¡£¿ÎÒÉÏÍø²éÁËÒ»ÏÂÕâ±íʾָÕëʹÓóö´í¡£Îҵıà ...

ÄãºÃ£¬Á½¸öС³ÌÐò¿É²»¿ÉÒÔ·¢¸øÎÒһϣ¬Ð»Ð»¡£fqp36@qq.com
6Â¥2011-09-21 00:19:44
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

luding861011

ľ³æ (³õÈëÎÄ̳)

¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
ÄúÊÇÔõô¸ÄµÄ ×öÁËÄÄЩµØ·½µÄÐ޸ģ¿ лл£¡
7Â¥2011-09-21 11:21:52
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

lyyqdu

½ð³æ (СÓÐÃûÆø)

¡ï
Сľ³æ: ½ð±Ò+0.5, ¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
ÄãºÃ£¬¹ØÓÚBand£­procar.f ºÍDos£­procar.f ,ÇëÎÊÄãÊÇÔõô½â¾ö¡°segmentation fault (core dumped)Õâ¸öÎÊÌâµÄ£¬¼´Êý×éÔ½½ç£º
http://muchong.com/bbs/viewthread.php?tid=2158806

·Ç³£¸Ðл¶øÄ㣡
lyyqdu
8Â¥2012-03-21 11:07:28
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

repent03

½ð³æ (СÓÐÃûÆø)

¡ï
Сľ³æ: ½ð±Ò+0.5, ¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
¾Ý±¾Éíǰ¾­Ñé Ö»ÒªÐÞ¸ÄparameterÀïÃæµÄÊý×Ö Ôö´ó¼´¿É
9Â¥2012-03-22 00:45:22
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ chk0521 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] Ò»Ö¾Ô¸»ªÄÏʦ·¶´óѧ0702ÎïÀíѧ305µ÷¼Á +3 Äî³£°² 2026-04-07 5/250 2026-04-08 06:45 by lijunpoly
[¿¼ÑÐ] 347²ÄÁÏר˶Çóµ÷¼Á +15 zj8215216 2026-04-06 15/750 2026-04-08 00:22 by JourneyLucky
[¿¼ÑÐ] ²ÄÁϹ¤³ÌרҵÈÕÓïÉúÇóµ÷¼Á +9 111623 2026-04-07 9/450 2026-04-07 23:31 by Ò»Ö»ºÃ¹û×Ó?
[¿¼ÑÐ] ¼ÆËã»ú11408 287 Çóµ÷¼Á +3 LiLe5 2026-04-07 3/150 2026-04-07 23:15 by shanqishi
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +13 ºº123456 2026-04-07 14/700 2026-04-07 22:53 by À´¿´Á÷ÐÇÓê10
[¿¼ÑÐ] 285Çóµ÷¼Á +11 AZMK 2026-04-05 17/850 2026-04-07 19:05 by ÖзÉÔº¿Õ¹ÜѧԺÑ
[¿¼ÑÐ] 085602µ÷¼Á ³õÊÔ×Ü·Ö335 +10 19123253302 2026-04-05 10/500 2026-04-07 15:23 by СÇÇͬѧya
[¿¼ÑÐ] 304Çóµ÷¼Á +4 luoye0105 2026-04-05 4/200 2026-04-06 21:05 by ľ×Ó¾ý1218
[¿¼ÑÐ] 266·Ö£¬Ò»Ö¾Ô¸µçÆø¹¤³Ì£¬±¾¿Æ²ÄÁÏ£¬Çó²ÄÁÏרҵµ÷¼Á +9 ÍÛºôºßºôºß 2026-04-02 10/500 2026-04-06 19:47 by jean5056
[¿¼ÑÐ] 22408 331·ÖÇóµ÷¼Á +4 y__1 2026-04-06 4/200 2026-04-06 17:26 by ÍÁľ˶ʿÕÐÉú
[¿¼ÑÐ] 319Çóµ÷¼Á +3 handrui 2026-04-05 3/150 2026-04-06 09:33 by jp9609
[¿¼ÑÐ] 372·Ö£¬²ÄÁÏÓ뻯¹¤£¬Ò»Ö¾Ô¸ºþÄÏ´óѧ£¬Çóµ÷¼Á +3 À¶¼ãƬ 2026-04-01 3/150 2026-04-06 09:04 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] Ò»Ö¾Ô¸ÉϺ£º£Ñó´óѧ083200ʳƷѧ˶£¬Çóµ÷¼Á£¬½ÓÊÜÆäËûרҵ083200 +4 whatÕÅ 2026-04-04 5/250 2026-04-05 14:07 by chw1980_0
[¿¼ÑÐ] ±¾¿Æ211 ·ÖÊý293ÇëÇóµ÷¼Á +4 Á«²Ë¾ÍÊÇź°É 2026-04-01 4/200 2026-04-04 22:32 by hemengdong
[¿¼ÑÐ] 0835ѧ˶299Çóµ÷¼Á 08´óÀà¿É½ÓÊÜ +5 useryy 2026-04-03 5/250 2026-04-04 20:07 by À¶ÔÆË¼Óê
[¿¼ÑÐ] 265Çóµ÷¼Á +17 ÁÖÉîÎÂÀ½ 2026-04-01 20/1000 2026-04-04 01:09 by userper
[¿¼ÑÐ] ¹¤¿Æ 267Çóµ÷¼Á +5 wanwan00 2026-04-02 7/350 2026-04-03 14:14 by zhangdingwa
[¿¼ÑÐ] 11408£¬284·Ö£¬¶þÕ½Õæ³ÏÇóµ÷¼Á +4 12.27 2026-04-02 4/200 2026-04-03 14:14 by dxiaoxin
[¿¼ÑÐ] 303Çóµ÷¼Á +3 һɫÇåÓð 2026-04-02 4/200 2026-04-03 10:22 by À¶ÔÆË¼Óê
[¿¼ÑÐ] 302Çóµ÷¼Á +9 zyxÉϰ¶£¡ 2026-04-02 9/450 2026-04-02 23:07 by Âí¶ù¿ì¿ìµØÅÜ
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û