衛 延,胡治煒,徐海林,黃郁盈
(1.北京交通大學 全光網與現代通信網教育部重點實驗室,北京100044;2.北京交通大學,北京100044)
“電磁場與電磁波”課程內容抽象,理論性強,難度大。可視化手段能帶來極大的直觀性,清晰美觀的場分布圖形和生動形象的場演化動畫有助于學生理解抽象的電磁場內容[1-4]。有不少軟件被應用于電磁場可視化教學,如Matlab[2-4]、Mathmatica[5]、ComsolMultiphysics[6],HFSS[7]等,其中Matlab應用最廣泛。利用Matlab的命令contour,streamline,quiver等,可以繪制等位面、電場線、磁力線等,清楚地表示詳盡的場分布形態[2,4,8]。由于Matlab操作簡單,學生易用Matlab來做電磁場圖形和動畫,從而促進其深入理解電磁場的理論和方法。
“電磁場與電磁波”課程內容涵蓋場論、靜電場、恒定電場、恒定磁場、時變電磁場、平面電磁波、波導和天線基礎等,但現有的電磁場可視化成果,并沒有涵蓋課程的全部重要知識點,在有些章節,缺少足夠的可視化成果,尤其是時變電磁場和恒定電場兩章。恒定電場是電磁場理論的重要組成部分,對其中的電磁模型進行可視化是必要的。
用Matlab可實現恒定電場的可視化。描繪電場矢量、電流密度矢量等矢量場的分布,既可以用quiver命令繪制點矢量圖,即在區域均勻選擇散點并附加箭頭,也可用streamline命令繪制流型的場圖[2,8]。相比quiver點矢量圖,用streamline命令繪制流線型場圖就會更加清楚美觀,能夠更加直觀地顯示恒定電場的全局概況和細節變化,具有清晰的物理含義。本文通過實例詳細論述用Matlab實現恒定電場可視化的方法,詳盡介紹流線型矢量場圖的繪制技巧,并用數字圖像處理技術對圖形進行美化處理,以求獲得良好的可視化效果。
相比恒定電場,靜電場的計算方法和可視化手段要更為豐富,且兩種場之間存在靜電比擬,所以在計算恒定電場物理量以及制作可視化圖形和動畫時,自然可采用靜電比擬方法,將恒定電場的模型轉化為比擬的靜電場模型進行簡化。

表1 恒定電場與靜電場可比擬的物理量
將恒定電場模型轉化為可比擬的靜電場模型后,用靜電場的計算方法和可視化手段,容易求出恒定電場物理量,繪制恒定電場的,φ,的分布圖形。從表1可知,恒定電場和靜電場對應的和φ的表達式和分布圖形將會完全一樣。

亮度差分近似值在視覺上表現為圖片中線條的邊緣信息,將圖片線條的邊緣信息與原圖片的灰度級進行相加,即可實現圖像的銳化,使繪制的等位線、電力線等更加清晰。下面以實例說明用Matlab實現恒定電場的可視化的方法,其中所有的場分布圖形都采用上述方法進行了圖像處理。
淺埋導體球是恒定電場的基本模型。設有一個半徑為α的淺埋導體球接地器[1],球心距離地面h=0.9 m,h?α,導體球電位V=100 V,土壤電導率為σ=0.025 S/m。建立直角坐標系,地面為xOy平面,導體球的球心位于(0,0,-h)處,怎么確定土壤中的和φ呢?

(1)
(2)


