24小时热门版块排行榜    

查看: 570  |  回复: 4

牧雪长空

铜虫 (正式写手)

[求助] 菜鸟紧急求助!!

正在编一个求均方差位移的城西,各种错误百出。总是运行的时候提示数组越界:array bounds exceed。也不知道哪里出错了。下面是代码:
program main
implicit none
integer i,j,k
real*8,dimension(5000,160) :: xb,yb,zb,r,s
real*8,dimension(160)::t
real*8,dimension(4999)::r2,ms
real*8 dx,dy,dz
real*8,parameter :: npart=160,nstep=5000
real*8,parameter :: a=9.9222,b=15.9344,c=11.4808,dt=1

open (8,file='xdatcar')
   do i=1,5000
     do j=1,160
   read(8,*)xb(i,j),yb(i,j),zb(i,j)
        xb(i,j)=xb(i,j)*a
    yb(i,j)=yb(i,j)*b
        zb(i,j)=zb(i,j)*c
      end do
   end do  ! to abtain the real coorditate of these atoms, and store them in 2d arrays.
   
   
   do i=1,160
      ms=0
         do k=1,4999
           r2=0
          do j=1,k,4999
          
           dx=xb(i+160*(k+j-1),i)-xb(i+160*(j-1),i)
       dx=dx-a*aint(dx/a)
       dy=yb(i+160*(k+j-1),i)-yb(i+160*(j-1),i)
       dx=dy-b*aint(dy/b)
           dz=zb(i+160*(k+j-1),i)-zb(i+160*(j-1),i)
       dz=dz-c*aint(dz/c)
     
       r2=dx**2+dy**2+dz**2+r2
     end do
         
         ms=r2/(5000-k)
         open (9,file='all msd.txt')
         write(9,*)ms

        end do ! end up the k loop  
  
  end do

end
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

风流自在,来去从容
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weiwei43

至尊木虫 (正式写手)


jjdg: 金币+1, 感谢参与 2013-02-28 00:23:39
错误信息会直接指出哪个变量数组超界,可以把错误信息贴出来。
2楼2013-02-26 10:04:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

牧雪长空

铜虫 (正式写手)

引用回帖:
2楼: Originally posted by weiwei43 at 2013-02-26 10:04:35
错误信息会直接指出哪个变量数组超界,可以把错误信息贴出来。

这是提示。不好意思,最近回家了,没注意这个程序。很谢谢你的关注。可能这个错误看不什么来。

未命名.jpg

风流自在,来去从容
3楼2013-02-27 09:40:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xujince

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
jjdg: 金币+1, 辛苦了 2013-02-28 00:23:28
牧雪长空: 金币+4, ★★★很有帮助, 好的,谢谢你了。我再好好看。再调调试试 2013-02-28 19:25:48
目测以下三行里xb,yb,zb要越界。
dx=xb(i+160*(k+j-1),i)-xb(i+160*(j-1),i)
dy=yb(i+160*(k+j-1),i)-yb(i+160*(j-1),i)
dz=zb(i+160*(k+j-1),i)-zb(i+160*(j-1),i)
4楼2013-02-27 11:52:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weiwei43

至尊木虫 (正式写手)

引用回帖:
3楼: Originally posted by 牧雪长空 at 2013-02-27 09:40:39
这是提示。不好意思,最近回家了,没注意这个程序。很谢谢你的关注。可能这个错误看不什么来。

未命名.jpg
...

的确不能看出哪个数组超界。
你可以跟踪计算,一步一步跟踪,看看哪个数组界。
5楼2013-02-28 10:45:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 牧雪长空 的主题更新
信息提示
请填处理意见