±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 2990  |  »Ø¸´: 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µÄ»ØÌû

luding861011

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

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

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µÄ»ØÌû
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 288×ÊÔ´Óë»·¾³×¨Ë¶Çóµ÷¼Á£¬²»ÏÞרҵ£¬ÓÐѧÉϾÍÐÐ +8 lllllos 2026-03-30 8/400 2026-03-30 20:40 by dophin1985
[¿¼ÑÐ] 286·Öµ÷¼Á +10 Faune 2026-03-30 11/550 2026-03-30 20:35 by °¡Àî999
[¿¼ÑÐ] µ÷¼Á +4 GK72 2026-03-30 4/200 2026-03-30 20:32 by dick_runner
[¿¼ÑÐ] 285Çóµ÷¼Á +4 AZMK 2026-03-30 7/350 2026-03-30 20:24 by laoshidan
[¿¼ÑÐ] ²ÄÁÏÇóµ÷¼Á Ò»Ö¾Ô¸¹þ¹¤´ó×Ü·Ö298·Ö£¬Ç°Èý¿Æ223·Ö +6 dongfang59 2026-03-27 6/300 2026-03-30 20:05 by Ô´_2020
[¿¼ÑÐ] 367Çóµ÷¼Á +5 ÓóÄàà£à£¡­ 2026-03-28 5/250 2026-03-30 19:56 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] »¯Ñ§308·Öµ÷¼Á +7 ÄãºÃÃ÷ÌìÄãºÃ 2026-03-30 8/400 2026-03-30 13:02 by ÄãºÃÃ÷ÌìÄãºÃ
[¿¼ÑÐ] ÉúÎï¼¼ÊõÓ빤³Ì +7 1294608413 2026-03-25 8/400 2026-03-30 11:36 by ÌÆãå¶ù
[¿¼ÑÐ] Çóµ÷¼Á +4 QiMing7 2026-03-25 5/250 2026-03-29 21:10 by ÌÆãå¶ù
[¿¼ÑÐ] 081200-11408-276ѧ˶Çóµ÷¼Á +6 ´Þwj 2026-03-26 6/300 2026-03-29 01:11 by hanserlol
[¿¼ÑÐ] 311£¨085601£©Çóµ÷¼Á +4 liziyeyeye 2026-03-28 4/200 2026-03-28 18:50 by 535743368
[¿¼ÑÐ] 330Ò»Ö¾Ô¸Öйúº£Ñó´óѧ »¯Ñ§¹¤³Ì 085602 ÓжÁ²©ÒâÔ¸ Çóµ÷¼Á +3 wywy.. 2026-03-27 4/200 2026-03-28 03:32 by fmesaito
[¿¼ÑÐ] Ò»Ö¾Ô¸ Î÷±±´óѧ ×Ü·Ö282 Ó¢ÓïÒ»62 Çóµ÷¼Á +7 18419759900 2026-03-25 8/400 2026-03-27 16:38 by 18419759900
[¿¼ÑÐ] 08¿ªÍ·275Çóµ÷¼Á +4 À­Ë­²»ÖØÒª 2026-03-26 4/200 2026-03-27 14:12 by Delta2012
[¿¼ÑÐ] »úеѧ˶310·Ö£¬ÊýÒ»Ó¢Ò»£¬Ò»Ö¾Ô¸211±¾¿ÆË«·ÇÕÒµ÷¼ÁÐÅÏ¢ +3 @357 2026-03-25 3/150 2026-03-26 16:34 by by.MENG
[¿¼ÑÐ] 289Çóµ÷¼Á +17 ˶ÐǸ° 2026-03-23 17/850 2026-03-26 16:18 by ²»³Ôô~µÄ؈
[¿¼ÑÐ] ¿¼ÑÐÒ»Ö¾Ô¸ËÕÖÝ´óѧ³õʼ315£¨Ó¢Ò»£©Çóµ÷¼Á +3 sbdksD 2026-03-24 4/200 2026-03-25 18:16 by xcjcqu
[¿¼ÑÐ] 293Çóµ÷¼Á +7 ¼ÓÒ»Ò»¾Å 2026-03-24 7/350 2026-03-25 12:02 by userper
[¿¼ÑÐ] 300·Ö£¬²ÄÁÏ£¬Çóµ÷¼Á£¬Ó¢Ò»Êý¶þ +5 ³¬ÔÞµÄ 2026-03-24 5/250 2026-03-24 21:07 by ÐÇ¿ÕÐÇÔÂ
[¿¼ÑÐ] 292Çóµ÷¼Á +4 ¶ì¶ì¶ì¶î¶î¶î¶î¶ 2026-03-24 4/200 2026-03-24 16:41 by peike
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û