python求解偏微分方程_Python数值计算----------求解简单的偏微分方程

很多物理现象的都可以用方程来描述,比如热传导与物质扩散可以用扩散方程来描述,流体的流动可以用NS方程描述等等。如果能够将这些偏微分方程求解出来,就可以来对很多物理现象进行仿真,现在工程中的仿真软件都是通过程序数值求解一类偏微分方程。今天我们尝试求解一类偏微分方程,为了简单起见,我们以一个简单的平流方程为例,方程形式如下:平流方程

求解偏微分方程的数值解法非常多,这里也是采用一种较为直白的方法--------有限差分法,将上述的偏微分方程离散为差分方程,这里采用一种迎风格式的差分方法,首先我们可以看出这个平流方程由两个维度,一个空间维度x,一个时间维度t,我们对这两个维度进行离散:差分网格

差分方程

将差分方程简化一下

通过上述的差分方程我们可以通过上一个时间步的结果推进得到下一个时间步的结果:

这里我们边界条件是周期边界如下图,周期边界的好处就是我们可以一直看到在我们的求解域内看到波的移动:

方程的初始条件我们给空间维度上一个指数函数的波形:

下面我们通过一段简单(其实挺长的,但是很容易理解)的Python代码对上述差分方程进行求解:

""&#

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值