logo资料库

有限差分法求解二维静电场(不同介质).doc

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
有限差分法求不同介质下的二维静电场 一、 有限差分法概述 有限差分法是一种微分的方法,是历史上最悠久、理论最完整的数值分析方 法。虽然各种新的数值方法不断出现,但是有限差分法仍然是用的最为广泛的一 种数值方法。 用微分代替差分,使有限差分法的基本出发点。这一点由微分方程保证,当 自变量的差分趋于 0 时,差分也就变成了微分,即 分法的一般过程是首先是要推导出微分方程,其实,用规则网格切割定义域使之 。有限差 0h x  时, dx 既相邻又不重叠,然后再构造对应的差分方格式,最后计算求解并给出物理解释。 用规则网格切割定义域是获得高效率差分格式的重要环节,在定义域划分网格时 主要是为了获得网格交叉产生的结点。 二、 两个问题的描述 课程设计着重于解决两个问题。 问题 1(单一介质): 长接地金属槽,横截面积如图 1,其侧壁与底电位均为零,顶盖电位为 10V, 底部的长度为 4,侧面的长度为 2,该金属槽的填充介质仅有一种,主要讨论以 下几个问题:槽侧面的电位分布、电场强度、等位线,数值计算的误差及迭代次 数。 槽横截面区段电位分布,可理想化为二维问题。选定直角坐标系,槽内电位 函数满足拉普拉斯方程,构成一类边值问题。只需要划分网格,编程求解即可。 图 1. 单一介质下的金属槽横截面 2 2  2     2 x y    0 x   4,  y  2  0 10 V 问题 2(多种介质): 长接地金属槽,横截面积如图 2,其侧壁与底电位均为零,顶盖电位为 10V, 底部的长度为 4,侧面的长度为 2,该金属槽的填充介质有两种,左侧的介电常 数为 1 ,右侧的介电常数为 2 ,并在离左侧 1/4 处隔开。讨论填充介质的介电常 数不同时,槽面左右两侧的电位分布、电场强度、等位线的变化情况,数值计算 的误差及迭代次数。 1
图 2. 两种介质下的金属槽横截面 槽横截面区段的左右两侧,均可理想化为二维问题。选定直角坐标系,槽内 电位函数满足拉普拉斯方程,构成一类边值问题。但是考虑到左右两侧填充介质 的不同,还必须要处理的一个问题便是 1/4 分界处的边值问题。 2 2  2     2 y x    0 x   4, y  2   0 10 V 3.1 差分 三、 问题分析 设函数 ( ) f x ,当其独立变量 x 有很小的 x   ,所以相应地函数 ( ) f x 的增 h 量为:  ( ) f x  ( f x h  )  ( ) f x ( ) f x 被称为函数 ( ) f x 的差分(一阶)。它与微分不同,因为差分是有限量的 差,故通常也被称为有限差分。但只要增量 h 很小,差分 f 与微分 df 之间的差 异将很小,根据差分的定义,在差分运算中还常用一阶中心差分,其公式为:  ( ) f x  ( f x  )  ( f x  h 2 h 2 ) 一阶差分仍是独立变量 x 的函数。二阶差分的用类似的差分方法求,得到 ( ) ( ) f x f x f x 的二阶差分。同样,当 h 非常小时,二阶差分 2  ( ) ,称为原始函数 ( ) d f x 。 2  很接近于二阶微分 2 3.2 建立差分格式 建立二维泊松方程和拉普拉斯方程的差分格式,首先要离散化定义域,通常 是用规则的网格,如三角形,矩形,正方形,多角形,等进行切割,产生的网格 交点称之为节点,小网格单元称为元素。然后,用有限差分法把节点上的偏倒数 表达出来。 在偏微分方程中常常提出如下的第一边值问题:即在平面区域内(G   )上 分别给出了微分方程和边值条件: u  2 x  ,   当(x,y) u  2 y  u     u 2 2 ( , f x y ), 当(x,y) G   2
其中:  是边界  上的连续函数,边界包含了三类,即狄利克莱边界条件, 诺埃曼边界条件,以及拉宾边界条件。 差分格式的构造:我们在区域G上讨论最简单的泊松方程 2 2     2 y x    2  ( , f x y ) 通过差分可以得到泊松方程的二阶差分表达式“五点格式”或称为“菱形格 式”,具体坐标如图3所示。  i 1,  j   i 1,  j   i , j 1    i , j 1     4 i , j 2 h f i , j 令 ,i jf =0,就得到拉普拉斯方程的差分格式,如下: ,4    i        1,  1,  1  1  i j i j i j i j j , , 0 (1) 3.3 迭代 图 3. 差分网格的节点坐标 差分方程确定之后,一般选用迭代法求解,这是由于方程组系数矩阵之中有 大量元素为0,并且系数矩阵形成比较简单,有规律和重复。在迭代过程中常常 可以一边形成系数矩阵一边计算,以节省内存,因而迭代法比直接法更常用,而 且在实际计算中为了保证精确度,步长往往取得较小,因此网格区域的结点很多, 所以差分方程是一个高阶的线性代数方程组,由于对所列五点差分格式,每一内 结点只依赖周围相邻的四点,因此采用迭代法就可以充分利用这一优点。 1) 雅克比法:           1)  n n n n n ( ] i , j 1  2 h f 0 1 4 1 4 [ i , j i 1,  j i 1,  j i , j 1  2) 高斯-赛德尔法: 在电子计算机上采用同步迭代法求解,必须要有两套工作单元来存储网格区 域结点上的解在迭代过程中的新值与旧值。而异步迭代法其收敛速度比同步迭代 法要快一倍左右。 ( n 1 [   4 3) 逐次超松弛迭代法:  1)  , i k n 1  i , j 1    n 1  i 1,  j n   i 1,  j n   i , j 1  ]   2 h f 4 0 3
通过实际计算证明,在结点个数较多的情况下,异步迭代法的收敛速度仍然 很慢,为了加快迭代收敛的速度,就在异步迭代法的基础上提出了逐次超松弛迭 代的方法,即SOR方法。方法的基本思想是:            n 1)  n n n n n ( 1  i , j 1  1  i 1,  j i , j w 4 [ i 1,  j ] i 1,  j i , j 其中w是一个常数,称为超松弛因子,且1
针对问题 1 和问题 2,求解过程可具体化如下: 1、网格划分,编程时,考虑到矩形的长宽比是 2:1,故划分为 28*14 等分 2、采用逐次超松弛迭代法,超松弛因子的计算,根据划分的网格数,代入 公式(3),即可求得较好的超松弛因子为 1.7998。 3、问题 1 只需要根据公式(1)求解即可,问题 2 则需要根据公式(1)和(3)共同 求解。根据要求的精度确定迭代次数,从而求得数值解。 问题 1 的求解: 4.1 先求得离散后平面各点的电位,再进行相应的处理,利用 MATLAB 自带的 函数 surf ( )、contour ( ) 和 quiver ( ) 就可绘出电势、等位线及电场强度分布图。 matlab 仿真源程序如下: %Part 1: lianghua kongjian Nx=28; Ny=14; Lx=4; Ly=2; Hx=Lx/Nx; Hy=Ly/Ny; alpha=1.7998; u=zeros(Ny+1,Nx+1); %Part 2: dianwei fuzhi; j=2:Nx; u(Ny+1,j)=10; i=1:Ny+1; u(i,1)=0; i=1:Ny+1; u(i,Nx+1)=0; for i=1:Ny %chao songchi yinzi for j=2:Nx u(i,j)=10/Ny*(i-1); end end u %Part 3: jisuan dianwei; Error_max=0; Precision=1e-05; Nmax=1000; for k=1:Nmax Error_max=0; for i=2:Ny for j=2:Nx %dayin shuzu u1=u(i,j); u(i,j)=u(i,j)+alpha*(u(i+1,j)+u(i,j+1)+u(i-1,j)+u(i,j-1)-4*u(i,j))/4; u2=u(i,j); 5
if abs(u2-u1)>Error_max Error_max=abs(u2-u1); end; end end if Error_max
end; for i=1:(Ny+1) yu(i)=y0+(i-1)*Hy; end; [X,Y]=meshgrid(xu,yu); surf(u); %surf(X,Y,abs(Ex)); %surf(X,Y,abs(Ey)); %surf(X,Y,E); %deng gao xian figure contour3(u,10); figure [Dx,Dy]=gradient(u,Hx,Hy); quiver(-Dx,-Dy); figure contour(X,Y,u) hold on quiver(-Dx,-Dy); hold off 4.2 matlab 仿真结果及其分析: 10 8 6 4 2 0 15 16 14 12 10 8 6 4 2 0 -5 可以看出,电势分布比较平滑,在 三个边上的电势为 0,在第四个边 上的电势为 10V,满足边界条件。 10 5 10 0 0 30 20 图 5. 电势分布图 可以看出,电场强度呈对称分布。 0 5 10 15 20 25 30 35 7
图 6. 场强分布图 2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0 可以看出,等位线为平滑的凹形两侧 呈现出明显的对称,同一高度时,中 间位置处的电位要强于两侧。这符合 截面的电位分布初始条件。 0.5 1 1.5 2 2.5 3 3.5 4 图 7. 区域内电场等位线分布 问题 2 的求解: 4.3 先求得离散后平面各点的电位,再进行相应的处理,在编程时需要特别注 意离左侧 1/4 分界处的电位处理。利用 MATLAB 自带的函数 surf ( )、contour ( ) 和 quiver ( ) 就可绘出电势、等位线及电场强度分布图。编程比较填充介质不同时 的结果,matlab 仿真源程序如下: %Part 1: lianghua kongjian Nx=28; Ny=14; Lx=4; Ly=2; Hx=Lx/Nx; Hy=Ly/Ny; alpha=1.7998; u=zeros(Ny+1,Nx+1); %Part 2: dianwei fuzhi; j=2:Nx; u(Ny+1,j)=10; i=1:Ny+1; u(i,1)=0; i=1:Ny+1; u(i,Nx+1)=0; for i=1:Ny %chao songchi yinzi for j=2:Nx u(i,j)=10/Ny*(i-1); end end u %Part 3: jisuan dianwei; %dayin shuzu 8
分享到:
收藏