鏡像法を用いた誘電体境界面の電界

ここでは表記の話題を取り扱ってみよう。x>0は真空で、x<0は誘電体であるとする。このときには鏡像法を用いて、真空中ではq, q'の二つの電荷が(d,0,0), (-d,0,0)にあり、誘電体中では(d,0,0)にq''があるとして、その二つを境界条件を用いて接続する。

まず定数の定義を行う。

q = 1;
d = 1;
ep0 = 1;
ep = 3;
qd = (ep0 - ep)/(ep0 + ep)*q;
qdd = 2*ep/(ep0 + ep)*q;

次にphi1は真空中,phi2は誘電体中の電位を表す。それらを組み合わせてphiを作る。

Clear[phi1, phi2, phi];
phi1[x_, 
          y_] := q/ep0/(Sqrt[(x - d)^2 + y^2]) + qd/
              ep0/(Sqrt[(x + d)^2 + 
                  y^2]);
phi2[x_, 
          y_] := qdd/
            ep/(Sqrt[(x - d)^2 + 
                y^2]);
phi[x_, y_] := 
        If[x ≥ 0,  phi1[x, y], phi2[x, y]];

電位

本来はphi1は真空中のみなのでx>0だけで使えるが、全体をあえて表示させてみよう。今回の条件の時には右の電荷が大きく、左は負で小さい。最終的にはこの図の右半分だけつまり真空中のみこの式は有効となる。

ContourPlot[phi1[x, y], {x, -3, 3}, {y, -3, 3}, 
      PlotPoints -> 100]

鳥瞰図でプロットすると右の山が高いことが分かる。

Plot3D[phi1[x, y], {x, -3, 3}, {y, -3, 3}, 
      PlotPoints -> 20]

逆に誘電体中の様子はphi2をプロットすれば分かる。この図は逆に最終的には左半分だけが誘電体として使われる。

ContourPlot[phi2[x, y], {x, -3, 3}, {y, -3, 3}, 
      PlotPoints -> 100]

実際にはこの二つが組み合わさって以下のような図になる。きちんと境界条件として、x=0のところで電位が一致していることが分かる。

gra1 = 
      ContourPlot[phi[x, y], {x, -3, 3}, {y, -3, 3}, 
        PlotPoints -> 100, ContourShading -> False]

電界

電界はE=-grad phiで求めることができる。

Clear[Ex, Ey];
Ex[x_, y_] = -D[phi[x, y], x];
Ey[x_, y_] = -D[phi[x, y], y];

Needs["Graphics`PlotField`"]

gra2 = 
      PlotVectorField[{Ex[x, y], Ey[x, y]}, {x, -3, 3}, {y, -3, 3}, 
        ScaleFunction -> (0.5 &)]

Show[gra1, gra2]