24СʱÈÈÃŰæ¿éÅÅÐаñ    

²é¿´: 3483  |  »Ø¸´: 4
µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû

ľ×Ó»¯Ê®ÎÄÎä

½ð³æ (СÓÐÃûÆø)

[ÇóÖú] list-directed I/O syntax error,unit 12

fortran±àÒëºÍÔËÐж¼Í¨¹ýÁË£¬execute programʱ³öÏÖÁËÕâ¸öÎÊÌ⣬³öÎÊÌâµÄÐÐÊÇÔÚ¶ÁMEÎļþµÄʱºò£¬ÇëÎÊÕâ¿ÉÄÜÊÇʲôԭÒòѽ£¿¼±¼±¼±£¬ÏÈлл¸÷λ¸ßÊÖÁË£¡£¡£¡
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

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

ľ×Ó»¯Ê®ÎÄÎä

½ð³æ (СÓÐÃûÆø)

ÒýÓûØÌû:
2Â¥: Originally posted by snoopyzhao at 2011-10-18 20:23:38:
Ìù´úÂ룬ÒÔ¼°Ó¦µÄÊý¾ÝÎļþ¡­¡­

ÁíÍ⣬Äã¿ÉÒԲο¼ÕâÀ×Ô¼ºÅųýһϣº
http://software.intel.com/en-us/forums/showthread.php?t=51831

ÄãºÃ£¬´íÎóÒѾ­ÕÒ³ö£¬²»Âé·³ÄãÁË£¬·Ç³£¸Ðл~
ƽºÍ£¡Ç«Ñ·£¡
4Â¥2011-10-19 09:35:29
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
²é¿´È«²¿ 5 ¸ö»Ø´ð

snoopyzhao

ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¡ï
jjdg(½ð±Ò+1): ¸Ðл²ÎÓë 2011-10-19 06:39:09
ľ×Ó»¯Ê®ÎÄÎä(½ð±Ò+5): ¡ïÓаïÖú 2012-01-08 11:18:34
Ìù´úÂ룬ÒÔ¼°Ó¦µÄÊý¾ÝÎļþ¡­¡­

ÁíÍ⣬Äã¿ÉÒԲο¼ÕâÀ×Ô¼ºÅųýһϣº
http://software.intel.com/en-us/forums/showthread.php?t=51831
2Â¥2011-10-18 20:23:38
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ľ×Ó»¯Ê®ÎÄÎä

½ð³æ (СÓÐÃûÆø)

ÒýÓûØÌû:
2Â¥: Originally posted by snoopyzhao at 2011-10-18 20:23:38:
Ìù´úÂ룬ÒÔ¼°Ó¦µÄÊý¾ÝÎļþ¡­¡­

ÁíÍ⣬Äã¿ÉÒԲο¼ÕâÀ×Ô¼ºÅųýһϣº
http://software.intel.com/en-us/forums/showthread.php?t=51831

!===================================================================
!¸Ã³ÌÐòÓÃÓÚ¼ÆËãTBÊÆ
!         
!===================================================================
program TBenergy
  implicit none

