
はじめに
一般的に同じ符号の電荷を持つ粒子同士を近づけると反発力が生じ、違う符号を持つ電荷同士を近づけると吸引力が生じることは有名である。これを、電磁気力と呼ぶがその効力をわかりやすくするために、単位電荷あたりに働く力を電場、単位電荷が持つエネルギーを電位と定義した。これによって、電気的な力とそのエネルギーの関連性を簡単に扱うことができるようになった。しかし、電位はエネルギー故に、スカラーであるが電場はベクトルである。なので、本来は電場を扱うためは複雑なベクトルの合成をする必要がある。ただし、電位と電場の関係性を用いることによって機械的に電場の分布を求めることができる。今回は、Pythonを用いて、2つの点電荷が作る電位の分布から電場の分布を求めてそれを図示することを試みる。
定義
電場
電場とは、単位電荷あたりに働く電気的な力のことをいう。つまり、ベクトルであることに注意したい。なので、電荷が複数存在する場合の電場の分布を求めたい場合はベクトル合成をする必要性がある。以下クーロンの法則より点電荷が与える電場の「大きさ」は以下のように定義される。
ただし、電荷をQとして、電荷を持つその粒子からの距離をrとした。kは比例定数である。
電位
次に、電位とは、単位電荷を電場の生じる方向とは逆方向に動かした時に蓄えられるエネルギーのことをいう。とすると、電位は以下のように表すことができる。
この式から分かる通り、電位はスカラーである。ただし、今回は無限遠点を電位の基準とした。
電場と電位の関係
それぞれの定義より、電場の反対方向の力をr方向に沿って積分すれば電位になるということが分かる。つまり、電位を微分してマイナスを付けてあげれば電場が求まるともいえる。
これは、電位さえ分かればそれの傾きのマイナスをとることで電場は求まるということを示唆している。ちなみに、傾きは向きを持つのであくまでベクトルである。
二電荷について
さて、今回は電荷q1と電荷q2を持った二つの粒子を用意して、その電位と電場の分布を調べる。
異符号の電荷の場合
Pythonのプログラムは以下のようになる。
import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D coords,ds = np.linspace(-0.6,0.6,100,retstep=True) (xq1,yq1) = (0.1,0)#q1 (xq2,yq2)=(-0.1,0)#q2 X,Y = np.meshgrid(coords,coords) k = 9.0*10**9 q1=1 q2=-1 Z=k*q1/((X-xq1)**2+(Y-yq1)**2)+k*q2/((X-xq2)**2+(Y-yq2)**2) fig = plt.figure(figsize=(8, 8)) ax = fig.add_subplot(projection='3d') #電位のグラフ ax.plot_surface(X, Y, Z, alpha=0.7) #勾配の配列は行方向、列方向の順で返されるので注意 #勾配つまり傾きを求める dY,dX=np.gradient(Z,ds) Ex=-dX Ey=-dY fig,ax=plt.subplots(constrained_layout=True) #電場のグラフ plt.streamplot(X,Y,Ex,Ey) # ax.quiver(X,Y,dX,dY)
このプログラムを実効すすると、以下の二枚のグラフがプロットされる。
以下の画像は電位分布の画像である。
以下の画像は電場ベクトル分布の画像である。
よくある二枚の画像である。一枚目の電位分布の画像は、正電荷と負電荷が作る電位を表している。それを「電場と電位の関係」より機械的に処理することで電場の分布を得ることができる。
同符号の電荷をおいた場合
2つの電荷が同符号の場合について電位の分布と電場の分布を以下に示す。
(2つの電荷とも+1とした)
電位のグラフ
電場のグラフ
このように、同じ符号の電荷から放たれた電場は、決して交わらないということが分かる。
まとめ
今回は、点電荷が作る電場と電位について考察した。複数の電荷が生じている場合、電位はスカラーなので計算は加算をすれば良いが、電場はベクトルなので、ベクトル合成をしなければいけないのであった。そこで、あらかじめ電位を求めておいて、「電場と電位の関係」を用いることによって機械的に電場を導出することができた。最後に、Pythonを用いて二つの電荷の電場と電位を求めることでこのことについて確認した。
コメント