@cyy652415049
2016-05-23T23:31:14.000000Z
字数 3047
阅读 2852
作者:陈洋遥
学号2013301020169
更新时间:201605023
静电势问题是经典电动力学的重要问题。在无源区域,静电势满足Laplace方程,从而只要在一定的边界条件下求解Laplace方程就可以得到静电势的空间分布。求解偏微分方程没有一般的方法,但是对诸如Poisson方程在内的一大类方程,可以采用所谓的松弛算法(relaxation method)去求解。本次作业完成课后习题5.7,讨论了松弛算法的三种具体情形(Jacobi、Gauss-Seidel、simultaneous over-relaxation(SOR))的迭代收敛速度问题。
无源区域的静电势问题的解可由麦克斯韦方程给出,这种情况下,静电势分布满足Laplace方程
平行板问题是一个十分经典的问题,对其进行数值求解可以检验算法的稳定性等问题。为简单起见仅讨论二维问题,或者说认为平行板系统沿着某一方向是对称的。取两块平行板的电位分别为,或者其他值,取正方形边界的电势为0,计算体系电势分布如图1所示,相应的程序可见ch5_electric_capacitor.py。所得到的结果符合我们队平行板电容器电场的认识。
图1 平行板电容的电电势分别
要表示电场的空间分布,另外的方法是利用准三维的方法:用等势面(线)去表示电势,用电场线去表示电场分布。下面的图2展示这两种表示方法,相应的程序可见ch5_electric_field.py。 可以发现平行板的电场具有一定的对称性。图(a)展示等势面,图(b)展示电场线,平行板电容在两板之间相当大区域内确实有十分均匀的电场,平行板外的电场则小一些。这些都符合平行板电容的电场特征。
图2 平行板电容器的等势面(线)和电场分布
上面已经提及,不同的迭代方案的收敛速度有较大差异,特别是对于较大的系统,利用收敛较快的方法解决偏微分方程问题将节省大量的计算时间。这里展示松弛算法的三个实例——Jacobi、Gauss-Seidel和SOR算法的计算收敛速度。在同样的问题下(平行板电容问题),对相同的收敛判据,三种方法收敛所需迭代次数展示如图3所示。相应的程序见ch5_electric_capacitor_runtime.py。从图3(a)中可以看出,SOR方法所需迭代次数最少,且随着计算区域尺度的增加仅仅是线性增大的,另两种方式则是二次方增加的。相应的耗时也展示如下图(b)所示。
图3 不同方法的迭代次数和耗时差异
从上面的讨论可以看出,一般来讲SOR算法收敛的比较快,然而SOR算法中尚有一个参数(见课本P142)可以调控。适当选取这个参数有利于使体系收敛得更快。下图4展示了一定计算条件下收敛所需迭代次数随的变化规律,相应的程序可见ch5_electric__SOR.py。下面曲线的特征是当趋近于0和趋近于2时都是发散的,并且在0和2之间有唯一最小值。因此,若能根据不同体系的具体情况,适当选取的值,对提高计算速度是十分有利的。
图4 SOR method 改变参数alpha
本次作业针对平行板电容的静电势求解问题。具体讨论了松弛算法的三种具体情形(Jacobi、Gauss-Seidel、simultaneous over-relaxation(SOR))的迭代收敛速度问题。
[1] 计算物理;Nicholas J. Giordano, Hisao Nakanishi.
[2] 常用数学符号的LaTex表示方法;http://www.mohu.org/info/symbols/symbols.htm.
[3] matplotlib-绘制精美的图表;http://old.sebug.net/paper/books/scipydoc/matplotlib_intro.html.