霍文曉
(青島農(nóng)業(yè)大學(xué)理學(xué)與信息科學(xué)學(xué)院,山東 青島266109)
在電磁場(chǎng)理論中,已知場(chǎng)量在場(chǎng)域邊界上的值,求場(chǎng)域中的場(chǎng)分布稱為邊值問(wèn)題。通常將靜態(tài)場(chǎng)邊值問(wèn)題的求解簡(jiǎn)化成:在一定邊界條件下對(duì)位函數(shù)的泊松方程或拉普拉斯方程的求解[1]。在電磁場(chǎng)與電磁波課程教學(xué)中,邊值問(wèn)題的求解既是重點(diǎn)又是難點(diǎn)。教材中主要講了三種方法:鏡像法、分離變量法和有限差分法。隨著計(jì)算機(jī)技術(shù)的發(fā)展和模擬軟件的進(jìn)步,有限差分法得到了迅速發(fā)展和廣泛應(yīng)用。因此,為了與實(shí)際接軌,在課堂講授中,我們將有限差分法作為邊值問(wèn)題這部分的重點(diǎn)內(nèi)容。并采用理論講解與模擬演示的教學(xué)方法,同時(shí)提高學(xué)生對(duì)理論知識(shí)的理解和應(yīng)用能力。
有限差分法的基本思想是將場(chǎng)域劃分成網(wǎng)格,把求解場(chǎng)域內(nèi)連續(xù)的場(chǎng)分布用求解網(wǎng)格節(jié)點(diǎn)上的離散的數(shù)值解來(lái)代替,即用網(wǎng)格節(jié)點(diǎn)的差分方程近似代替場(chǎng)域內(nèi)的偏微分方程來(lái)求解。
在一個(gè)邊界為L(zhǎng)的二維無(wú)源區(qū)域S內(nèi),電位函數(shù)φ(x,y)滿足拉普拉斯方程和邊界條件為:
通常將場(chǎng)域分成足夠小的正方形網(wǎng)格,網(wǎng)格線之間的距離為h,節(jié)點(diǎn)(xi,yi)處的電位φi,j可由其周圍直接相鄰的四個(gè)節(jié)點(diǎn)的電位表示,即二維拉普拉斯方程的差分形式。
同時(shí)將邊界條件進(jìn)行離散化,成為邊界節(jié)點(diǎn)上的已知數(shù)值。在這些已知節(jié)點(diǎn)條件下,求解各節(jié)點(diǎn)的差分方程,整個(gè)區(qū)域中的節(jié)點(diǎn)上電位值即可求出。
在求解實(shí)際問(wèn)題時(shí),為了達(dá)到足夠的精度,需將網(wǎng)格劃分的充分細(xì),節(jié)點(diǎn)的個(gè)數(shù)很多,建立的差分方程數(shù)量大,一一求解工作量大。因此如果節(jié)點(diǎn)數(shù)量較多,通常使用迭代法。
1.2.1 簡(jiǎn)單迭代法
進(jìn)行反復(fù)迭代(k=0,1,2,…)。若當(dāng)?shù)贜次迭代以后,所有內(nèi)節(jié)點(diǎn)的相鄰兩次迭代值之間的最大誤差不超過(guò)允許范圍,則終止迭代,并將最后一次迭代的結(jié)果作為內(nèi)節(jié)點(diǎn)上電位的最終數(shù)值解。
1.2.2 超松弛迭代法
簡(jiǎn)單迭代法的收斂速度較慢,為了加快收斂速度,實(shí)際中常采用超松弛迭代法[3-4]。迭代公式為
式中:α稱為加速收斂因子,其取值范圍是1≤α<2,當(dāng)α≥2時(shí),迭代過(guò)程將不收斂。
加速收斂因子α有一個(gè)最佳取值問(wèn)題,但隨具體問(wèn)題而異。對(duì)于第一類邊值問(wèn)題,若求解區(qū)域?yàn)榫匦螆?chǎng)域,且由正方形網(wǎng)格分割(每邊結(jié)點(diǎn)數(shù)分別為m和n),則最佳收斂因子α可按下式計(jì)算。
以一個(gè)正方形截面的無(wú)限長(zhǎng)金屬盒為例,演示用MATLAB對(duì)有限差分法的仿真。盒子的兩側(cè)及底的電位為零,頂部電位為100V,求盒內(nèi)的電位分布。
由于場(chǎng)域內(nèi)不存在電荷,其電位分布必滿足拉普拉斯方程。將正方形區(qū)域劃分成10×10的網(wǎng)格。
為簡(jiǎn)單起見(jiàn),將場(chǎng)域內(nèi)部節(jié)點(diǎn)上的電位初始值全部取為零,利用式(3)求出各內(nèi)部節(jié)點(diǎn)電位值的一次解。原來(lái)零次解中的各節(jié)點(diǎn)電位值將被一次解中的相應(yīng)電位值所取代。重復(fù)上述步驟,令每一個(gè)內(nèi)部節(jié)點(diǎn)上的第k+1次解電位值等于該節(jié)點(diǎn)周圍四個(gè)相鄰節(jié)點(diǎn)(或邊界點(diǎn))第k次解電位值的算術(shù)平均值。直到相鄰兩次的迭代值相差不超過(guò)設(shè)定的誤差范圍(1e-6)后,退出迭代。
仿真結(jié)果:迭代次數(shù)為150次,迭代后各節(jié)點(diǎn)的電位如圖1所示。
圖1 仿真后各節(jié)點(diǎn)電位
根據(jù)節(jié)點(diǎn)電位畫(huà)出電位分布曲線如圖2所示。
圖2 正方形場(chǎng)域內(nèi)電位分布圖
由得出的數(shù)值解可以看出,金屬盒內(nèi)點(diǎn)電位分布是越靠中間電位越高,越靠近金屬盒頂部電位越高,這是由于金屬盒底部和兩邊的電位都為零,而頂部最高。由此表明此方法計(jì)算出的電位值,符合金屬盒內(nèi)的電位分布情況。
超松弛迭代法的關(guān)鍵在于收斂因此的取值,合適的收斂因子可以減少迭代次數(shù)。
由式(5)可知,當(dāng)網(wǎng)格節(jié)數(shù)為10×10時(shí),收斂因子取值為1.56迭代次數(shù)最少。通過(guò)MATLAB仿真,可得收斂因子與迭代次數(shù)的關(guān)系,如表1所示。從結(jié)果可知,收斂因子選擇1.56迭代次數(shù)最少。與理論計(jì)算所得結(jié)果相等。
表1 收斂因子對(duì)迭代次數(shù)的影響
通過(guò)簡(jiǎn)單迭代法和超松弛迭代法對(duì)比發(fā)現(xiàn),兩種方法求出的數(shù)值解相同,得到的等電位線分布一樣,但超松弛迭代法比簡(jiǎn)單迭代法收斂速度更快,迭代次數(shù)更少,計(jì)算時(shí)間更短。
利用MATLAB軟件對(duì)有限差分法分析邊值問(wèn)題進(jìn)行了仿真分析,不但讓學(xué)生對(duì)有限差分法這種分析方法有了直接的接觸和了解,同時(shí)對(duì)邊值問(wèn)題的處理方法和結(jié)果有了更深的認(rèn)識(shí)。通過(guò)這種教學(xué)方法,使抽象的電磁場(chǎng)問(wèn)題變得直觀、形象,既可以活躍課堂氣氛,同時(shí)可以加深學(xué)生對(duì)理論知識(shí)的理解,并進(jìn)一步為將來(lái)接觸時(shí)域的有限差分法打下了良好的基礎(chǔ)。對(duì)培養(yǎng)學(xué)生學(xué)習(xí)的主動(dòng)性和積極性有著重要的作用。
[1]謝處方,饒克謹(jǐn).電磁場(chǎng)與電磁波[M].4 版.北京:高等教育出版社,2006:128-165.
[2]王潔,陳超波.基于MATLAB的靜態(tài)場(chǎng)邊值問(wèn)題有限差分法的研究[J].微計(jì)算機(jī)應(yīng)用,2010(03).
[3]何紅雨.電磁場(chǎng)數(shù)值計(jì)算法與MATLAB實(shí)現(xiàn)[M].武漢:華中科技大學(xué)出版社,2004:4210.
[4]趙德奎,劉勇.MATLAB在有限差分法數(shù)值計(jì)算中的應(yīng)用[J].四川理工學(xué)院學(xué)報(bào):自然科學(xué)版,2005,18(4):61-64.