Znn3bq.jpeg
ÉÇÍ·´óѧº£Ñó¿ÆÑ§½ÓÊܵ÷¼Á
²é¿´: 439  |  »Ø¸´: 2
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£
µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû

guifan

ľ³æ (ÖøÃûдÊÖ)

[½»Á÷] ¡¾ÇóÖú¡¿ÔÚVASPÖÐÄÜ·ñÊä³öd-t2gµÄ̬Ãܶȣ¿

ÇëÎʸ÷λ³æÓÑ£¬ÄÜ·ñÓÃVASP¼ÆËã³öd-t2gµÄDOS£¿
ÆÚ´ý´ó¼ÒµÄÖ¸µã
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

µÆËþÊØÍûÕß

Ìú¸Ëľ³æ (ÕýʽдÊÖ)

¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï
Сľ³æ(½ð±Ò+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
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
²é¿´È«²¿ 3 ¸ö»Ø´ð

liluyan

Òø³æ (ÕýʽдÊÖ)

¡ï ¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû½»Á÷
freshgirl(½ð±Ò+1,VIP+0):лл²ÎÓë~ 9-23 14:12
µ±È»Äܰ¡,¼ÆËãʱÉèÖÃLORBIT=11,È»ºó¿ÉÒÔÕÒÏàÓ¦µÄ¹¤¾ßÀ´»­¸÷¸ö¹ìµÀµÄ̬ÃܶȾͿÉÒÔÁË,±ÈÈçp4vasp¾ÍºÜ·½±ã°¡
2Â¥2009-09-23 13:45:27
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 297£¬¹¤¿Æµ÷¼Á?ºÓÄÏũҵ´óѧ±¾¿Æ +10 ºÓÄÏũҵ´óѧ-ÄÜ 2026-04-14 10/500 2026-04-15 13:30 by Î÷±±Íû¡ª·çɳ
[¿¼ÑÐ] 297£¬¹¤¿Æµ÷¼Á? +7 ºÓÄÏũҵ´óѧ-ÄÜ 2026-04-14 7/350 2026-04-15 13:26 by Î÷±±Íû¡ª·çɳ
[¿¼ÑÐ] Ò»Ö¾Ô¸Öйú¿ÆÑ§ÔºÉϺ£ÓлúËù£¬Óлú»¯Ñ§356·ÖÕÒµ÷¼Á +12 Nadiums 2026-04-09 13/650 2026-04-14 17:54 by lhj2009
[¿¼ÑÐ] ҩѧ305Çóµ÷¼Á +10 Â꿨°Í¿¨boom 2026-04-10 10/500 2026-04-14 15:55 by zs92450
[¿¼ÑÐ] ¿¼Ñе÷¼Á +13 ³¤¹­°Á 2026-04-13 14/700 2026-04-14 14:44 by zs92450
[¿¼ÑÐ] 085408¹âµçÐÅÏ¢¹¤³Ìר˶355Ò»Ö¾Ô¸³¤´º¹â»úËùµ÷¼Á +6 Íõymaa 2026-04-13 13/650 2026-04-14 11:33 by Íõymaa
[¿¼ÑÐ] Ò»Ö¾Ô¸ÖÐÄÏ´óѧ 0855 »úе 286 Çóµ÷¼Á +11 ²»»á³ÔÈâ 2026-04-12 11/550 2026-04-13 21:59 by bljnqdcc
[¿¼ÑÐ] 290Çóµ÷¼Á +18 ¿Â»´È» 2026-04-12 20/1000 2026-04-13 12:56 by cyh¡ª315
[¿¼ÑÐ] 296Çóµ÷¼Á +14 Íô£¡£¿£¡ 2026-04-10 16/800 2026-04-12 10:48 by zhouyuwinner
[¿¼ÑÐ] µçÆø¹¤³Ìר˶320Çóµ÷¼Á +5 СÂé×Ó111 2026-04-10 5/250 2026-04-12 10:47 by zhouyuwinner
[¿¼ÑÐ] 0854µ÷¼Á +12 ³¤¹­°Á 2026-04-09 13/650 2026-04-12 09:56 by ÄæË®³Ë·ç
[¿¼ÑÐ] ±¾ÈËÅ®º¢ +7 ºðºð£¬ 2026-04-10 9/450 2026-04-11 14:45 by ACS Nano¡ª¡ª
[¿¼ÑÐ] 283Çóµ÷¼Á +22 ÄǸöàà×Ó 2026-04-09 22/1100 2026-04-11 10:41 by ÄæË®³Ë·ç
[¿¼ÑÐ] ũҵ¹ÜÀí302·ÖÇóµ÷¼Á +3 xuening1 2026-04-10 3/150 2026-04-11 10:18 by zhq0425
[¿¼ÑÐ] ¹ã¶«Ê¡ 085601 329·ÖÇóµ÷¼Á +14 Eddieddd 2026-04-10 14/700 2026-04-11 09:58 by bljnqdcc
[¿¼ÑÐ] 22408µ÷¼ÁÇóÖú +7 ì±12 2026-04-09 9/450 2026-04-11 09:23 by ŶŶ123
[¿¼ÑÐ] ±¾¿Æ211 ¹¤¿Æ085400 280·ÖÇóµ÷¼Á ¿É¿çרҵ +11 LZH£¨µÈ´ýµ÷¼ÁÖÐ 2026-04-10 11/550 2026-04-11 08:39 by zhq0425
[¿¼ÑÐ] ¿¼Ñе÷¼Á-²ÄÁÏÀà-284 +28 Ïë»»ÊÖ»ú²»Ïë½âÊ 2026-04-08 28/1400 2026-04-09 20:08 by µ¹Êý321?
[¿¼ÑÐ] ¸´ÊÔµ÷¼Á£¬Ò»Ö¾Ô¸Ö£ÖÝ´óѧ²ÄÁÏÓ뻯¹¤289·Ö +31 ˶ÐǸ° 2026-04-08 31/1550 2026-04-09 16:54 by Delta2012
[¿¼ÑÐ] ¿¼ÑÐÇóµ÷¼Á +4 ö©??? 2026-04-08 4/200 2026-04-08 21:44 by ÍÁľ˶ʿÕÐÉú
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û