[关闭]
@MilCOS 2016-05-26T17:07:45.000000Z 字数 1303 阅读 595

作业十Potential(matplotlib, scipy)

2013301020084 许晗
作业 Gauss-Seildel方法 SOR方法


摘要

这次作业计算部分用Fortran完成, 估计python店scipy或者numpy包里有处理数组的方法; 画图部分用python完成. 解决了二维方形箱(V=0)里, 两根电势恒定的杆子(势分别为-1和+1)情况下电势的分布, 并且探究了Gauss-Seidel和SOR计算方法的与系统大小(L+1)的关系.


正文

计算原理

边界条件


电势恒定的杆子造成:

Gauss-Seidel方法

计算格点的电势:


每次计算的V(i,j)要用到计算V(i+1,j), V(i,j+1)中.
当每个格点计算一遍时, 求总势能的变化,如果
, 用得到的继续计算, 否则跳出循环, 且最终电势的分布
, 其中为给定的精度, 这次选择.

SOR方法

因为Gauss-Seidel方法收敛到比较慢, 为了解决这个问题引入这种方法.
先按照Gauss-Seidel方法计算得到, 根据该点旧的电势算出

新的电势根据下式求出:

判断是否符合期望的精度的方法与Gauss-Seidel方法一致.

结果展示

算出课本上的电势图

改变计算次数

改变计算格点数

L 10 20 30 40 50 60 70 80 90 100
N 15 29 56 72 110 113 91 118 168 185

在60到70仍有一个下降, 其余位置基本以1.6为斜率增加. 不懂...
当然显然的结论是: SOR计算方法的计算次数与具体系统的性质有关.

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注