電気力線の描き方 4/1/2019 Page 1/14

電気力線の描き方
2006/06/09 平野拓一
1. 電気力線の微分方程式
1.1 導出簡単のため、２次元空間(x,y)で考えるが、容易に３次元に拡張可能である。力線の方程式
上の点が満たす微分方程式の導出は[1]に書かれている。
[導出 1]E ( x , y )  dr = 0− E x dy + E y dx = 0dx dy=
Ex E y[導出 2]E ( x , y )  dl = 0
電気力線上の線素ベクトル dl は電界に平行なので上の関係が成り立つ。

xˆExyˆ
Eyzˆ
0 =0dxdy0

電気力線の描き方 4/1/2019 Page 2/14zˆ ( E x dy − E y dx ) = 0dx dy=
Ex E yまた、これを極座標で書くと、 dl = rˆdr + ˆrd , E = rˆEr + ˆE なので、 dl  E = 0 より、

dr rd
=ErEとなる。
実際には力線は多価関数となることが多く、その場合には一意に力線の方程式を決定するためにパラメータ表示すると便利である。その方法は[2]に書かれている。
1.2 アニメーションのための電気力線の描画法
ある時間の電気力線の描き方と、アニメーションのために、ある時間の電気力線がどのように動くかを調べる理論は[2]に詳しく書かれている。
２次元グラフィックを描く作業を簡単に説明すると、1. ある線に沿って力線を描くための始点を決定する。その際、力線を描く２点を選び、その２点間のフラックス（流束）  0 を計算する。そして、力線の間のフラックス（流束）が一定になるように始点を選んでいく。こうすることによって、界が強い場所では力線の密度が高くなり、弱い場所では力線の密度が低くなる。
2. 1 で決定した始点から[2]の式(5)-(7)を解いて力線を描く。Mathematica では NDSolve
コマンドで簡単に微分方程式の初期値問題を解くことができる。また、付録 A.2 で解説する FieldLines パッケージを用いるとより楽である。
3. 1 で決定した力線の始点を[2]の式(23)-(26)を解いて時間変化を計算する。そして 2 の方法で再び力線を描く。この作業を所望の時間分繰り返す。
ただし、[2]の理論にもまだ次のような欠点がある。
・ [2]の Fig.3 は過渡状態のように電気力線を描いているからうまく電気力線が進行しているように見えるが、無限ループのアニメーションを作ろうとした場合にはうまくいかない。その理由は、無限ループのアニメーションではちょうど一周期たったときに電気力線が次の電気力線にぴったり重なるようにしなければならない。そして、そのためには弱い電気力線が消滅していくように描く必要があるが、その一般的な方法は述べられていない。
・ 力線を十分に蜜に描けばうまく描けるはずだが、実際にグラフィックを作るときはある程度疎になってしまう場所があり、その場所ではアンダーサンプリングになりうまく描電気力線の描き方 4/1/2019 Page 3/14

けない。
・ 電気力線を描く複数の始点を決めるとき、ある線上で隣り合う２つの力線の間の流束(フラックス)が一定になるように始点を配置する。しかし、正負が入れ替わる電磁界の電気力線を描くとき、絶対値を取ってしまうと後の始点を決めるときに実際の粗密が正確に表せない。これは特に力線の密度が疎な場所では見かけ上汚くなってしまう。
このように、力線を描くことは電磁界強度を描いたり、電力密度を描いたり、フィールドのベクトル表示をするよりもはるかに難しい。最近の電磁界シミュレータは非常に見栄えのよいグラフィカルな出力表示をするが、それでも出力結果を電気力線で表示するシミュレータは見たことがない。電気力線を描くことはそれだけ難しいからだと思われる。

2. 例題
2.1 点電荷の電気力線

U =E=q4 0 rq4 0 r 2rˆ

これから電気力線の方程式を求めよう。

dr rd
=, E dr = rE r dErEd=0r
d = 0 (r  0)

 d = C ( r  0)
 = C (r  0)

電気力線の描き方 4/1/2019 Page 4/14

電気力線の描き方 4/1/2019 Page 5/14

2.2 電気双極子の電気力線

p = Qδ を双極子モーメントとして

