我想用 Leapfrog Scheme 的差分有限法数值求解这个方程
我正在尝试编写一个解决该 PDE 机智的代码在越级方案(http://www4.ncsu.edu/~zhilin/TEACHING/MA584/Chapter5_fd_fem.pdf第7页)中,该方案使用了两个级别的时间,但是,我不知道如何在我的代码中编写它
所以我想这怎么可能。
do l=1,Nt
t = t + dt
u_n_p_o=u_n_o
u_n_p=u_n
我计算了使用 FTCS(centering Difference) 方案
do i=1,Nx-1
u_n_o(i)= u_n_p_o(i)- (dt/dx)*(u_n_p_o(i+1)- u_n_p_o(i-1))
end do
实际上u_n_o
是正确的吗?
u_n_p_o(i)=u_n_o(i-1) !2do reciclado de variable
do i=1,Nx-1
u_n(i)= u_n_p_o(i)- (dt/dx)*(u_n_p(i+1)-u_n_p(i-1))
end do
u_e = amp * exp( - ( x - x0 - t)**2 / sigma**2 ) + 1e-20
call save1Ddata(Nx,t,x,u_e,'u_e',1)
call save1Ddata(Nx,t,x,u_n,'u_n',1)
call save1Ddata(Nx,t,x,u_n,'u_n_o',1)
end do
跳蛙有什么特点?我知道在这种情况下,Courant 因子无关紧要(因为它是稳定的);然而,解在其幅度上会在数值上消散。那么如何测试你的数值解呢?