| ²é¿´: 429 | »Ø¸´: 2 | |||
| µ±Ç°Ö÷ÌâÒѾ´æµµ¡£ | |||
guifanľ³æ (ÖøÃûдÊÖ)
|
[½»Á÷]
¡¾ÇóÖú¡¿ÔÚVASPÖÐÄÜ·ñÊä³öd-t2gµÄ̬Ãܶȣ¿
|
||
|
ÇëÎʸ÷λ³æÓÑ£¬ÄÜ·ñÓÃVASP¼ÆËã³öd-t2gµÄDOS£¿ ÆÚ´ý´ó¼ÒµÄÖ¸µã |
» ²ÂÄãϲ»¶
»úе¹¤³Ì264ѧ˶Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
264Çóµ÷¼Á
ÒѾÓÐ9È˻ظ´
Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
22408 266Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
Çóµ÷¼Á
ÒѾÓÐ14È˻ظ´
273Çóµ÷¼Á
ÒѾÓÐ43È˻ظ´
307Çóµ÷¼Á
ÒѾÓÐ13È˻ظ´
327Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
338Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
326·Ö£¬Ò»Ö¾Ô¸»¦9£¬ÇóÉúÎïѧµ÷¼Á
ÒѾÓÐ3È˻ظ´
liluyan
Òø³æ (ÕýʽдÊÖ)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 804.4
- Ìû×Ó: 382
- ÔÚÏß: 20.6Сʱ
- ³æºÅ: 538600
- ×¢²á: 2008-04-03
- ÐÔ±ð: MM
- רҵ: Äý¾Û̬ÎïÐÔ II £ºµç×ӽṹ
¡ï ¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
freshgirl(½ð±Ò+1,VIP+0):лл²ÎÓë~ 9-23 14:12
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
freshgirl(½ð±Ò+1,VIP+0):лл²ÎÓë~ 9-23 14:12
| µ±È»Äܰ¡,¼ÆËãʱÉèÖÃLORBIT=11,È»ºó¿ÉÒÔÕÒÏàÓ¦µÄ¹¤¾ßÀ´»¸÷¸ö¹ìµÀµÄ̬ÃܶȾͿÉÒÔÁË,±ÈÈçp4vasp¾ÍºÜ·½±ã°¡ |
2Â¥2009-09-23 13:45:27
µÆËþÊØÍûÕß
Ìú¸Ëľ³æ (ÕýʽдÊÖ)
- 1STÇ¿Ìû: 2
- Ó¦Öú: 28 (СѧÉú)
- ¹ó±ö: 0.015
- ½ð±Ò: 5815
- É¢½ð: 51
- ºì»¨: 40
- Ìû×Ó: 511
- ÔÚÏß: 943.5Сʱ
- ³æºÅ: 577747
- ×¢²á: 2008-06-27
- ÐÔ±ð: GG
- רҵ: Äý¾Û̬ÎïÐÔ II £ºµç×ӽṹ
¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
guifan(½ð±Ò+2,VIP+0): 9-30 21:09
wuchenwf(½ð±Ò+10,VIP+0):лл 10-1 22:36
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
guifan(½ð±Ò+2,VIP+0): 9-30 21:09
wuchenwf(½ð±Ò+10,VIP+0):лл 10-1 22:36
|
¸øÄãÒ»¸öÌáÈ¡t2, egµÄÔ´´úÂ룬×Ô¼º±àдµÄ£¬ÓÐЩ´Ö²Ú£¬½öÂú×ãÒ»°ãµÄÒªÇ󣬿ÉÒÔÌáÈ¡pdos,t2-eg dosÒÔ¼°»ý·Ö¡£Ö»Õë¶Ô¿¼ÂÇ×ÔÑ¡ÒÔ¼°²»¿¼ÂÇfµç×ÓµÄÇé¿öÏ£¬»¶ÓÖ¸Õý¡£ !initializing all parameters !E s-up s-down py-up py-down pz-up pz-down px-up ! px-down dxy-up dxy-down dyz-up dyz-down ! dz2-up dz2-down dxz-up dxz-down dx2-up dx2-down real*8,allocatable :: dos_matrix(:, ,integral_spdos(:, ,t2g_eg(:, ,pdos(:, ,integral_t2g_eg(:,![]() real*8 :: fermi,normalization,enmax,enmin,step integer(kind=8) :: i,j,rows,columns=19,nth,iserror character(len=8) filename write(*,*)"please input the number of atoms " read(*,*),nth open(unit=11,file='DOSCAR',form='formatted',status='old',iostat=iserror) if (iserror>0) then write(*,*)"The DOSCAR file does not exist" goto 200 end if !filename= "sitedos.dat" open(unit=12,file="SPDOS.dat",form='formatted',status='replace') open(unit=13,file='t2g_eg.dat',form='formatted',status='replace') open(unit=14,file='PDOS.dat',form='formatted',status='replace') open(unit=15,file='INSPDOS.dat',form='formatted',status='replace') open(unit=16,file='INt2g_eg.dat',form='formatted',status='replace') write(13,*)'# E,t2g_up,t2g_dn,eg_up,eg_dn' write(14,*)'# E,s_up,s_dn,p_up,p_dn,d_up,d_dn' !skip iformation of start do i=1,5 read (11,*) end do !read fermi energy and rows read (11,*)enmax,enmin,rows,fermi,normalizatio step=(enmax-enmin)/(rows-1) allocate(dos_matrix(rows,columns)) allocate(integral_spdos(rows,columns)) allocate(t2g_eg(rows,5)) allocate(pdos(rows,7)) allocate(integral_t2g_eg(rows,5)) integral_spdos(:, =0!skip to the nth atoms do i= 1,(rows+1) read(11,*) end do do i=1,rows read(11,'(19E12.5)')(dos_matrix(i,j),j=1,19) dos_matrix(i,1)=dos_matrix(i,1)-fermi do j=3,columns if((mod(j,2).EQ.1))then dos_matrix(i,j)=-1*dos_matrix(i,j) else endif end do !calcualte SPDOS, write SPDOS.dat file write(12,'(19E12.3)')(dos_matrix(i,j),j=1,19) !calcualte DOS of t2g and eg, write t2g_eg.dat file t2g_eg(i,1)=dos_matrix(i,1) !initializing all parameters !E s-up s-down py-up py-down pz-up pz-down px-up ! px-down dxy-up dxy-down dyz-up dyz-down ! dz2-up dz2-down dxz-up dxz-down dx2-up dx2-down real*8,allocatable :: dos_matrix(:, ,integral_spdos(:, ,t2g_eg(:, ,pdos(:, ,integral_t2g_eg(:,![]() real*8 :: fermi,normalization,enmax,enmin,step integer(kind=8) :: i,j,rows,columns=19,nth,iserror character(len=8) filename write(*,*)"please input the number of atoms " read(*,*),nth open(unit=11,file='DOSCAR',form='formatted',status='old',iostat=iserror) if (iserror>0) then write(*,*)"The DOSCAR file does not exist" goto 200 end if !filename= "sitedos.dat" open(unit=12,file="SPDOS.dat",form='formatted',status='replace') open(unit=13,file='t2g_eg.dat',form='formatted',status='replace') open(unit=14,file='PDOS.dat',form='formatted',status='replace') open(unit=15,file='INSPDOS.dat',form='formatted',status='replace') open(unit=16,file='INt2g_eg.dat',form='formatted',status='replace') write(13,*)'# E,t2g_up,t2g_dn,eg_up,eg_dn' write(14,*)'# E,s_up,s_dn,p_up,p_dn,d_up,d_dn' !skip iformation of start do i=1,5 read (11,*) end do !read fermi energy and rows read (11,*)enmax,enmin,rows,fermi,normalizatio step=(enmax-enmin)/(rows-1) allocate(dos_matrix(rows,columns)) allocate(integral_spdos(rows,columns)) allocate(t2g_eg(rows,5)) allocate(pdos(rows,7)) allocate(integral_t2g_eg(rows,5)) integral_spdos(:, =0!skip to the nth atoms do i= 1,(rows+1) read(11,*) end do do i=1,rows read(11,'(19E12.5)')(dos_matrix(i,j),j=1,19) dos_matrix(i,1)=dos_matrix(i,1)-fermi do j=3,columns if((mod(j,2).EQ.1))then dos_matrix(i,j)=-1*dos_matrix(i,j) else endif end do !calcualte SPDOS, write SPDOS.dat file write(12,'(19E12.3)')(dos_matrix(i,j),j=1,19) !calcualte DOS of t2g and eg, write t2g_eg.dat file t2g_eg(i,1)=dos_matrix(i,1) t2g_eg(i,2)=dos_matrix(i,10)+dos_matrix(i,12)+dos_matrix(i,16) t2g_eg(i,3)=dos_matrix(i,11)+dos_matrix(i,13)+dos_matrix(i,17) t2g_eg(i,4)=dos_matrix(i,14)+dos_matrix(i,18) t2g_eg(i,5)=dos_matrix(i,15)+dos_matrix(i,19) write(13,'(5E12.3)')(t2g_eg(i,j),j=1,5) !calculate PDOS and write PDOS.dat pdos(i,1)=dos_matrix(i,1) pdos(i,2)=dos_matrix(i,2) pdos(i,3)=dos_matrix(i,3) pdos(i,4)=dos_matrix(i,4)+dos_matrix(i,6)+dos_matrix(i,8) pdos(i,5)=dos_matrix(i,5)+dos_matrix(i,6)+dos_matrix(i,9) pdos(i,6)=t2g_eg(i,2)+t2g_eg(i,4) pdos(i,7)=t2g_eg(i,3)+t2g_eg(i,5) write(14,'(7E12.3)')(pdos(i,j),j=1,7) end do write(*,*)step !integrate SPDOS and write integral_spdos.dat integral_spdos(:,1)=dos_matrix(:,1) do i=2,rows do j=2, columns integral_spdos(i,j)=(dos_matrix(i-1,j)+dos_matrix(i,j))*step*0.5+integral_spdos(i-1,j) end do integral_t2g_eg(i,1)=integral_spdos(i,1) integral_t2g_eg(i,2)=integral_spdos(i,10)+integral_spdos(i,12)+integral_spdos(i,16) integral_t2g_eg(i,3)=integral_spdos(i,11)+integral_spdos(i,13)+integral_spdos(i,17) integral_t2g_eg(i,4)=integral_spdos(i,14)+integral_spdos(i,18) integral_t2g_eg(i,5)=integral_spdos(i,15)+integral_spdos(i,19) end do write(15,'(19F7.3)')((integral_spdos(i,j),j=1,19),i=1,rows) write(16,'(5F7.3)')((integral_t2g_eg(i,j),j=1,5),i=1,rows) deallocate (dos_matrix) deallocate (integral_spdos) deallocate (pdos) deallocate (t2g_eg) deallocate (integral_t2g_eg) close (11) close (12) close (13) close (14) close (15) close (16) 200 end |
3Â¥2009-09-30 10:33:10














»Ø¸´´ËÂ¥
,integral_spdos(:,