電界中の誘電体の電束線
一定電界中に誘電率εで半径aの球状誘電体を入れたときの電気力線描くことを考えよう。電界は次の式のようになっている。
=(1+) cosθ r>a
= cosθ r<a
=-(1-)sinθ r>a
= sinθ r<a
電束密度は
D=e0 E r>a
D=e E r<a
である。
プログラム
定義
定数の定義
電界の定義。ここではIf文を使って定義することにする。
球座標でφ=0のとき、直交座標に変換する。
作画のためのプログラム
(x,y)にいるときに、つぎに電気力線がどちらの方向に進むか計算する。それは
,
で与えられる。
計算が終了したかどうかを判定する関数。この場合はx<0の領域のみ計算するので、下のようなプログラムになる。たとえば、r=を計算して、r<aの時に終了するとか変更することができる。
実際に作画するところ。liというリストにLine[{{x1,y1},{x2,y2}, ---,{xn,yn}}]という線を描くグラフィック要素を付け加えていく。はじめは(-2.66,-2)という点から始まって次の点を計算し、limit[x,y]で無い限り点を付け加える。左右対称を利用している。
ysの範囲を変更して、プログラムを実行し、li, tsl, tsrを?で表示させてみるとよい。
実行
epとep0の値を変化させて計算させると面白い。ep/ep0<1の時にははじくようになる。
PlotVectorFieldを使うと簡単に表示できるが、美しさは今一歩。
Created by Mathematica (March 1, 2005) |