| ²é¿´: 2646 | »Ø¸´: 21 | ||||
| µ±Ç°Ö÷ÌâÒѾ´æµµ¡£ | ||||
huangycľ³æ (ÕýʽдÊÖ)
|
[½»Á÷]
¡¾ÇóÖú¡¿Ôõô¸ù¾ÝPROCAR×÷DOSºÍPDOSͼ
|
|||
|
´ó¼ÒºÃ£¬¼ÆËãDOSʱµÃµ½PROCAR£¬×¼±¸Ñ§Ï°»DOSºÍPDOS£¬¹²126¸öKµã£¬Ã¿¸öKµã100 bands£¬ÓÃlev00´¦ÀíʱÌáʾȱÉÙPROCAR»òPROCAR´íÎó£¬ÓÃp4vaspÒ²´ò²»¿ª£¬Çë°ïÎÒ¿´¿´£¬Ð»Ð» PROCAR new format # of k-points: 126 # of bands: 100 # of ions: 24 k-point 1 : 0.04166667 0.04166667 0.04166667 weight = 0.00462963 band 1 # energy -29.57997136 # occ. 2.00000000 ion s p d f tot 1 0.233 0.000 0.000 0.000 0.233 2 0.233 0.000 0.000 0.000 0.233 3 0.233 0.000 0.000 0.000 0.233 4 0.233 0.000 0.000 0.000 0.233 5 0.000 0.000 0.000 0.000 0.000 6 0.000 0.000 0.000 0.000 0.000 7 0.000 0.000 0.000 0.000 0.000 8 0.000 0.000 0.000 0.000 0.000 9 0.000 0.000 0.000 0.000 0.000 10 0.000 0.000 0.000 0.000 0.000 11 0.000 0.000 0.000 0.000 0.000 12 0.000 0.000 0.000 0.000 0.000 13 0.000 0.000 0.000 0.000 0.000 14 0.000 0.000 0.000 0.000 0.000 15 0.000 0.000 0.000 0.000 0.000 16 0.000 0.000 0.000 0.000 0.000 17 0.000 0.000 0.000 0.000 0.000 18 0.000 0.000 0.000 0.000 0.000 19 0.000 0.000 0.000 0.000 0.000 20 0.000 0.000 0.000 0.000 0.000 21 0.000 0.000 0.000 0.000 0.000 22 0.000 0.000 0.000 0.000 0.000 23 0.000 0.000 0.000 0.000 0.000 24 0.000 0.000 0.000 0.000 0.000 tot 0.937 0.001 0.000 0.000 0.938 ÕâÊÇÆäÖÐÒ»²¿·Ö£¬ÏÂÃæ»¹ÓÐband2-100£¬½ÓמÍÊÇk-points2-126£¬ºÜ³¤µÄÎļþ ²»ÖªµÀ´ó¼Ò¶¼Ôõô´¦ÀíDOS£¿Ñ§Ï°VASPʱ¼ä²»³¤£¬»¹Ï£Íû³æÓÑÃÇÖ¸µã [ Last edited by SHY31 on 2008-12-4 at 20:41 ] |
» ÊÕ¼±¾ÌûµÄÌÔÌûר¼ÍƼö
VASP |
» ²ÂÄãϲ»¶
308Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
ÇóbÇøÔºÐ£µ÷¼Á
ÒѾÓÐ5È˻ظ´
0854AI CV·½ÏòÕÐÊÕµ÷¼Á
ÒѾÓÐ4È˻ظ´
296Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
302Çóµ÷¼Á
ÒѾÓÐ4È˻ظ´
086000ÉúÎïÓëÒ½Ò©292Çóµ÷¼Á
ÒѾÓÐ5È˻ظ´
±±¿Æ281ѧ˶²ÄÁÏÇóµ÷¼Á
ÒѾÓÐ14È˻ظ´
²ÄÁÏÓ뻯¹¤ 322Çóµ÷¼Á
ÒѾÓÐ5È˻ظ´
333Çóµ÷¼Á
ÒѾÓÐ11È˻ظ´
²ÄÁÏר˶ 335 ·ÖÇóµ÷¼Á
ÒѾÓÐ3È˻ظ´
intro987
Ìú¸Ëľ³æ (СÓÐÃûÆø)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 9662.2
- É¢½ð: 13
- ºì»¨: 1
- Ìû×Ó: 134
- ÔÚÏß: 54.3Сʱ
- ³æºÅ: 628465
- ×¢²á: 2008-10-17
- ÐÔ±ð: GG
- רҵ: ÀíÂۺͼÆË㻯ѧ
¡ï ¡ï
jghe(½ð±Ò+2,VIP+0):¸ÐлÄã²ÎÓëÌÖÂÛ£¡
jghe(½ð±Ò+2,VIP+0):¸ÐлÄã²ÎÓëÌÖÂÛ£¡
|
ÎÒʹÓÃDOSCAR´¦ÀíµÄ£¬Ó¦¸ÃºÍPROCARÊÇÒ»Æð³öÀ´µÄ½á¹û£¬ÀïÃæºÜ¶àÁÐÊý¾Ý£¬µÚÒ»ÁÐÊÇÄÜÁ¿£¬ºóÃæ¶ÔÓ¦s, p_y, p_z, p_x, d_xy, d_yz, d_z2, d_xz, d_x2-y2¹ìµÀ£¨VASP³öÀ´µÄ½á¹ûÓ¦¸Ã˳Ðò¶¼ÊÇÒ»ÑùµÄ£©¡£Êý¾ÝÉÏÏÂ˳Ðò¶ÔÓ¦POSCARÀïÃæµÄÔ×Ó˳Ðò lev00ÊÇ´¦ÀíµçºÉÃܶȵģ¬p4vaspÎÒÖ»ÓÃÀ´´ò¿ª¹ýPOSCAR£¬Ã»ÊÔ¹ýPROCAR£¬¿ÉÄܲ»Ö§³ÖÕâÖÖÀàÐͰÉ~ |
2Â¥2008-12-04 18:43:48
hym5701
ľ³æ (СÓÐÃûÆø)
- 1STÇ¿Ìû: 1
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 4204.3
- É¢½ð: 3
- Ìû×Ó: 174
- ÔÚÏß: 75.8Сʱ
- ³æºÅ: 574617
- ×¢²á: 2008-06-16
- רҵ: Äý¾Û̬ÎïÐÔ II £ºµç×ӽṹ
¡ï ¡ï
jghe(½ð±Ò+2,VIP+0):ллÄãÌṩµÄ×ÊÔ´£¡
jghe(½ð±Ò+2,VIP+0):ллÄãÌṩµÄ×ÊÔ´£¡
|
ÍøÉϲ»ÊÇÓÃvaspµÄһЩtoolsÂð£¬ÀïÃæ¾ÍÓÐÒ»¸ö·ÖÎöPROCARµÄÎļþ£¬ÎļþÃûÊÇdos-procar.f£¬ÄãÏÖ½«Õâ¸öÎļþ±àÒëһϣ¬È»ºó¾ÍÔËÐÐÕâ¸öÎļþ£¬Ëû»áÌáʾÄãÒª¸Éʲô£¬ÔËÐÐÍêºó£¬¾Í¿ÉÒԵõ½totdos¡£dat ºÍldos¡£dat£¬½Ó×ÅÓÃoriginµÈ»Í¼¾Í¿ÉÒÔÁË¡£ |
3Â¥2008-12-04 20:22:30
huangyc
ľ³æ (ÕýʽдÊÖ)
- Ó¦Öú: 2 (Ó×¶ùÔ°)
- ½ð±Ò: 2242.1
- É¢½ð: 12
- ºì»¨: 2
- Ìû×Ó: 411
- ÔÚÏß: 312.5Сʱ
- ³æºÅ: 624241
- ×¢²á: 2008-10-12
- רҵ: ÀíÂۺͼÆË㻯ѧ
4Â¥2008-12-05 11:15:55
hym5701
ľ³æ (СÓÐÃûÆø)
- 1STÇ¿Ìû: 1
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 4204.3
- É¢½ð: 3
- Ìû×Ó: 174
- ÔÚÏß: 75.8Сʱ
- ³æºÅ: 574617
- ×¢²á: 2008-06-16
- רҵ: Äý¾Û̬ÎïÐÔ II £ºµç×ӽṹ
¡ï ¡ï
wuli8(½ð±Ò+2,VIP+0):¸ÐлÄúµÄ½»Á÷£¡(*^__^*) ¡¡
wuli8(½ð±Ò+2,VIP+0):¸ÐлÄúµÄ½»Á÷£¡(*^__^*) ¡¡
|
²»¿ÉÄܰÉÎÒ¶¼±àÒë¹ý°¡£¬ÄãÊÇÕâô±àÒëµÄ£¬ÃüÁîÌù³öÀ´¿´¿´ |
5Â¥2008-12-05 14:15:52
cuihang
Ìú¸Ëľ³æ (ÕýʽдÊÖ)
VASPer
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 7507.1
- É¢½ð: 17
- ºì»¨: 2
- Ìû×Ó: 697
- ÔÚÏß: 78.5Сʱ
- ³æºÅ: 447551
- ×¢²á: 2007-11-01
- ÐÔ±ð: GG
- רҵ: Äý¾Û̬ÎïÐÔI:½á¹¹¡¢Á¦Ñ§ºÍ

