| ²é¿´: 4071 | »Ø¸´: 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 |
» ²ÂÄãϲ»¶
085600²ÄÁÏÓ뻯¹¤
ÒѾÓÐ6È˻ظ´
281Çóµ÷¼Á£¨0805£©
ÒѾÓÐ24È˻ظ´
265Çóµ÷¼Á
ÒѾÓÐ8È˻ظ´
0817 »¯Ñ§¹¤³Ì 299·ÖÇóµ÷¼Á ÓпÆÑоÀú ÓжþÇøÎÄÕÂ
ÒѾÓÐ21È˻ظ´
295²ÄÁÏÇóµ÷¼Á£¬Ò»Ö¾Ô¸Î人Àí¹¤085601ר˶
ÒѾÓÐ4È˻ظ´
0856µ÷¼Á£¬ÊÇѧУ¾ÍÈ¥
ÒѾÓÐ9È˻ظ´
298-Ò»Ö¾Ô¸Öйúũҵ´óѧ-Çóµ÷¼Á
ÒѾÓÐ9È˻ظ´
Çóµ÷¼Á
ÒѾÓÐ4È˻ظ´
ѧУÒѾÌá½»µ½NSFC£¬»¹ÄÜÐÞ¸ÄÂð£¿
ÒѾÓÐ7È˻ظ´
²ÄÁÏѧ˶297ÒѹýËÄÁù¼¶Çóµ÷¼ÁÍÆ¼ö
ÒѾÓÐ6È˻ظ´
» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:
´óÏÀÃÇ£¬¸øµã¶ù½¨Òé°¡¡£¡£¡£
ÒѾÓÐ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
- רҵ: ÀíÂۺͼÆË㻯ѧ
|
Äú˵µÄû´í£¬ÎÒµÄȷûÓÐд¹ýfortran³ÌÐò£¬Ò²Ã»ÓÐ×Ðϸ¿´¹ýÊé¡£ ¼¸Ììǰ¶¼²»ÖªµÀfortranµÄÄÇЩ¶«Î÷¡£ µ«ÊÇÒòΪ֪µÀÒ»µãCÓïÑÔ£¬Ç°ÃæÎªÁËÑо¿£¬µÃµ½Á˱ðÈ˵ijÌÐò´úÂë¡£ ¿´ÁËһϣ¬²»¶®µÄ²é°Ù¶È£¬È»ºó¾õµÃ³ÌÐò²»ÂúÒ⣬¾Í×Ô¼ºÐÞ¸ÄÁË£¬ ÒòΪ¼òµ¥£¬ËùÒÔÐ޸ijɹ¦ÁË¡£ ºóÀ´¾ÍÏë×Å×Ô¼ºÐ´µã´úÂëʵÏÖ½«ÄǸöcellÎļþת»»³ÉPOSCAR£¬È»ºó¾ÍºúÂÒдÁËÉÏÃæµÄ³ÌÐò£¬ÒòÎªÇ°ÃæµÃµ½±ðµÄ³ÌÐò¶¼ÊÇ77°æµÄ£¬¶øÇÒ¶¼ÊÇÊýÖµ£¬Ã»ÓÐ×Ö·û´®µÄ¡£´óÖµķÁË·Ê飬ÏÖÔÚÕâ¸öÊéÃ²ËÆºÜÉÙ°¡£¬Ò²²éÁ˲ébaidu£¬¾ÍÏ¡ÀïºýÍ¿µÄдÁË¡£ ×Ö·û´®ÎҲµ½ÓдíÁË£¬µ«ÊDz»ÖªµÀ¸ÃÔõôŪ£¬ËùÒԾͷ¢µ½ÕâÀïÀ´ÁË¡£Ïë×ÅţţÄܰïÎÒ½â¾öһϡ£ ·Ç³£¸ÐлÄúµÄÖ¸Õý¡£ ²»¹ýÄÜ·ñÏêϸһµã¸æËßÎÒʲôµØ·½Óï·¨´íÁË£¬Ó¦¸ÃÔõô¸ÄÄØ£¬Á÷ÀáÖÂлÁË |
8Â¥2011-05-04 22:28:31
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 
»Ø¸´´ËÂ¥