直線電荷による電位と電界

ここではｚ軸に沿って直線状に分布している電荷による電位と電界を表示してみよう。

このときの電位は定数項をはぶき、R=1のところで電位が0になるとすれば簡単にv=log(1/R)のようになる。ただしプログラムでは、R=0で発散するのを防ぐようにする。

Clear[v, r, phi];
v[r_] := If[r == 0, 0, Log[1/r]];
r[x_, y_, z_] := Sqrt[x^2 + y^2];
phi[x_, y_, z_] := Arg[x + I*y];

Needs["Graphics`ContourPlot3D`"]

gra1 = 
      ContourPlot3D[
        v[r[x, y, z]], {x, -2, 2}, {y, -2, 2}, {z, -1, 1}, 
        Contours -> {0, -0.5}]

等電位面をv=0[v]とv=-0.5[V]で表示させてみると、z軸を中心とする円筒になっていることがわかる。これを上から眺めれば以下のようになるだろう。

ContourPlot[v[r[x, y, 0]], {x, -2, 2}, {y, -2, 2}, 
      PlotPoints -> 30, ContourShading -> False]

次に電界の表示をしてみよう。

Needs["Graphics`PlotField3D`"];

Clear[Er, Ex, Ey, Ez];
Er[r_] := 1/r;
Ex[x_, y_, z_] := 
        Cos[phi[x, y, z]]*Er[r[x, y, z]];
Ey[x_, y_, z_] := Sin[phi[x, y, z]]*Er[r[x, y, z]]; 
    Ez[x_, y_, z_] := 0;
Ex[0, 0, z_] = 0;
Ey[0, 0, z_] = 0;

gra2 = 
      PlotVectorField3D[{Ex[x, y, z], Ey[x, y, z], 
          Ez[x, y, z]}, {x, -1.2, 1.2}, {y, -1.2, 1.2}, {z, -1.2, 
          1.2}, VectorHeads -> True, ScaleFunction -> (0.5 &), 
        PlotPoints -> 5]

これを上からみれば、

Needs["Graphics`PlotField`"]

PlotVectorField[{Ex[x, y, 0], Ey[x, y, 0]}, {x, -2, 2}, {y, -2, 
        2}, ScaleFunction -> (0.5 &)]

最後に三次元の図を重ね合わせてみる。等電位面に対して電界のベクトルが垂直になっていることがわかる。ｚ軸に沿った線電荷から放射状に電界が発生しており、等電位面は直線電荷を包み込む円柱の面になっていることがわかる。

Show[gra1, gra2]