!===================================================================
!MEÎļþ¶ÁÈ¡ºÍÊäÈëÏà¹Ø±äÁ¿ÉùÃ÷
  real::mass1,mass2
  integer::seq_1,seq_2,seq_3,seq_4,seq_5,n_Au,n_Ag
  real::angle, rand_v, start_time, finish_time
  integer::bi,c,d
  character*4::elem(2)
  integer,allocatable::seq1(,seq2(
!===================================================================
!Ö÷³ÌÐò±äÁ¿ÉêÃ÷
  integer :: Natom, i, j, m, x_change1, x_change2, x_change3,element,ele(30000)
  real :: r, a_const(3), a_const0(3)
  real :: potential
  real :: pos_Au(25000, 3), pos_Ag(25000, 3), pos_r(3), pos_Au0(25000, 3), pos_Ag0(25000, 3)
  real :: min_energy,E0
  real :: ptable_r(70000, 3), ptable_b(70000, 3)
  real :: Rc, box_number, skin
  integer::flag,TB_ind,maxpair, Length_List
  real,allocatable :: pos(:,
  integer, allocatable :: point(:, , List(
  character*80 :: Input, SampIn, SampOut  
  namelist/ filename / SampIn, SampOut

  !common/resu/ potential
  common/ ene / ptable_r, ptable_b
  common/ canshu / Natom,Length_List,a_const,Rc
  common/min_one/min_energy,TB_ind
!=================================================================
  call cpu_time(start_time)
  open(13, file = 'TBsc.txt')
  read(13, filename)
  close(13)


!read the position of these atoms
!  ME  read the coordinate of atom
  open(12,file=SampIn,status='old')
  read(12,*)seq_1,(a_const0(i),i=1, 3)
  read(12,*)seq_2,angle,angle,angle
  read(12,*)seq_3,bi,bi
  read(12,*)seq_4,ele(1),c,n_Au,d     £¡³ö´íÐУ¡£¡£¡  
  allocate(seq1(n_Au))
  do i=1,n_Au
        read(12,*) seq1(i),ele(1),d,(pos_Au0(i,j),j=1,3),mass1
  enddo
  read(12,*)seq_5,ele(2),c,n_Ag,d
  allocate(seq2(n_Ag))
  do i=1,n_Ag
        read(12,*) seq2(i),ele(2),d,(pos_Ag0(i,j),j=1,3),mass2
  enddo
close(12)
box_number = a_const0(1)/3.72
Natom = n_Au + n_Ag
Length_List = Natom*Natom   !¸ü¸ÄÁË£¡£¡£¡
allocate( List(Length_List), point(Natom, 2))
allocate(pos(Natom,3))
ele(1:n_Au) = 1
ele((n_Au + 1):Natom) = 2
flag=1
min_energy=10000
do x_change1 = -5, 5, 1
  a_const(1) = a_const0(1)*(1 + x_change1*1.0/ 100.0)
  do x_change2 = -5, 5, 1
    a_const(2) = a_const0(2)*(1 + x_change2*1.0/ 100.0)  
    do x_change3 = -5, 5, 1
      a_const(3) = a_const0(3)*(1 + x_change1*1.0/ 100.0)


      do m = 1, 3
        pos_Au(:, m) = pos_Au0(:, m) * a_const(m)
        pos_Ag(:, m) = pos_Ag0(:, m) * a_const(m)
      end do
!======================================
      pos(1:n_Au, = pos_Au
      pos((n_Au + 1):Natom, = pos_Ag
      call potential(ptable_r, ptable_b)
      call update_list(list, point, pos)
      call energy_total(E0, pos, ele, List, point)
                          if(E0 < min_energy)   then
                        min_energy=E0
                        end if
     flag = flag + 1
    end do
  end do
end do
open (unit = 11, file = SampOut)   
write(*,*)'TB_energy', min_energy
write(11,*)'TB_energy', min_energy
close(11)
call cpu_time(finish_time)
write(*, *) 'running time = ', finish_time - start_time, 's'


end program TBenergy
!=================================================================

!=================================================================
subroutine update_list(list, point, pos)         !¸üÐÂÁÚ½üÔ­×Ó
  implicit none
  integer :: i, j, Natom, L, length_List
    common/ canshu / Natom,Length_List,a_const
  integer :: List(Length_List), point(Natom, 2)
  real :: pos(Natom, 3), pos_r(3)
  real :: r, Rc, skin, a_const

   Rc =7        !½Ø¶Ï°ë¾¶
   skin =  0.4  !¿ÉÒÔ²»ÓÃ
  List = 0
  point = 0
  L = 1
  do i = 1, Natom
    point(i, 1) = L      !point(i, Êý×éÓÃÓÚ´æ´¢iÔ­×ÓÁÚ½üÔ­×ÓÔÚListÊý×éÖеÄË÷ÒýºÅ£¬point(i, 1)Ϊ¿ªÊ¼,point(i, 2)ÖÕÁË£¨°üÀ¨i±¾Éí£©
loop_1 : do j = 1, Natom
          pos_r = (pos(i, - pos(j, )
!          pos_r = pos_r - a_const*nint(pos_r/a_const)  !ÖÜÆÚÐÔ±ß½ç          
          r = sqrt(sum(pos_r*pos_r))
          if(r<(Rc + skin)) then           !
            if(i.eq.j) cycle loop_1
                List(L) = j   !¾ØÕóάÊýÒç³ö
                L = L + 1
          endif
        enddo loop_1
        List(L) = i            !°ÑiÔ­×Ó±¾Éí´æÔÚpoint(i, 2)
        point(i, 2) = L
        L = L + 1
  enddo  
end subroutine update_List
!====================================================================

!===============================================================================
subroutine potential(ptable_r, ptable_b)
  implicit none
  integer :: i
  real :: A_p(3), e_p(3), p_p(3), q_p(3), r0_p(3)
  real :: ptable_r(50000, 3), ptable_b(50000, 3)

  A_p = (/0.2096, 0.1490, 0.1031/)
  e_p = (/1.8153, 1.4874, 1.1895/)
  p_p = (/10.139, 10.494, 10.850/)
  q_p = (/4.033, 3.607, 3.180/)
  r0_p = (/0.7738, 0.7350, 0.7751/)
  
  do i = 1, 50000
    ptable_r(i, = A_p*exp(-p_p*((i*1.0/10000)/r0_p - 1))        !- A_p*exp(-p_p*((50000*1.0/10000)/r0_p - 1))
  enddo
  do i = 1, 50000
    ptable_b(i, = e_p*e_p*exp(-2*q_p*((i*1.0/10000)/r0_p - 1))  !- e_p*e_p*exp(-2*q_p*((50000*1.0/10000)/r0_p - 1))
  enddo
end subroutine potential
!===============================================================================

!===============================================================================
subroutine energy_total(E, pos, ele, List, point)
  implicit none
  common/ ene / ptable_r, ptable_b
  common/ u_l / Natom, Length_List, rc, boxsize

  integer :: i, j
  integer :: Natom, length_List, Ir
  real :: pos(Natom, 3), pos_r(3)
  real :: r, rc, boxsize(3)
  real :: ptable_r(50000, 3), ptable_b(50000, 3), E, E_R, E_B
  integer :: point(Natom, 2), List(length_list), ele(Natom)
  E = 0
  do i = 1, Natom         ! ±éÀúϵͳËùÓÐÔ­×Ó£¬Çóϵͳ×ÜÄÜÁ¿
    E_R = 0
        E_B = 0
    do j = point(i, 1), (point(i, 2)-1)
          pos_r = (pos(i, - pos(List(j), )*boxsize
          !pos_r(1) = pos_r(1) - boxsize(1)*nint(pos_r(1)/boxsize(1))     ! ÖÜÆÚÐԱ߽çÌõ¼þ
          !pos_r(2) = pos_r(2) - boxsize(2)*nint(pos_r(2)/boxsize(2))
          !pos_r(3) = pos_r(3) - boxsize(3)*nint(pos_r(3)/boxsize(3))
          r = sqrt(sum(pos_r*pos_r))
          if(r.lt.Rc) then                !´Ë´¦ÓÐRc£¬¹ÊE_totalºÍRcÓйأ¬¼´¾§°û´óСºÍRcÓйأ»
            Ir = int(r*10000)
            E_R = E_R + ptable_r(Ir, ele(i) + ele(List(j)) - 1)
            E_B = E_B + ptable_b(Ir, ele(i) + ele(List(j)) - 1)
          endif
        enddo
        E = E + E_R - sqrt(E_B)
  enddo
end subroutine energy_total
!===============================================================================


TBsc.txt:
&filename
SampIn = '1.5cube.bdl'
SampOut = 'result_AuAg.txt'
/


лл´óÏÀ~
ƽºÍ£¡Ç«Ñ·£¡
3Â¥2011-10-19 08:45:29
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

chenpeng8495

гæ (³õÈëÎÄ̳)

ÒýÓûØÌû:
4Â¥: Originally posted by ľ×Ó»¯Ê®ÎÄÎä at 2011-10-19 09:35:29
ÄãºÃ£¬´íÎóÒѾ­ÕÒ³ö£¬²»Âé·³ÄãÁË£¬·Ç³£¸Ðл~...

ÄúºÃ ×îÖÕʲôÎÊÌâÄØ ¿É·ñ¸æÖªÏÂ
5Â¥2014-01-15 18:31:36
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[»ù½ðÉêÇë] 2026Äê8ÔÂ25ÈÕ¹ú×ÔÈ»·Å°ñǰͻȻÊÕµ½ÁÐÈëÆÀÉóר¼ÒÓʼþ£¬ÓйØÏµÂ𣿠+20 ľˮ˼¶¹ 2026-08-25 23/1150 2026-08-26 06:35 by echo8914667
[¹«Åɳö¹ú] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8.O.551.O.5.4,¿ÆÄ¿È«,¿ÉÙ¤¼± +3 PbwVEMK5haaE 2026-08-25 5/250 2026-08-26 05:09 by cNXvBfCpiZOM
[¿¼²©] ÊÛSCIÒ»ÇøT0PÎÄÕ£¬ÎÒ:8.O.55.1.O.5.4,¿ÆÄ¿È«,¿É+¼± +3 Qj98d49dHFb9 2026-08-25 5/250 2026-08-26 04:57 by cNXvBfCpiZOM
[¿¼ÑÐ] ÊÛSCIÒ»ÇøT0PÎÄÕ£¬ÎÒ:8.O.55.1.O.5.4,¿ÆÄ¿È«,¿É+¼± +3 7K1CJE38xLG4 2026-08-25 4/200 2026-08-26 02:04 by cNXvBfCpiZOM
[»ù½ðÉêÇë] ½ñÌìÎñί»á¿ªÍêÁË£¬Ã÷Ìì³ö½á¹ûÂð +18 angus9576 2026-08-25 22/1100 2026-08-26 00:41 by merchancy
[»ù½ðÉêÇë] ÔÚ¼á±ù»¹¸Ç×ű±º£µÄʱºò£¬ÎÒ¿´µ½ÁËÅ­·ÅµÄ÷»¨¡£ (½ð±Ò+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
[»ù½ðÉêÇë] ÓÐûÓдóÉñ°ïÎÒ¿´¿´»ù½ð´úÂë 28+4 1234567wang 2026-08-24 10/500 2026-08-25 19:15 by lfy8008
[»ù½ðÉêÇë] ·Å°ñǰµÄ²»µ­¶¨ 20+4 snowwithsea 2026-08-19 19/950 2026-08-25 17:57 by chick875
[»ù½ðÉêÇë] ½ñÈÕ²»·Å°ñ£¿Íø´«¹ú×ÔȻԤ¼Æ 8 Ô 27 Èտɲé½á¹û +17 ҽѧÀÏÄк¢ 2026-08-20 22/1100 2026-08-25 15:36 by ҽѧÀÏÄк¢
[»ù½ðÉêÇë] Èç¹û´Ë¿ÌÄãÕýÔÚΪ¹ú»ù¸Ðµ½½¹ÂÇ£¬²»·ÁÀ´ÌýÌýÕâÊס¶»ù½ðÖ®Íâ¡· +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[»ù½ðÉêÇë] ½ñÌì»ù½ð»á³ö½á¹ûÂð£¿20260819 +17 kkkl_v 2026-08-19 18/900 2026-08-25 09:41 by windflowerwy
[»ù½ðÉêÇë] ·¶½øÖоÙÒ»ÎĵÄÖÐÐÄ˼Ïë +7 Ñ׻ƹóëÐ 2026-08-22 8/400 2026-08-25 08:48 by ZJTJZ
[»ù½ðÉêÇë] filecode£¬4¸öjtjcÁË +14 ziyangfang 2026-08-19 17/850 2026-08-24 18:37 by ¹þ¹þ¸ò£¿
[»ù½ðÉêÇë] ½¨Òé»ù½ð·¢²¼Ìáǰ¸ø³öÃ÷È·µÄʱ¼äµã +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
[»ù½ðÉêÇë] ÈÃÎÒÖÐÒ»¸öÃæÉϰɣ¡ +13 ´óƼ1987 2026-08-20 16/800 2026-08-24 10:23 by ̫ɵÁË
[»ù½ðÉêÇë] ¿ÆÑй¶ùÌ«ÄÑÁË +18 ÎÒ4´ó°×²Ë 2026-08-20 19/950 2026-08-24 09:47 by ¿­¶÷¹ãÊ¢´ß»¯·ÖÎ
[»ù½ðÉêÇë] ½ñÌì·Å°ñÂ𣿠+15 ²¼²¼ºÍÒ»¶þ 2026-08-19 16/800 2026-08-23 09:55 by ÕÅ´ºÉú
[»ù½ðÉêÇë] ʱ¼ä´Á½ñÌ죬20ºÅ±äÁË +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[»ù½ðÉêÇë] ʱ¼ä´ÁÓÖ±äÁË +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by ×Ïɼ´¼
[»ù½ðÉêÇë] »ù½ð°¡»ù½ð +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û