Znn3bq.jpeg
±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 3018  |  »Ø¸´: 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 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] »¯Ñ§¹¤³Ìµ÷¼Á289 +24 yangæÃ 2026-04-07 25/1250 2026-04-08 11:39 by Öí»á·É
[¿¼ÑÐ] 301Çóµ÷¼Á +10 ϸ°ûÏà¹Øµ°°× 2026-04-03 10/500 2026-04-08 10:36 by tjzhao
[¿¼ÑÐ] Çóµ÷¼Á +15 ÐܶþÏëÉϰ¶ 2026-04-06 15/750 2026-04-08 04:53 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] ²ÄÁÏÓ뻯¹¤×¨Ë¶306·ÖÕÒºÏÊʵ÷¼Á +20 ²×º£ÇáÖÛe 2026-04-06 20/1000 2026-04-07 22:54 by À´¿´Á÷ÐÇÓê10
[¿¼ÑÐ] ÉúÎïѧ363µ÷¼ÁÇóÖú +7 fanzhang6666 2026-04-06 9/450 2026-04-07 17:37 by lijunpoly
[ÂÛÎÄͶ¸å] Decision: Revise for Editor»¹»áËÍÉóÂð 100+3 CccccccccFD 2026-04-04 5/250 2026-04-07 10:58 by ±±¾©À³ÒðÈóÉ«
[¿¼ÑÐ] ÉúÎïÓëÒ½Ò©Çóµ÷¼Á +7 heguanhua 2026-04-05 8/400 2026-04-06 18:41 by macy2011
[¿¼ÑÐ] ¼ÆËã»ú11408£¬286·ÖÇóµ÷¼Á +7 ľ×ÓÄî•„ 2026-04-05 7/350 2026-04-05 19:02 by chy09050039
[¿¼ÑÐ] Ò»Ö¾Ô¸±±¾©½»Í¨´óѧ²ÄÁϹ¤³Ì×Ü·Ö358Çóµ÷¼Á +4 cs0106 2026-04-04 4/200 2026-04-05 18:46 by imissbao
[¿¼ÑÐ] Ò»Ö¾Ô¸Çà¿Æ085500£¬³õÊÔ295·Ö£¬¹«¹²¿Î213·Ö +3 Óöµ½µÄÈËÔ¸Íû¶¼Ä 2026-04-05 3/150 2026-04-05 18:45 by À¶ÔÆË¼Óê
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +13 Ò»ÑùYWY 2026-04-03 14/700 2026-04-05 18:20 by À¶ÔÆË¼Óê
[¿¼ÑÐ] Ò»Ö¾Ô¸±±¾©»¯¹¤´óѧ£¬³õÊԳɼ¨350Çóµ÷¼Á +9 ÑØ°¶?±´¿Ç 2026-04-04 14/700 2026-04-05 01:09 by ÑØ°¶?±´¿Ç
[¿¼ÑÐ] 085400µç×ÓÐÅÏ¢319Çóµ÷¼Á£¨½ÓÊÜ¿çרҵµ÷¼Á£© +5 ÐÇÐDz»Õ£ÑÛà¶ 2026-04-03 6/300 2026-04-04 21:50 by hemengdong
[¿¼ÑÐ] 331Çóµ÷¼Á +3 niby 2026-04-02 3/150 2026-04-04 19:56 by À¶ÔÆË¼Óê
[¿¼ÑÐ] Ò»Ö¾Ô¸»¦9£¬ÇóÉúÎïѧµ÷¼Á£¬326·Ö +6 Áõīī 2026-04-04 6/300 2026-04-04 19:44 by ÌÆãå¶ù
[¿¼ÑÐ] ¸´ÊÔµ÷¼Á +6 ·¶¸ùÅà 2026-04-04 6/300 2026-04-04 14:27 by ÍÁľ˶ʿÕÐÉú
[¿¼ÑÐ] 348·Ö»·¾³¹¤³Ì¡¤µ÷¼Á +10 ÎâÑå׿24k 2026-04-03 11/550 2026-04-04 14:19 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +11 ÎâèùÓ±£¡ 2026-04-03 11/550 2026-04-04 09:56 by ССÊ÷2024
[¿¼ÑÐ] ×Ü·Ö328ÉúÎïÓëÒ½Ò©¿¼ÊýѧÇóµ÷¼Á +7 aaadim 2026-04-02 9/450 2026-04-03 22:53 by syh9288
[˶²©¼ÒÔ°] ÇóÀÏʦÊÕÁô +9 lllq123 2026-04-03 9/450 2026-04-03 13:48 by ºôÎü¶¼ÊǼõ·Ê
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û