圖1 淺埋導體球附近電位和電力線分布圖
只有選擇合適的起點,才能繪制正確的電力線分布圖。對靜電比擬后的靜電場問題,討論電力線起點的選擇。對某個半徑很小的孤立帶電導體球,當距離它非常近時,遠處其它電荷產生的電場都可以忽略不計,同時,由于導體球的電荷均勻分布在導體球表面,所以導體球附近的電場是自身電荷產生的球對稱場,因此用streamline 命令繪制電力線時,起點可以選擇為均勻分布在一個代表導體球表面的小圓周上的一系列點,該圓周以導體球中心點所在的位置為圓心。繪制圖1的Matlab代碼如下:
clear;
V=100;%V,導體球電壓
b=2.5;%m, 繪圖區域半寬度
h=0.9;%m, 導體球埋深
height=2.5;%m, 繪圖區域高度
a=0.01;%m, 導體球半徑
M=101;
[x,z]=meshgrid(-b:2*b/(M-1):b,
-height:2*height/(M-1):0);%設置網格點
phi=V*a*(1./sqrt(x.^2+(z-h).^2)+1./sqrt(x.^2+(z+h).^2));%電位
figure;contour(x,z,phi,61);%繪制等位面
hold on;%固定當前圖形
axis equal;%設置x,z方向單位長度相等
[Ex,Ez]=gradient(-phi);%電場
KK=1:18;
Max=max(KK);
aa=20*a;%電力線起點所在圓的半徑
x1=[aa*cos(2*pi/Max*KK+pi/2)];
z1=[-h+aa*sin(2*pi/Max*KK+pi/2)];%起點坐標
streamline(x,z,Ex,Ez,x1,z1);%繪制電力線
設電導率為σ的無限大均勻漏電媒質里有兩個導體小球[1],半徑分別為r1和r2,中心距d=18 m,且d?r1,d?r2,小球之間的電壓V=5 V,計算和φ并制作可視化圖形。
以兩個導體球中心點連線的中垂面為yOz平面,建立直角坐標系。兩個導體球的中心點分別位于(-d/2,0,0)和(d/2,0,0)坐標點上。用靜電比擬方法,轉化為靜電場問題。此時兩個導體球帶等量異號電荷Q和-Q,小球間電壓為V=5 V,媒質介電常數為ε,可用靜電場的相關計算方法求解電位φ:
(3)
計算出電位φ,用contour命令繪制等位面,如圖2中虛線所示;用[Ex,Ez]=gradient(φ)命令求得電場分量Ex和Ez,再用streamline繪制出電力線,如圖2中帶箭頭線實線所示。電力線起點選擇為導體球圓周上的一系列均布點。為避免streamline命令執行時所電力線發生交疊和缺失現象,需要將圖2分成左右兩個對稱的區域分別繪制。

圖2 無限大漏電媒質中的等位面和電力線分布圖
設很深的湖底上方高h=0.5 m處懸浮著一根半徑為α的長直導線[1],α?h,導線平行于湖底。設湖底為良導體平面,電位為0,湖水電導率為σ,導線電位為V=5 V,求和φ并繪制場圖。通過靜電比擬方法找到對應的靜電場問題,即求無限大導體平面上方h=0.5 m處平行線電荷的場,可用鏡像法來求解,相當于帶等值異號線電荷(單位長度帶電量為ρL)的一對平行雙線產生的場。以導線中心線方向為z軸,以湖底為xOz平面建立直角坐標系。利用平行雙線電位公式導出電位:
(4)
其中:

計算出電位φ,再用contour命令繪制等位面,如圖3中虛線所示;然后用[Ex,Ey]=gradient(-φ)命令求得電場分量Ex和Ey,最后用streamline繪制出電力線,如圖3中帶箭頭線實線所示,起點可以選擇為均勻分布在一個代表導線表面的小圓周上的一系列點。

圖3 湖底上方載流直導線的等位面和電力線分布圖
半徑為α=0.05 m的的管形接地器直立于電導率為σ的土壤中[1],接地器與地面接觸點電位為V=5 V,埋入土壤部分長為l=1 m,設無窮遠處電位為0,求土壤中的求和φ并繪制場分布圖。
(5)
使用contour命令可繪制出導體管的等位面,如圖4中虛線所示。用[Ex,Ez]=gradient(-φ)命令求得電場分量Ex和Ez,再用streamline繪制出電力線,如圖4中帶箭頭線實線所示。

圖4 直管接地體附近的等位面和電力線分布圖
圖4中電力線起點坐標需要根據電場公式計算確定。根據電位V=5 V反算出接地導體單位長度的帶電量為:
(6)
總帶電量Q=1ρL,電位公式重寫為:
(7)
土壤中的電場強度公式為:
(8)
(9)

(10)
其中E0=Q/(4π2εl2),Ex,Ez和E都是x,z的函數。電力線的疏密程度反映電場強度的大小,即電力線的間距與電場強度成反比。據此確定電力線起點相對位置,用到公式(8~10),且需要進行迭代計算。電力線起點在圖4中接地圓管表面x=±α處和Z=-l處,現討論右邊x=α上的電力線起點。設從上往下第k(k=0,1,2,3,…)條電力線的坐標為(α,zk),其中,z0=0和z1已知,則第2條電力線起點的z坐標z2由下式確定:
(11)
此式含義是電力線的間距與電場強度數值的大小成反比,即電力線的疏密反映電場強度的大小。公式(11)中z2是未知量,所以E(α,z2)也是未知量,化簡后的方程不能求得解析解,可以用迭代法求解,易用Matlab編程實現。用同樣的方法可求解第k(k≥2)條電力線起點的z坐標zk,對應的公式為:
(12)
通過迭代計算可確定所有電力線的起點坐標。
用靜電比擬方法,將恒定電場問題轉化為靜電場問題。利用Matlab編程實現恒定電場的可視化教學,為抽象理論帶來直觀性,可加強學生參與感,能夠激發學生的積極性和創造性,同時能提高學生的建模能力,公式推演能力,編程能力,有利于培養學生綜合素質。