找回密码
 注册
查看: 1510|回复: 0

请教:用LAX格式计算单波方程,怎么算不对呀(附源程序),谢谢

[复制链接]
发表于 2004-7-28 00:46:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
方程为du/dt+2du/dx=0
初始条件为 u(x,0)=1,x=1,2; 其余u(x,0)=0
alfa=2
      dx=1
      dt=0.5
!定义初始条件
     
      do i=-20,99
  u(i,0)=0
end do
u(1,0)=1
u(2,0)=1
      Do n=0,7
       do i=-10,80
   u(i,n+1)=u(i,n)-alfa*dt/dx/2*(u(i+1,n)-u(i-1,n))+
     &             1/2*(u(i+1,n)-2*u(i,n)+u(i-1,n))
end do
end do
write(1,*) "************ CFL=1  ************************"
do n=0,7,2
do i= -5,70
write(*,*) "t=",n*dt
write(1,100) n*dt,i,u(i,0)
      end do
     end do
    ! CFL(alfa*dt/dx)=1/2, Lax 格式
      Alfa=2
      Dx=1
      Dt=0.25
write(1,*) "*******************CFL=1/2***********************"
       ! 定义初始条件
      do i=-20,99
  u(i,0)=0
end do
u(1,0)=1
u(2,0)=1
      Do n=0,15
       do i=-10,80
   u(i,n+1)=u(i,n)-alfa*dt/dx/2*(u(i+1,n)-u(i-1,n))+
     &             1/2*(u(i+1,n)-2*u(i,n)+u(i-1,n))
end do
end do
do n=0,15,2
do i= -5,70
write(*,*) "t=",n*dt
write(1,100) n*dt,i,u(i,0)
      end do
end do
    end
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表