欢迎光临杨雨的个人博客站!

杨雨个人网站-杨雨个人博客-杨照佳

杨雨个人博客网站

关注互联网和搜索引擎的个人博客网站

首页 > WEB开发 > Python教程 >

Python能解偏微分方程吗

发布时间:2019-06-18  编辑:杨雨个人博客网站   点击:   

fipy

菲克定律是指在不依靠宏观的混合作用发生的传质现象时,描述分子扩散过程中传质通量与浓度梯度之间关系的定律。菲克定律是阿道夫·菲克(Adolf Fick)于1855年提出。

Python能解偏微分方程吗

由菲克第二定律可以得到动态扩散的偏微分方程。求解可以得到浓度分布和流出曲线。

不确定这个问题有没有解析解,不过数值求解是一种较为通用的解决方法。

fipy是目前难得的还活着的PDE求解python包,作者根据官方示例改写本程序。

问题

一个二维平板,顶端1摄氏度(100也可以,只是一个系数),另外三个边缘0摄氏度,初始时刻整个板子都是0摄氏度,随之时间的推进,热量在板子上传递,最后达到平衡态,我们不仅希望知道平衡态的温度分布,也希望知道温度随时间是如何变化的。热量的传递由微分方程给出,可以简单地理解为热量按照温度降低最快的方向进行传递。

cc.jpg

公式右边是温度的梯度,左边是温度随时间的变化

1560843107(1).jpg

最后整个板子的温度分布大致呈现怎样

1560842313(1).png

只有一个包需要导入

import fipy as fp

确定求解区域,一个20*20的格点

#求解区域nx = 20ny = 20dx = 1.dy = dxL = dx * nxmesh = fp.Grid2D(dx=dx, dy=dy, nx=nx, ny=ny)

phi = fp.CellVariable(name = "solution variable", mesh = mesh, value = 0.)

xx.jpg

创建微分方程

1560842331(1).png

设立边界条件

1560842341(1).png

创建画图

1560842349(1).png

求解

xx.jpg

建议在命令行里面运行,命令行里面可以获得动图,ipython里面只有最后一张图

1560842375(1).png

spyder的ipython里面只有最后的一张图片

zz.jpg 本文地址:http://itbyc.com/Python/21698.html
转载请注明出处。

分享是一种快乐,也是一种美德:
博客首页 | WEB开发 | 网站运营 | CMS使用教程 滇ICP备14002061号-1