十二步解N-S方程之第四步

十二步解N-S方程之第四步

通过前面的学习,我们已经知道如何去解线性和非线性的一维对流方程,而且也知道CFL是如何影响数值求解的。在这里我们考虑一维扩散方程,如下所示:

203727_Z4CH_2001999.jpg

204610_iqto_2001999.jpg

import numpy as np
import matplotlib.pyplot as plt
#
nx=41
dx=2.0/(nx-1)
nt=20
nu=0.3
sigma=0.2
dt=sigma*dx**2/nu
#
u=np.ones(nx)
u[0.5/dx:1+1/dx]=2.0
#
u0=np.ones(nx)
u0=u.copy()
#
un=np.ones(nx)
#
for n in range(nt):
un=u.copy()
for i in range(1,nx-1):
u[i]=un[i]+nu*dt/dx**2*(un[i+1]-2*un[i]+un[i-1])
plt.figure()
xc=np.linspace(0,2,nx)
plt.plot(xc,u,linewidth=2.0,label="converged")
plt.plot(xc,u0,linewidth=2.0,label="initial")
plt.legend(loc='upper right')
plt.savefig("F:\PYTHON\python_cfd\step4.png",dpi=150)
plt.show()

运行结果如下图所示:

203730_f1Un_2001999.png


转载于:https://my.oschina.net/cfdvalidation/blog/309807

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值