| ²é¿´: 4064 | »Ø¸´: 59 | ||
| ±¾Ìû²úÉú 3 ¸ö ³ÌÐòÇ¿Ìû £¬µã»÷ÕâÀï½øÐв鿴 | ||
| µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû | ||
Gina88ľ³æ (ÕýʽдÊÖ)
|
[ÇóÖú]
дÁËÒ»¸öfortran90µÄС³ÌÐò£¬±àÒëͨ²»¹ý£¬Çë´óÏÀ°ïæ
|
|
|
program cell-POSCAR !announcement begin*********************************** implicit none real(8)::cellcon(3,3) !lattice constance real(8),allocatable::atomcoor(:, !direct coordinate of atoms integer,allocatable::type( ![]() integer i,j,k,m,n !m:atom number,n:type number character(len=1) nonsense !to contain something that will not be used character(len=2) position !to read % character(len=2) element1,element2 !End announcement************************************ !Begin reading data from "cell"**************************** open(unit=18,file="cell",status="old" ![]() read(18,*)nonsense do i=1,3 read(18,*)cellcon(i,1),cellcon(i,2),cellcon(i,3) end do read(18,*)position read(18,*)nonsense read(18,*)nonsense n=0;m=0 read(18,*)element2 do while(position/=element2) n=n+1 element1=element2 do while(element1==element2) m=m+1 read(18,*)element2 end do end do close(18) allocate(type(n)) allocate(atomcoor(m,3)) open(unit=28,file="cell",status="old" ![]() read(28,*)nonsense read(28,*)nonsense read(28,*)nonsense read(28,*)nonsense read(28,*)nonsense read(28,*)nonsense read(28,*)nonsense read(28,*)element2,atomcoor(1,1),atomcoor(1,2),atomcoor(1,3) i=1;k=1 element1=element2 if (m==1) then type(1)=1 else if do j=2,m read(28,*)element2,atomcoor(j,1),atomcoor(j,2),atomcoor(j,3) if(element1==element2) then k=k+1 if(m==j) type(i)=k else if type(i)=k i=i+1 element1=element2 k=1 if(m==j) type(i)=k end if end do end if close(28) !End reading data from "cell"**************************** !Begin writing to "POSCAR"****************************** open(unit=38,file="POSCAR",status="replace" ![]() write(38,10)System write(38,100)cellcon(1,1) do i=1,3 write(38,200)(cellcon(i,j)/cellcon(1,1),j=1,3) end do write(38,60)(type(i),i=1,n) write(38,20)Selective,dynamic write(38,30)Direct do i=1,m write(38,300)(atomcoor(i,j),j=1,3) end do 10 FORMAT(1X,A6) 20 FORMAT(1X,A9,1X,A7) 30 FORMAT(1X,A6) 60 FORMAT(1X,n(I3,2X)) 100 FORMAT(1X,F18.16) 200 FORMAT(1X,3(F18.16,3X)) 300 FORMAT(1X,F18.16,2X,F18.16,2X,F18.16,2X,'T',2X,'T',2X,'T') close(38) !End writing to "POSCAR"******************************** end |
» ²ÂÄãϲ»¶
304Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
²ÄÁϹ¤³Ìר˶µ÷¼Á
ÒѾÓÐ6È˻ظ´
Ò»Ö¾Ô¸Ìì´ó²ÄÁÏÓ뻯¹¤£¨085600£©×Ü·Ö338
ÒѾÓÐ4È˻ظ´
085700×ÊÔ´Óë»·¾³308Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
Çó²ÄÁϵ÷¼Á
ÒѾÓÐ8È˻ظ´
294Çóµ÷¼Á²ÄÁÏÓ뻯¹¤×¨Ë¶
ÒѾÓÐ5È˻ظ´
Ò»Ö¾Ô¸»ªÖпƼ¼´óѧ£¬080502£¬354·ÖÇóµ÷¼Á
ÒѾÓÐ4È˻ظ´
Ò»Ö¾Ô¸¼ªÁÖ´óѧ²ÄÁÏѧ˶321Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
085410È˹¤ÖÇÄÜר˶317Çóµ÷¼Á£¨0854¶¼¿ÉÒÔ£©
ÒѾÓÐ3È˻ظ´
330Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:
´óÏÀÃÇ£¬¸øµã¶ù½¨Òé°¡¡£¡£¡£
ÒѾÓÐ7È˻ظ´
CASTEPÔÚ¼ÆËãÊdzöÏÖÎÊÌâÀ²£¬Çó´óÏÀ°ïæ°¡¡£¡£¡£
ÒѾÓÐ13È˻ظ´
²»Í¬¹¦ÄÜvaspµÄ±àÒë
ÒѾÓÐ4È˻ظ´
Ò»¸öFORTRAN90³ÌÐò£¬Ô½½çÁË£¬Ï£Íû¸ßÊÖ°ïÖú
ÒѾÓÐ5È˻ظ´
Çë½ÌÒ»¸öfortranС³ÌÐò±àÒë³ö´íµÄÎÊÌ⣬лл
ÒѾÓÐ9È˻ظ´
ÓйØfortranµÄÒ»´Î¶øÎÊÌ⣬ϣÍû´ó¼ÒÄܰï°ï棬лл
ÒѾÓÐ4È˻ظ´
¡¾ÇóÖú¡¿ÓÃfortranÔõôÃèÊöÏÂÃæÕâÑùµÄÇé¿ö£¬ÎÒÊÇÐÂÊÖ£¬Çë´ó¼Ò°ïæ
ÒѾÓÐ8È˻ظ´
¡¾ÇóÖú¡¿ÇóFortran90±àÒëÆ÷£¿
ÒѾÓÐ11È˻ظ´
¡¾ÇóÖú¡¿°ïæ±à¸öÓÃÓÚVASPС³ÌÐò
ÒѾÓÐ22È˻ظ´
Gina88
ľ³æ (ÕýʽдÊÖ)
- Ó¦Öú: 9 (Ó×¶ùÔ°)
- ½ð±Ò: 3328.8
- É¢½ð: 124
- ºì»¨: 8
- Ìû×Ó: 395
- ÔÚÏß: 113Сʱ
- ³æºÅ: 1047684
- ×¢²á: 2010-06-26
- רҵ: ÀíÂۺͼÆË㻯ѧ
5Â¥2011-05-04 17:59:54
Gina88
ľ³æ (ÕýʽдÊÖ)
- Ó¦Öú: 9 (Ó×¶ùÔ°)
- ½ð±Ò: 3328.8
- É¢½ð: 124
- ºì»¨: 8
- Ìû×Ó: 395
- ÔÚÏß: 113Сʱ
- ³æºÅ: 1047684
- ×¢²á: 2010-06-26
- רҵ: ÀíÂۺͼÆË㻯ѧ
|
Õâ¸öÊÇcellµÄÄÚÈÝ %BLOCK LATTICE_CART 12.782529349912258 -0.000000000000028 0.000000000000001 -0.000000000000000 13.529995000000000 0.000000000000001 0.000000000000000 0.000000000000000 10.000000000000000 %ENDBLOCK LATTICE_CART %BLOCK POSITIONS_FRAC H 0.0555000007152556 0.1666999995708470 0.5000000000000000 H 0.2221666673819220 0.0666999995708464 0.5000000000000000 H 0.1110555562708110 0.0666999995708466 0.5000000000000000 H 0.1110555562708110 0.0666999995708466 0.5000000000000000 C 0.2777222229374780 0.1666999995708470 0.5000000000000000 C 0.3888333340485890 0.1666999995708470 0.5000000000000000 C 0.5555000007152560 0.0666999995708465 0.5000000000000000 S 0.4443888896041450 0.0666999995708466 0.5000000000000000 S 0.6110555562708110 0.1666999995708470 0.5000000000000000 si 0.6110555562708110 0.1666999995708470 0.5000000000000000 %ENDBLOCK POSITIONS_FRAC |
2Â¥2011-05-04 17:52:59
Gina88
ľ³æ (ÕýʽдÊÖ)
- Ó¦Öú: 9 (Ó×¶ùÔ°)
- ½ð±Ò: 3328.8
- É¢½ð: 124
- ºì»¨: 8
- Ìû×Ó: 395
- ÔÚÏß: 113Сʱ
- ³æºÅ: 1047684
- ×¢²á: 2010-06-26
- רҵ: ÀíÂۺͼÆË㻯ѧ
3Â¥2011-05-04 17:56:30
Gina88
ľ³æ (ÕýʽдÊÖ)
- Ó¦Öú: 9 (Ó×¶ùÔ°)
- ½ð±Ò: 3328.8
- É¢½ð: 124
- ºì»¨: 8
- Ìû×Ó: 395
- ÔÚÏß: 113Сʱ
- ³æºÅ: 1047684
- ×¢²á: 2010-06-26
- רҵ: ÀíÂۺͼÆË㻯ѧ
|
program cell-POSCAR !announcement begin*********************************** implicit none real(8)::cellcon(3,3) !lattice constance real(8),allocatable::atomcoor(:, !direct coordinate of atoms integer,allocatable::type( ![]() integer i,j,k,m,n !m:atom number,n:type number character(len=1) nonsense !to contain something that will not be used character(len=2) position !to read % character(len=2) element1,element2 !End announcement************************************ !Begin reading data from "cell"**************************** open(unit=18,file="cell",status="old" ![]() read(18,*)nonsense do i=1,3 read(18,*)cellcon(i,1),cellcon(i,2),cellcon(i,3) end do read(18,*)position read(18,*)nonsense read(18,*)nonsense n=0;m=0 read(18,*)element2 do while(position/=element2) n=n+1 element1=element2 do while(element1==element2) m=m+1 read(18,*)element2 end do end do close(18) allocate(type(n)) allocate(atomcoor(m,3)) open(unit=28,file="cell",status="old" ![]() read(28,*)nonsense read(28,*)nonsense read(28,*)nonsense read(28,*)nonsense read(28,*)nonsense read(28,*)nonsense read(28,*)nonsense read(28,*)element2,atomcoor(1,1),atomcoor(1,2),atomcoor(1,3) i=1;k=1 element1=element2 if (m==1) then type(1)=1 else if do j=2,m read(28,*)element2,atomcoor(j,1),atomcoor(j,2),atomcoor(j,3) if(element1==element2) then k=k+1 if(m==j) type(i)=k else if type(i)=k i=i+1 element1=element2 k=1 if(m==j) type(i)=k end if end do end if close(28) !End reading data from "cell"**************************** !Begin writing to "POSCAR"****************************** open(unit=38,file="POSCAR",status="replace" ![]() write(38,10)System write(38,100)cellcon(1,1) do i=1,3 write(38,200)(cellcon(i,j)/cellcon(1,1),j=1,3) end do write(38,60)(type(i),i=1,n) write(38,20)Selective,dynamic write(38,30)Direct do i=1,m write(38,300)(atomcoor(i,j),j=1,3) end do 10 FORMAT(1X,A6) 20 FORMAT(1X,A9,1X,A7) 30 FORMAT(1X,A6) 60 FORMAT(1X,n(I3,2X)) 100 FORMAT(1X,F18.16) 200 FORMAT(1X,3(F18.16,3X)) 300 FORMAT(1X,F18.16,2X,F18.16,2X,F18.16,2X,'T',2X,'T',2X,'T') close(38) !End writing to "POSCAR"******************************** end |
4Â¥2011-05-04 17:58:28













!direct coordinate of atoms 
»Ø¸´´ËÂ¥