6Â¥2008-12-05 18:21:34
wyl04
½ð³æ (СÓÐÃûÆø)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 887.1
- Ìû×Ó: 74
- ÔÚÏß: 55.3Сʱ
- ³æºÅ: 449025
- ×¢²á: 2007-11-02
- רҵ: Äý¾Û̬ÎïÐÔI:½á¹¹¡¢Á¦Ñ§ºÍ
¡ï ¡ï ¡ï
wuchenwf(½ð±Ò+3,VIP+0):xiexie
wuchenwf(½ð±Ò+3,VIP+0):xiexie
|
implicit real*8(a-h,o-z) parameter (nkd =900) parameter (nbd = 50 ) parameter (natmd = 20) parameter (ned = 1001) dimension dump(20),oc(nkd,nbd,natmd,4),eig_ev(nkd,nbd),wt(nkd) dimension ee(ned),gpdos(ned),gpdost(ned) dimension gpdos_s(ned),gpdos_p(ned),gpdos_d(ned) open(7,file='PROCAR') pi = 3.141592654 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 if (ispin.eq.1) then open(31,file='ldos.dat') open(32,file='dos-tot.dat') elseif (ispin.eq.2) then open(31,file='ldos-up.dat') open(32,file='dos-tot-up.dat') open(41,file='ldos-dn.dat') open(42,file='dos-tot-dn.dat') endif write(6,*) ' Enter fermi energy: ' read(5,*) fermi c write(6,102) fermi read(7,103) dump c write(6,103) dump write(6,*) 'which atom (na) you want to plot LDOS:' read(5,*) na write(6,*) 'enter the gaussian smearing factor:' read(5,*) gaussian do 9000 isp=1,ispin read(7,104) nk,nband,nion c write(6,104) nk,nband,nion if (nk .gt. nkd) stop ' nk too large ' emin = 1000.0 emax = -1000.0 do 1000 k = 1,nk read(7,103) dump read(7,105) kp,pt1,pt2,pt3,wt(k) c write(6,105) kp,pt1,pt2,pt3,wt(k) read(7,103) dump do nb = 1,nband read(7,106) nb1,eig_ev(k,nb),occ c write(6,106) nb1,eig_ev(k,nb),occ eig_ev(k,nb) = eig_ev(k,nb)-fermi if (eig_ev(k,nb) .gt. emax) emax = eig_ev(k,nb) if (eig_ev(k,nb) .lt. emin) emin = eig_ev(k,nb) 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 + wt(k) enddo do k = 1,nk wt(k) = wt(k) / weight enddo c estart_ev = - 5.0 c eend_ev = 2.0 estart_ev = int(emin -1.0) eend_ev = int(emax +1.0) netot = 701 de_ev = (eend_ev - estart_ev)/(netot-1) do 2000 ne = 1, netot ee(ne) = estart_ev + (ne-1) * de_ev gpdos(ne) = 0.0d0 gpdos_s(ne) = 0.0d0 gpdos_p(ne) = 0.0d0 gpdos_d(ne) = 0.0d0 gpdost(ne) = 0.0d0 2000 continue ascal = de_ev / ( gaussian * sqrt(pi) ) ascal = 1.0 / ( gaussian * sqrt(pi) ) scal_spin = 2.0 do 5000 k=1,nk do 4000 nb=1,nband ddos = scal_spin * oc(k,nb,na,4)*wt(k) ddos_s = scal_spin * oc(k,nb,na,1)*wt(k) ddos_p = scal_spin * oc(k,nb,na,2)*wt(k) ddos_d = scal_spin * oc(k,nb,na,3)*wt(k) ddost = scal_spin *wt(k) do ne = 1,netot dij = ( eig_ev(k,nb) - ee(ne) )**2 / (gaussian**2) gpdos(ne) = gpdos(ne) + ascal * ddos * exp(-dij) gpdos_s(ne) = gpdos_s(ne) + ascal * ddos_s * exp(-dij) gpdos_p(ne) = gpdos_p(ne) + ascal * ddos_p * exp(-dij) gpdos_d(ne) = gpdos_d(ne) + ascal * ddos_d * exp(-dij) gpdost(ne) = gpdost(ne) + ascal * ddost * exp(-dij) enddo 4000 continue 5000 continue do 6000 ne = 1,netot if (gpdos(ne) .lt. 1.0E-29) gpdos(ne)=0.0 if (gpdos_s(ne) .lt. 1.0E-29) gpdos_s(ne)=0.0 if (gpdos_p(ne) .lt. 1.0E-29) gpdos_p(ne)=0.0 if (gpdos_d(ne) .lt. 1.0E-29) gpdos_d(ne)=0.0 if (gpdost(ne) .lt. 1.0E-29) gpdost(ne)=0.0 write(21+10*isp,108) ee(ne),gpdos(ne),gpdos_s(ne),gpdos_p(ne) & ,gpdos_d(ne) write(22+10*isp,108) ee(ne),gpdost(ne) 6000 continue 9000 continue 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) 108 format(f10.5,4e12.4) stop end |
7Â¥2008-12-05 18:57:53
wyl04
½ð³æ (СÓÐÃûÆø)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 887.1
- Ìû×Ó: 74
- ÔÚÏß: 55.3Сʱ
- ³æºÅ: 449025
- ×¢²á: 2007-11-02
- רҵ: Äý¾Û̬ÎïÐÔI:½á¹¹¡¢Á¦Ñ§ºÍ
¡ï ¡ï
fegg7502(½ð±Ò+2,VIP+0):thanks
fegg7502(½ð±Ò+2,VIP+0):thanks
|
procar->bands 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 |
8Â¥2008-12-05 19:03:18
huangyc
ľ³æ (ÕýʽдÊÖ)
- Ó¦Öú: 2 (Ó×¶ùÔ°)
- ½ð±Ò: 2242.1
- É¢½ð: 12
- ºì»¨: 2
- Ìû×Ó: 411
- ÔÚÏß: 312.5Сʱ
- ³æºÅ: 624241
- ×¢²á: 2008-10-12
- רҵ: ÀíÂۺͼÆË㻯ѧ
9Â¥2008-12-07 19:38:55
hym5701
ľ³æ (СÓÐÃûÆø)
- 1STÇ¿Ìû: 1
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 4204.3
- É¢½ð: 3
- Ìû×Ó: 174
- ÔÚÏß: 75.8Сʱ
- ³æºÅ: 574617
- ×¢²á: 2008-06-16
- רҵ: Äý¾Û̬ÎïÐÔ II £ºµç×ӽṹ
¡ï ¡ï
zdhlover(½ð±Ò+2,VIP+0):·Ç³£¸Ðл£¬»¶Ó³£À´
zdhlover(½ð±Ò+2,VIP+0):·Ç³£¸Ðл£¬»¶Ó³£À´
|
Ææ¹ÖÁË£¬ÄãΪʲôҪ½«f¸Ä³Éf90ÄØ£¬¸ÄÁ˵±È»¾Í´íÁËÏÂÃæÊÇÎÒ±àÒëµÄÐÅÏ¢£¬Ã»ÓÐÈκδíÎóÐÅÏ¢Äã¿´¿´°É [root@localhost ~]# ls anaconda-ks.cfg Desktop dos-procar.f install.log install.log.syslog xcrys_tmp [root@localhost ~]# ifort -o dos-procar dos-procar.f [root@localhost ~]# ls anaconda-ks.cfg Desktop dos-procar dos-procar.f install.log install.log.syslog xcrys_tmp [root@localhost ~]# ./dos-procar Spin polarized calculation? (no=1,yes=2): 1 Enter fermi energy: ....................................... ....... [ Last edited by hym5701 on 2008-12-7 at 21:35 ] |
10Â¥2008-12-07 21:34:54













»Ø¸´´ËÂ¥