python有限差分求解拉普拉斯方程
1、这是拉普拉斯方程,T是温度,x,y分别是坐标。在这个传热问题中可以理解为平衡态下传入一个点的热量与传出这个点的热量相等。

3、应该也容易想象,最后的结果应该类似于这样(这幅图是我的计算结果)

6、定解条件就是边缘上的温度
7、然后是微分方程的离散化


10、然后设定参数#最大循环次数maxIter = 500#矩形大小lenX = 20lenY = 20颊俄岿髭delta = 1#边界条件Ttop = 100Tbot = 0Tleft = 0Tright = 0#初始猜测值Tguess = 30#设置颜色插值和颜色映射colorinterpolation = 50colourMap = plt.cm.jet

12、然后循环迭代计算温度,每次计算完与上次做差比较,输出变化的最大值print(&孥恶膈茯quot;Solving,Please wait")for iteration in range(0, maxIter): for i in range(1, lenX-1, delta): for j in range(1, lenY-1, delta): T[i, j] = 0.25 * (T[i+1][j] + T[i-1][j] + T[i][j+1] + T[i][j-1]) print(abs(T-Tlast).max()) Tlast = copy.deepcopy(T)print("Iteration finished")

14、前面已经展示过这个问题的结果图了,下面展示一张将右侧边缘温度调整为30摄氏度的结果图片。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:56
阅读量:29
阅读量:91
阅读量:44
阅读量:71