U=p rQ cos =34 0 r
4 0 r 2E = −U =Q
(rˆ 2 cos  + θˆ sin  )40 r 2

これから電気力線の方程式を求めよう。

dr rd
=ErE
drrd
=2 cos  sin drcos =2drsin 
変数分離形になった。両辺積分してdrcos  r = 2 sin  dlog r = 2 log sin  + Clog r − log(sin 2  ) = Clogr=Csin 2 

電気力線の描き方 4/1/2019 Page 6/14

電気力線の描き方 4/1/2019 Page 7/14

2.3 微小ダイポールの電気力線 [3]上の図のように微小ダイポールが z 軸に沿って原点に置かれている。長さが波長に比べて十分に短いダイポールアンテナを微小ダイポールアンテナと言い、イメージ的には正と負の電荷を高速に入れ替えてｚ方向に振動させているような感じである。電磁界が空間を伝わる速度は無限ではなく、実際には高速 c なので電磁界は波となって空間を伝わっていく。
微小ダイポールの電磁界はEr = 0 k 0 2 Ie − jk r  1j − cos 22(kr) 3  (kr)0

 0 k 0 2 Ie − jk r  j
1j E =− + sin 
24(kr) 3  kr (kr)0H = 0 k 0 2 Ie − jk r  j1 sin  +2 4 kr (kr) 0

ここで、

R = k0 r

T = tK=

 0 k 0 2 I
4と置換すると、電磁界はj 
 1
E r = 2 Ke − jR  2 − 3  cos R 
R1j jE = Ke − jR  + 2 − 3  sin R 
R R電気力線の描き方 4/1/2019 Page 8/141 
jH  = Ke − jR  + 2  sin R R 
電磁界の時間表現はj  1er = Re[ E r e jT ] = Re[ 2 Ke j (T − R )  2 − 3  cos  ]R R cos(T − R) sin( T − R) = 2 K cos  +
R2R3
1j 
je = Re[ E e jT ] = Re[ Ke j (T − R )  + 2 − 3  sin  ]R R R 1

1 
1= K sin   2 cos(T − R) −  − 3  sin( T − R)
R R R1 jh = Re[ H  e jT ] = Re[ Ke j (T − R )  + 2  sin  ]R R  cos(T − R) sin( T − R) = K sin  −RR2
これを電気力線の微分方程式に代入して、dr rd dR Rd ==,ere
ere

dR
Rd =
 cos(T − R) sin( T − R)  1
1 1 
2 K cos  +K sin   2 cos(T − R) −  − 3  sin( T − R)
23
RRR R R
11 
1cos(T − R) −  − 3  sin( T − R)
2cos R
R R dR = 2dcos(T − R) sin( T − R)sin +R
R211 
cos(T − R) − 1 − 2  sin( T − R)cos R R dR = 2dsin( T − R)sin cos(T − R) +R
幸運にも変数分離形になった。
左辺 F ( R ) = cos(T − R ) +sin( T − R )の分母の R での微分はR

電気力線の描き方 4/1/2019 Page 9/14

d sin( T − R) cos(T − R) +dR R− R cos(T − R) − sin( T − R)= sin( T − R) +R2cos(T − R) 1 =−+ 1 − 2  sin( T − R)R R となり、これまた幸運にも分子と等しくなっている。よって、−F ( R)cos dR = 2d
F ( R)sin 

両辺積分できて、−F ( R)cos dR = 2dF ( R)sin − log F ( R) = 2 log sin  + Clog

12− log sin  = CF ( R)log

1=CF ( R) sin 2 

よって、F ( R) sin 2  = const .
sin( T − R )  2cos(T − R ) + sin  = const .
R
上式において、右辺の定数を変えることによって、異なる電気力線を表現することができる。よって、左辺の等高線を描けば微小ダイポールから放射される電気力線の様子を描くことができる。

電気力線の描き方 4/1/2019 Page 10/14

References[1] 寺沢寛一、「自然科学者のための 数学概論」、岩波書店[2] K.W. Kark, and R. Dill, “A general theory on the graphical representation ofantenna-radiation fields,” IEEE Trans. Antennas Propag., Vol.32, No.2, Feb. 1990.
[3] 稲垣直樹、「電磁気学」、14.7.5 節、コロナ社、2000 年

