# 久々にpython
for i in range(3,imx-3):#0~imx-1
c = u*dt/dx
#
if u >0:
fn[i] = f[i] - c/6*(2*f[i+1]+3*f[i]-6*f[i-1]+f[i-2]) \
+ c*c/2*(f[i+1]-2*f[i]+f[i-1]) \
- c*c*c/6 *(f[i+1]-3*f[i]+3*f[i-1]-f[i-2])
else:
fn[i] = f[i] - c/6*(2*f[i-1]+3*f[i]-6*f[i+1]+f[i+2]) \
+ c*c/2*(f[i+1]-2*f[i]+f[i-1]) \
- c*c*c/6 *(f[i-1]-3*f[i]+3*f[i+1]-f[i+2])
等間隔にしか使えないですが・・・。
一応、保存則を使っています。
明日中には不等間隔+TVD化されたQUICKを晒したいです。
0 件のコメント:
コメントを投稿