直線電流の周りの磁界

直線電流による磁界は以下のように表せる。
B=(((Subscript[μ, 0]) I)/(2  π r))
これは方位角方向成分である。これを可視化してみよう。

定義

まず方位角方向の成分は以下のとおりである。ここで定数部分は全部まとめて1にしてしまう。

B[r_] := 1/r;

これを直角直交座標に変換する。ただし、z軸ではr=0となり発散するのでそこでは磁場は仮に0にする。

Clear[r, phi, Bx, By];
r[x_, y_, z_] := Sqrt[x^2 + y^2];
phi[x_, y_, z_] := Arg[x + I*y];
Bx[x_, y_, z_] := -Sin[phi[x, y, z]]*
          B[r[x, y, z]];
By[x_, y_, z_] := 
        Cos[phi[x, y, z]]*B[r[x, y, z]];
Bz[x_, y_, z_] := 0;
Bx[0, 0, z_] = 0;
By[0, 0, z_] = 0;

表示

最初にz=0として二次元で表示してみよう。

Needs["Graphics`PlotField`"]

PlotVectorField[{Bx[x, y, 0], By[x, y, 0]}, {x, -3, 3}, {y, -3, 
        3}]

中心に渦をまいていることがわかる。また中心付近で矢印の長さは大きく、端になると小さくなる。ここで大きさを無視して一定の大きさでプロットすると下のようになる。

PlotVectorField[{Bx[x, y, 0], By[x, y, 0]}, {x, -3, 3}, {y, -3, 
        3}, ScaleFunction -> (0.5 &)]

これをさらに三次元で表示してみよう。

Needs["Graphics`PlotField3D`"]

PlotVectorField3D[{Bx[x, y, z], By[x, y, z], Bz[x, y, z]}, {x, -3, 
        3}, {y, -3, 3}, {z, -3, 3}]

z軸には依存しないので先ほどの図を重ねたような感じになる。さらに大きさを無視すると下の図のようになる。

PlotVectorField3D[{Bx[x, y, z], By[x, y, z], Bz[x, y, z]}, {x, -3, 
        3}, {y, -3, 3}, {z, -3, 3}, 
      ScaleFunction -> (0.5 &)]