一阶线性平流方程的求解???
求解线性分偏微分方程au/at+c*au/at=0         的数值解,时间用中央差分,空间用中央差分。其中c取为0.5m/s,初始值与边界值都用 u=10*sin(2*pi/L)*(x-ct)来获得,取L=100Km,时间总积分为72小时,其中pi=3.1415926
高人指教!!!请高人指教!!!!请高人指教!!!程序编过,没有错误,但运行不成功成功!!!
program main
implicit none 
integer::i,j
integer::n,k
integer::m
real::c
integer,parameter::t=72*60*60
integer,parameter::x=5E6
integer,parameter::pi=3.14159
real::dt,dx,L
integer::const=102
real,allocatable::u(:,:)
real,allocatable::v(:,:)

  write(*,*)"please input c,L,dt,dx"
  read(*,"(5f8.2)")c,L,dt,dx
  m=nint(t/dt)
  n=nint(x/dx)
  allocate(u(m,n))
  allocate(v(m,n))
[color=FF00FF]
  do i=1,n
  u(1,i)=10*sin(2*pi/L)*((i-1)*dx)
   end do

  do j=1,m
  u(j,1)=10*sin(2*pi/L)*(c*(j-1)*dt)
  end do u(2,2)=-(u(2,1)-u(1,1))*dx/(dt*c)+u(2,1)[/color] 

  do k=1,m-1
    do i=1,n-1
     u(k+1,i)=u(k,i)-c*dt*(u(k+1,i+1)-u(k+1,i-1))/(2.0*dx)
     write(*,*)u(k+1,i)
   end do
   u(k+1,n)=u(k+1,n-1)-c*dx*(u(k+1,n-1)-u(k,n-1))/(2.0*dt)
   write(*,*)u(k+1,i+1)
  end do

end 


这是一段求解上述方程的fortran95程序,时间用后差,空间用中央差分,初值与边界值就是程序中所给的正弦函数的值(标有颜色的部分表示初值),但是运行不出来啊!有高手能帮忙调试一下吗???万分感激,万分感激!!!