当前位置:首页 > 电磁场二维场域的有限差分法 - 图文
北华大学开放实验报告
实验项目名称 电磁场二维场域的有限差分法 所属课程名称 电磁场与电磁波 实验类型 验证性 实验日期 班 级 电子10-1班 学 号 27号 姓 名 赵南冰 成 绩
【实验题目名称】:电磁场二维场域的有限差分法(简单迭代法) 【实验目的与要求】:1、了解有限差分法求解电磁场二维场域电场分布以及简单迭代法;2、了解使用Matlab编程求解二阶偏微分方程以及边界条件的设置。 【实验环境】:(所需教学仪器设备) 计算机,Matlab R2012a 【实验原理及方案设计】: 拉普拉斯方程有限差分形式:将?i,j进行泰勒级数展开 ?i,j?1??i,j??1?2?21?3?3?h?h?h???y2?y26?y3?i,j?1??i,j??1?2?21?3?3?h?h?h???y2?y26?y3?i?1,j??i,j??1?2?21?3?3??1?2?21?3?3?h?h?h?? ?i?1,j??i,j?h?h?h?? ?x2?x26?x3?x2?x26?x3把以上四式相加,得:?i,j?1??i,j?1??i?1,j??i?1,j?4?i,j4?2??2??h(2?2)?? ?x?y24显然,在将以上四式相加的过程中,h的所有奇次方项都抵消了。所以,上是在略去h及其以上的项所得到的,其精度为h的二次项。 ?2??2? 由于场中任何点(i,j)都满足泊松方程????2?F(x,y),式中,F(x,y)为场源。则上可变为: 2?x?y2 ?i,j1h2?(?i,j?1??i,j?1??i?1,j??i?1,j)?F(x,y) 441(?i,j?1??i,j?1??i?1,j??i?1,j)y) 4 对于无源场,F(x,y)?0,则二维拉普拉斯方程的有限差分形式为:?i,j? 上式表示任意点的电位等于围绕它的四个等距离点的电位的平均值,距离h越小则结果越精确。用方程(4-19)式可以近似求解二阶拉普拉斯方程。 简单迭代法: 1、 对某一网格点设一初值,这个初值完全可以任意给定,称为初值电位。虽然, 问题的最终结果与初值无关,但若初值选择得当,则计算步骤会得到简化 (当利用计算机来实现迭代计算时,为了简化程序,初值电位一般可取为零值) 2、 初值电位给定后,按一个固定顺序(点的顺序是从左到右,从下到上)依次计算 每点的电位,即利用?i,j?1(?i,j?1??i,j?1??i?1,j??i?1,j),用围绕它的四个点 4的电位的平均值作为它的新值,当所有的点计算完后,用它们的新值代替旧值,即成了一次迭代计算。然后再进行下一次迭代计算,直到每一点计算的新值和旧值之差小于指定的范围为止。 特点是用前一次迭代得到的网络点电位作为下一次迭代的初值。(i,j)点在n+1次迭代后公式为1?in,?(?in,j?1??in,j?1??in?1,j??in?1,j) j?14【实验过程】:(实验步骤、记录、数据、分析) 用简单迭代法求矩形槽内的电位分布:横截面为矩形的无限长槽由3块接地导体板构成,如图所示,槽的盖板接直流电压100V,求矩形槽内的电位分布。 y ? ? 提示:矩形槽内电位函数?满足拉普拉斯方程,即 100b?2??2??2?02?y O ? ? 0 a x ?x 边界条件满足Dirichlet边界条件: ??0??0?(x,y)x?0?0?(x,y)x?a?0 ?(x,y)y?0?0 ?(x,y)y?b?100 取步长h?1,x、y方向的网格数为m?16,n?10,共有16?10?160个网孔,17?11?187个节点,其中槽内节点(电位待求点)有15?9?135个,边界节点(电位已知点)有187?135?52个。设迭代精度为10?6,利用MATLAB编写的计算程序如下: % 用简单迭代法求矩形槽内的电位分布 hx=17; hy=11; %设置网格节点数 v1=ones(hy,hx); %设置行列二维数组 %上下两行的Dirichlet边界条件值 v1(hy,:)=ones(1,hx)*100; vi(1,:)=zeros(1,hx); %左右两行的Dirichlet边界条件值 for i=1:hy; v1(i,1)=0; v1(i,hx)=0; end v2=v1; maxt=1; t=0; %初始化 k=0 while(maxt>1e-6) %由v1迭代,算出v2,迭代精度为0.000001 k=k+1 %计算迭代次数 maxt=0; for i=2:hy-1 %从2到hy-1行循环 for j=2:hx-1 %从2到hx-1列循环 v2(i,j)=(v1(i,j+1)+v1(i+1,j)+v2(i-1,j)+v2(i,j-1))/4; %拉普拉斯方程差分式 t=abs(v2(i,j)-v1(i,j)); if(t>maxt) maxt=t; end end end v1=v2 end subplot(1,2,1),mesh(v2) %画三维曲面图 axis([0,17,0,11,0,100]) subplot(1,2,2),contour(v2,15) %画等电位线图 hold on x=1:1:hx; y=1:1:hy; [xx,yy]=meshgrid(x,y); %形成栅格 [Gx,Gy]=gradient(v2,-0.6,-0.6); %计算梯度 quiver(xx,yy,Gx,Gy,+0.8,'r') %根据梯度数据画箭头 axis([-1.5,hx+2.5,-2,13]) %设置坐标边框 plot([1,1,hx,hx,1],[1,hy,hy,1,1],'k') %画导体边框 text(hx/2,0.3,'0V','fontsize',11); %下标注 text(hx/2-0.5,hy+0.5,'100V','fontsize',11); %上标注 text(-0.5,hy/2,'0V','fontsize',11); %左标注 text(hx+0.3,hy/2,'0V','fontsize',11); %右标注 hold off; xlswrite('场域内网格点电位的计算结果.xls',v1); 这个程序运行的结果计算是:迭代次数为k= 222,即导体矩形槽的节点经过222次迭代后,电位数值解收敛于某一固定值。场域内所划分的网格点电位的计算结果如表。 【结论】:(结果) 12100808606402001015550010-20504210100V0V0V0V1015 【指导教师评语及成绩】:
共分享92篇相关文档