電気力線の描き方 4/1/2019 Page 11/14

A. 付録
A.1 力線の方程式
数学概論(6.12, p.258)

dy= f ( x, y )dx
この 1 階微分方程式 ( x, y ,dy) = 0 を解くと１つの積分定数 C を含んだ解dxy =  ( x, C )が得られる(積分定数 C によって力線が区別され、特徴付けられる)。
A.2 Mathematica の FieldLines パッケージ
A.2.1 FieldLines パッケージのインストールと設定
Mathematica を使うと簡単に電気力線のグラフィックを描くことができる。ただし、デフォルトではそのような機能はサポートされておらず、
http://library.wolfram.co.jp/infocenter/MathSourceにあるフリーの拡張パッケージ ExtendGraphics を用いる。ExtendGraphics は
http://library.wolfram.com/infocenter/Books/3753/
でダウンロード可能。このパッケージは Mathematica2.2 で開発されている。FieldLine コ
マンドは内部で NDSolve コマンドを用いており、Mathematica2.2 から Mathematica3.0にバージョンアップされたとき、出力形式に変更があったため、ダウンロードしたファイルはそのままでは動かない。次のページに書かれている変更が必要となる。
http://support.wolfram.com/applicationpacks/unsupported/extend/fieldlines.ja.html
FieldLines コマンドを使うための流れをまとめると次のようになる。
1. http://library.wolfram.com/infocenter/Books/3753/
で ExtendGraphics 拡張パッケージをダウンロードする。
2. ダ ウ ン ロ ー ド し た フ ァ イ ル を 展 開 し 、 生 成 さ れ る ExtendGraphics フ ォ ル ダ をMathematica がインストールされているフォルダの AddOns¥ExtraPackages の下にコピーする。例えば、下のようなフォルダ構成になっている。
C:¥Program Files¥Wolfram Research¥Mathematica¥5.1¥AddOns¥ExtraPackages
3. ExtendGraphics フォルダ内にある FieldLines.m を
http://support.wolfram.com/applicationpacks/unsupported/extend/fieldlines.ja.html
に従ってメモ帳等のテキストエディタで開き、4 ヶ所ある
t2 = Part[ sol, 1, 0, 1, 2] ;を全て

電気力線の描き方 4/1/2019 Page 12/14

t2 = Part[ sol, 1, 0, 1, 1, 2] ;と書き換えて保存する。
A.2.2 FieldLines パッケージの使い方
使い方は次のようになる。

電気力線の描き方 4/1/2019 Page 13/14
拡張パッケージをロード?はコマンドの説明を表示するコマンド

A.2.3 FieldLines パッケージのアルゴリズム
FieldLines は次のように実装されている。

電気力線の描き方 4/1/2019 Page 14/14

5 行目にあるから、t の媒介変数（パラメータ）表示に置き換えて微分方程式の初期値問題を解いていることがわかる。これは、dy E y=の微分方程式を直接解くとある x において２つ以上の値
dx E xを取る問題（多価関数）には対応できないからである。媒介変数 t による定式化は次のようになる。

dl = xˆdx
dydt + yˆ dt , E = xˆE x + yˆ E y なので、 dl  E = 0 より、dtdtdy dy 
 dx
 dx
E x dt = 0 xˆ dt + yˆ dt   (xˆE x + yˆ E y ) = zˆ E y −dt dt
 dt
 dt

すなわち、

1 dx
1 dy=E x dt E y dtとなる。上式の両辺の値を C ( t の関数であってもよい)と仮定すると次の連立微分方程式が得られる。

 dx
 dt = CE x dy = CEy dt(上式から C を消去するとdy E y=が得られる)上の連立微分方程式の x t =0 , y t =0 を与える
dx E x初期値問題をルンゲクッタ法などで数値的に解けば電気力線を描くことができる。
Matehmatica では NDSolve コマンドで連立微分方程式を解いている。 C は電気力線に沿って伸びていくときの増加率を表す。FieldLines パッケージでは C = 1 とされている。