²é¿´: 2967  |  »Ø¸´: 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µÄ»ØÌû

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µÄ»ØÌû
²é¿´È«²¿ 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µÄ»ØÌû

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µÄ»ØÌû
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 085601²ÄÁϹ¤³Ìר˶Çóµ÷¼Á +7 Ľº®mio 2026-03-16 7/350 2026-03-19 10:57 by wãåÑôw
[¿¼ÑÐ] Ò»Ö¾Ô¸985£¬±¾¿Æ211£¬0817»¯Ñ§¹¤³ÌÓë¼¼Êõ319Çóµ÷¼Á +10 Liwangman 2026-03-15 10/500 2026-03-19 10:25 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] 0817µ÷¼Á +3 ûÓдð°¸_ 2026-03-14 3/150 2026-03-19 09:51 by Xu de nuo
[½Ìʦ֮¼Ò] ½¹ÂÇ +9 Ë®±ùÔÂÔÂÒ°Íà 2026-03-13 13/650 2026-03-19 09:50 by otani
[¿¼ÑÐ] Çó²ÄÁϵ÷¼Á +10 ¸ô±Ú³ÂÏÈÉú 2026-03-12 10/500 2026-03-19 09:15 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] 271²ÄÁϹ¤³ÌÇóµ÷¼Á +5 .6lL 2026-03-18 5/250 2026-03-19 03:07 by ÎÞи¿É»÷111
[¿¼ÑÐ] Ò»Ö¾Ô¸»ªÖпƼ¼´óѧ£¬080502£¬354·ÖÇóµ÷¼Á +4 ÊØºòϦÑôCF 2026-03-18 4/200 2026-03-18 22:16 by li123456789.
[¿¼ÑÐ] 330Çóµ÷¼Á +3 С²Ä»¯±¾¿Æ 2026-03-18 3/150 2026-03-18 21:55 by ÎÞи¿É»÷111
[¿¼ÑÐ] »¯Ñ§¹¤³Ì321·ÖÇóµ÷¼Á +15 ´óÃ×·¹£¡ 2026-03-15 18/900 2026-03-18 14:52 by haxia
[¿¼ÑÐ] ÉúÎïѧ071000 329·ÖÇóµ÷¼Á +3 ÎÒ°®ÉúÎïÉúÎﰮΠ2026-03-17 3/150 2026-03-18 10:12 by macy2011
[¿¼ÑÐ] 0703»¯Ñ§336·ÖÇóµ÷¼Á +6 zbzihdhd 2026-03-15 7/350 2026-03-18 09:53 by zhukairuo
[¿¼ÑÐ] 301Çóµ÷¼Á +9 yyÒªÉϰ¶Ñ½ 2026-03-17 9/450 2026-03-18 08:58 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] 268Çóµ÷¼Á +8 Ò»¶¨ÓÐѧÉÏ- 2026-03-14 9/450 2026-03-17 17:47 by laoshidan
[¿¼ÑÐ] ²ÄÁÏר˶326Çóµ÷¼Á +6 Ä«ìÏæ¦Ý· 2026-03-15 7/350 2026-03-17 17:10 by ruiyingmiao
[¿¼ÑÐ] 26¿¼ÑÐÇóµ÷¼Á +6 ؼºêSir 2026-03-13 6/300 2026-03-17 16:13 by ×íÔÚ·çÀï
[¿¼ÑÐ] 11408 Ò»Ö¾Ô¸Î÷µç£¬277·ÖÇóµ÷¼Á +3 zhouzhen654 2026-03-16 3/150 2026-03-17 07:03 by laoshidan
[¿¼ÑÐ] 26¿¼ÑÐÒ»Ö¾Ô¸ÖйúʯÓÍ´óѧ(»ª¶«)305·ÖÇóµ÷¼Á +3 ¼ÎÄêÐÂ³Ì 2026-03-15 3/150 2026-03-15 13:58 by ¹þ¹þ¹þ¹þºÙºÙºÙ
[¿¼ÑÐ] 295Çóµ÷¼Á +3 Сذ×ÐÖ­ 2026-03-12 3/150 2026-03-13 15:17 by vgtyfty
[¿¼ÑÐ] Çóµ÷¼Á +3 ³ÌÓ꺼 2026-03-12 3/150 2026-03-13 15:06 by JourneyLucky
[¿¼ÑÐ] һ־Ըɽ´ó07»¯Ñ§ 332·Ö ËÄÁù¼¶Òѹý ±¾¿ÆÉ½¶«Ë«·Ç Çóµ÷¼Á£¡ +3 ²»ÏëÀíÄã 2026-03-12 3/150 2026-03-13 14:18 by JourneyLucky
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û