太陽から地球まで約1億5000万kmの真空を、光はおよそ8分で駆け抜けてきます。途中に物質は何もないのに、太陽のエネルギーは確かに地球に届き、植物を育て、気候を動かし、太陽電池を発電させます。このエネルギーは どのようにして 真空中を運ばれるのでしょうか?
答えは「電磁場そのものがエネルギーを運ぶ」です。電場と磁場が直交しながら波として伝搬するとき、エネルギーもまたその波とともに移動します。このエネルギーの流れの方向と大きさを定量化するのが ポインティングベクトル(Poynting vector) です。
ポインティングベクトルを理解すると、次のような応用に直結します。
- アンテナ設計 — アンテナがどの方向にどれだけの電力を放射しているかを定量的に評価できます。放射パターンや指向性利得はポインティングベクトルから直接計算されます
- 太陽光発電 — 地表に到達する太陽光のエネルギー密度(約1,361 W/m$^2$)は、ポインティングベクトルの時間平均として定義されます
- 電磁両立性(EMC) — 電子機器から放射される不要電磁波のパワーを評価する際に、ポインティングベクトルによる放射電力の計算が基礎となります
- 光学 — レーザービームの強度分布やファイバー内の電力伝搬もポインティングベクトルで記述されます
本記事の内容
- 電磁場のエネルギー密度とその物理的意味
- ポインティングベクトルの導出(マクスウェル方程式から)
- ポインティングの定理(電磁エネルギーの保存則)
- 平面波のポインティングベクトル(瞬時値と時間平均)
- 放射強度と放射パターン
- 応用例:アンテナの放射電力と太陽光のエネルギー密度
- Pythonによるポインティングベクトルの可視化とダイポールアンテナの放射パターン
前提知識
この記事を読む前に、以下の記事を読んでおくと理解が深まります。
電磁場のエネルギー密度
直感的理解
コンデンサを充電すると、極板間の電場にエネルギーが蓄えられます。コイルに電流を流すと、コイル周辺の磁場にエネルギーが蓄えられます。これらの経験から、電場と磁場はそれ自体がエネルギーを持つ ことがわかります。ちょうど、バネを伸ばすとバネの弾性エネルギーに蓄えられるように、空間に電場や磁場を作ること自体にエネルギーが必要なのです。
では、空間の各点にどれだけのエネルギーが蓄えられているのでしょうか。これを表すのが 電磁場のエネルギー密度 です。
電場のエネルギー密度
平行板コンデンサを例に考えます。静電容量 $C$、電圧 $V$ のコンデンサに蓄えられるエネルギーは $U_E = \frac{1}{2}CV^2$ です。極板間隔 $d$、面積 $A$ の平行板コンデンサでは $C = \epsilon_0 A/d$、$V = Ed$ なので
$$ U_E = \frac{1}{2} \cdot \frac{\epsilon_0 A}{d} \cdot (Ed)^2 = \frac{1}{2}\epsilon_0 E^2 \cdot (Ad) $$
$Ad$ は極板間の体積ですから、単位体積あたりのエネルギー(エネルギー密度)は
$$ u_E = \frac{1}{2}\epsilon_0 E^2 $$
と求まります。この式は平行板コンデンサから導きましたが、実は 任意の電場分布 に対して成立する一般的な結果です。電場の2乗に比例するという形は、力学のバネのポテンシャルエネルギー $\frac{1}{2}kx^2$ と同じ構造を持っています。
磁場のエネルギー密度
同様に、インダクタンス $L$ のコイルに電流 $I$ が流れているとき、蓄えられるエネルギーは $U_B = \frac{1}{2}LI^2$ です。ソレノイドコイル(断面積 $A$、長さ $l$、巻数 $N$)では $L = \mu_0 N^2 A/l$、$B = \mu_0 NI/l$ なので
$$ U_B = \frac{1}{2} \cdot \frac{\mu_0 N^2 A}{l} \cdot \left(\frac{Bl}{\mu_0 N}\right)^2 = \frac{1}{2\mu_0}B^2 \cdot (Al) $$
$Al$ はソレノイド内部の体積なので、磁場のエネルギー密度は
$$ u_B = \frac{1}{2\mu_0}B^2 $$
です。
全エネルギー密度
電場と磁場が同時に存在する場合、全電磁エネルギー密度は両者の和になります。
$$ \begin{equation} u = u_E + u_B = \frac{1}{2}\epsilon_0 E^2 + \frac{1}{2\mu_0}B^2 \end{equation} $$
ベクトル表記では
$$ u = \frac{1}{2}\epsilon_0 |\bm{E}|^2 + \frac{1}{2\mu_0}|\bm{B}|^2 $$
です。この式は電磁場の「どこにどれだけのエネルギーがあるか」を完全に記述しています。空間のある領域 $V$ に蓄えられた全電磁エネルギーは
$$ U = \int_V u \, dV = \int_V \left(\frac{1}{2}\epsilon_0 |\bm{E}|^2 + \frac{1}{2\mu_0}|\bm{B}|^2\right) dV $$
で与えられます。
電磁場にエネルギーが蓄えられていることがわかりました。次の疑問は「そのエネルギーはどのように空間を流れるのか」です。これに答えるのがポインティングベクトルです。
ポインティングベクトルの導出
導出の方針
ポインティングベクトルは、マクスウェル方程式からエネルギー保存則の形を導くことで自然に現れます。導出の目標は、電磁エネルギー密度 $u$ の時間変化を、何らかの「エネルギー流束」の発散と結びつけることです。これは流体力学における連続の方程式(質量保存則)と同じ構造です。
使うのはマクスウェル方程式のうち、ファラデーの法則とアンペール・マクスウェルの法則の2つです。
$$ \nabla \times \bm{E} = -\frac{\partial \bm{B}}{\partial t} $$
$$ \nabla \times \bm{B} = \mu_0 \bm{J} + \mu_0 \epsilon_0 \frac{\partial \bm{E}}{\partial t} $$
ステップ1: エネルギー密度の時間微分
電磁エネルギー密度 $u = \frac{1}{2}\epsilon_0 |\bm{E}|^2 + \frac{1}{2\mu_0}|\bm{B}|^2$ を時間で微分します。
$$ \frac{\partial u}{\partial t} = \epsilon_0 \bm{E} \cdot \frac{\partial \bm{E}}{\partial t} + \frac{1}{\mu_0}\bm{B} \cdot \frac{\partial \bm{B}}{\partial t} $$
ここで $\frac{\partial}{\partial t}\left(\frac{1}{2}|\bm{E}|^2\right) = \bm{E} \cdot \frac{\partial \bm{E}}{\partial t}$ というベクトルの恒等式を使いました。
ステップ2: マクスウェル方程式で置き換える
$\frac{\partial \bm{B}}{\partial t}$ をファラデーの法則で、$\frac{\partial \bm{E}}{\partial t}$ をアンペール・マクスウェルの法則で置き換えます。
ファラデーの法則から:
$$ \frac{\partial \bm{B}}{\partial t} = -\nabla \times \bm{E} $$
アンペール・マクスウェルの法則から:
$$ \epsilon_0 \frac{\partial \bm{E}}{\partial t} = \frac{1}{\mu_0}\nabla \times \bm{B} – \bm{J} $$
これらを代入すると
$$ \frac{\partial u}{\partial t} = \bm{E} \cdot \left(\frac{1}{\mu_0}\nabla \times \bm{B} – \bm{J}\right) + \frac{1}{\mu_0}\bm{B} \cdot (-\nabla \times \bm{E}) $$
整理すると
$$ \frac{\partial u}{\partial t} = \frac{1}{\mu_0}\left(\bm{E} \cdot (\nabla \times \bm{B}) – \bm{B} \cdot (\nabla \times \bm{E})\right) – \bm{E} \cdot \bm{J} $$
ステップ3: ベクトル恒等式の適用
ここで、ベクトル解析の恒等式
$$ \nabla \cdot (\bm{E} \times \bm{B}) = \bm{B} \cdot (\nabla \times \bm{E}) – \bm{E} \cdot (\nabla \times \bm{B}) $$
を使います。右辺は上の式の括弧内の逆符号です。したがって
$$ \bm{E} \cdot (\nabla \times \bm{B}) – \bm{B} \cdot (\nabla \times \bm{E}) = -\nabla \cdot (\bm{E} \times \bm{B}) $$
これを代入すると
$$ \frac{\partial u}{\partial t} = -\frac{1}{\mu_0}\nabla \cdot (\bm{E} \times \bm{B}) – \bm{E} \cdot \bm{J} $$
ステップ4: ポインティングベクトルの定義
上の結果を整理して書き直します。
$$ \begin{equation} \frac{\partial u}{\partial t} + \nabla \cdot \bm{S} = -\bm{E} \cdot \bm{J} \end{equation} $$
ここで
$$ \begin{equation} \bm{S} = \frac{1}{\mu_0}\bm{E} \times \bm{B} \end{equation} $$
を ポインティングベクトル(Poynting vector) と定義します。
この式の物理的意味を読み解きましょう。
- $\frac{\partial u}{\partial t}$: ある点での電磁エネルギー密度の時間変化率
- $\nabla \cdot \bm{S}$: その点からのエネルギー流出率(発散)
- $-\bm{E} \cdot \bm{J}$: 電場が電荷に対してする仕事率(ジュール散逸)の負号
つまり、「電磁エネルギーの減少 = 外部への流出 + 荷電粒子へのエネルギー移行」という エネルギー保存則 を表しています。
ポインティングベクトル $\bm{S}$ の単位は W/m$^2$(ワット毎平方メートル)であり、単位面積あたりを単位時間に通過するエネルギー、すなわちエネルギー流束密度を表します。$\bm{S}$ の方向はエネルギーが流れる方向、大きさはエネルギー流束の強さです。
ポインティングベクトルの導出から、エネルギー保存則の式が得られました。次に、この保存則をより明確に定式化した「ポインティングの定理」を見ていきましょう。
ポインティングの定理
定理の積分形
前節で得られた微分形の式を、閉じた体積 $V$(境界面 $\partial V$)で積分すると、ポインティングの定理の積分形が得られます。
$$ \frac{\partial u}{\partial t} + \nabla \cdot \bm{S} = -\bm{E} \cdot \bm{J} $$
の両辺を体積 $V$ で積分します。
$$ \int_V \frac{\partial u}{\partial t} \, dV + \int_V \nabla \cdot \bm{S} \, dV = -\int_V \bm{E} \cdot \bm{J} \, dV $$
左辺第1項は体積内の全電磁エネルギーの時間変化率であり、左辺第2項にはガウスの発散定理を適用して面積分に変換します。
$$ \begin{equation} \frac{dU}{dt} + \oint_{\partial V} \bm{S} \cdot d\bm{A} = -\int_V \bm{E} \cdot \bm{J} \, dV \end{equation} $$
ここで $U = \int_V u \, dV$ は体積 $V$ 内の全電磁エネルギー、$d\bm{A}$ は境界面の外向き法線ベクトルです。
各項の物理的意味
この定理は電磁エネルギーの「収支報告書」です。
- $\frac{dU}{dt}$: 体積 $V$ 内の電磁エネルギーの時間変化率(蓄えられるエネルギーの増減)
- $\oint_{\partial V} \bm{S} \cdot d\bm{A}$: 境界面 $\partial V$ を通って外に流出するエネルギーの総量(正なら流出、負なら流入)
- $-\int_V \bm{E} \cdot \bm{J} \, dV$: 電場が荷電粒子に行う仕事率。正の場合($\bm{E} \cdot \bm{J} > 0$)は電磁場から粒子へエネルギーが移り、負の場合は粒子から電磁場へエネルギーが供給される(電源の役割)
式を書き直すと
$$ -\frac{dU}{dt} = \oint_{\partial V} \bm{S} \cdot d\bm{A} + \int_V \bm{E} \cdot \bm{J} \, dV $$
つまり「電磁エネルギーの減少量 = 境界面を通って流出した分 + 荷電粒子に与えた分」となり、エネルギーの出入りが完全に説明されます。
自由空間での簡略化
電荷や電流のない自由空間($\bm{J} = 0$)では、ポインティングの定理は
$$ \frac{\partial u}{\partial t} + \nabla \cdot \bm{S} = 0 $$
という単純な連続の方程式になります。これは流体力学の質量保存則 $\frac{\partial \rho}{\partial t} + \nabla \cdot (\rho \bm{v}) = 0$ と全く同じ構造です。電磁エネルギーは「流体のように」空間を流れ、どこかで減った分は必ずどこかから流出した分と一致します。
ポインティングの定理がエネルギー保存を保証することを確認しました。次に、最も基本的な電磁波である平面波に対してポインティングベクトルを具体的に計算し、エネルギーがどのように伝搬するかを見ましょう。
平面波のポインティングベクトル
平面電磁波の電場と磁場
$z$ 方向に伝搬する平面電磁波を考えます。電場が $x$ 方向に偏波している場合
$$ \bm{E}(z, t) = E_0 \cos(kz – \omega t) \, \hat{\bm{x}} $$
$$ \bm{B}(z, t) = \frac{E_0}{c} \cos(kz – \omega t) \, \hat{\bm{y}} $$
ここで $k = \omega/c$ は波数、$\omega$ は角周波数、$c = 1/\sqrt{\mu_0 \epsilon_0}$ は光速です。磁場の振幅が $E_0/c$ になるのは、マクスウェル方程式から導かれる平面波の性質 $|\bm{B}| = |\bm{E}|/c$ によるものです。
電場 $\bm{E}$ と磁場 $\bm{B}$ は互いに直交し、かつ波の進行方向 $\hat{\bm{z}}$ にも直交しています。この3つの方向が右手系をなすことは、$\hat{\bm{x}} \times \hat{\bm{y}} = \hat{\bm{z}}$ から確認できます。
瞬時ポインティングベクトル
ポインティングベクトルを計算します。
$$ \bm{S} = \frac{1}{\mu_0}\bm{E} \times \bm{B} $$
外積を計算すると
$$ \bm{S} = \frac{1}{\mu_0} \left[E_0 \cos(kz – \omega t) \, \hat{\bm{x}}\right] \times \left[\frac{E_0}{c} \cos(kz – \omega t) \, \hat{\bm{y}}\right] $$
$\hat{\bm{x}} \times \hat{\bm{y}} = \hat{\bm{z}}$ を使うと
$$ \bm{S} = \frac{E_0^2}{\mu_0 c} \cos^2(kz – \omega t) \, \hat{\bm{z}} $$
$c = 1/\sqrt{\mu_0 \epsilon_0}$ より $1/(\mu_0 c) = \sqrt{\epsilon_0/\mu_0} = 1/(\mu_0 c)$ なので
$$ \begin{equation} \bm{S}(z, t) = \frac{E_0^2}{\mu_0 c} \cos^2(kz – \omega t) \, \hat{\bm{z}} \end{equation} $$
ポインティングベクトルは 常に波の進行方向 ($+z$ 方向)を向いており、その大きさは $\cos^2$ で振動します。負になることはなく、エネルギーは常に波の進行方向に流れます。
エネルギー密度との関係
平面波のエネルギー密度を計算すると
$$ u = \frac{1}{2}\epsilon_0 E_0^2 \cos^2(kz – \omega t) + \frac{1}{2\mu_0}\frac{E_0^2}{c^2}\cos^2(kz – \omega t) $$
$c^2 = 1/(\mu_0 \epsilon_0)$ を代入すると第2項は
$$ \frac{1}{2\mu_0} \cdot \mu_0 \epsilon_0 E_0^2 \cos^2(kz – \omega t) = \frac{1}{2}\epsilon_0 E_0^2 \cos^2(kz – \omega t) $$
となり、電場のエネルギーと磁場のエネルギーが等しい ことがわかります。全エネルギー密度は
$$ u = \epsilon_0 E_0^2 \cos^2(kz – \omega t) $$
です。ポインティングベクトルの大きさ $|\bm{S}| = \frac{E_0^2}{\mu_0 c}\cos^2(kz – \omega t) = c \epsilon_0 E_0^2 \cos^2(kz – \omega t)$ と比較すると
$$ \begin{equation} |\bm{S}| = c \cdot u \end{equation} $$
つまり「エネルギー流束 = エネルギー密度 $\times$ 光速」です。これは直感的に自然な結果です。エネルギーが光速 $c$ で移動しているなら、単位面積を単位時間に通過するエネルギーは、単位面積 $\times$ $c$ の体積分のエネルギー、すなわち $uc$ に等しいはずです。
時間平均ポインティングベクトル
電磁波は非常に高い周波数で振動するため、実用上は 時間平均 が重要です。$\cos^2$ の時間平均は $1/2$ なので
$$ \begin{equation} \langle \bm{S} \rangle = \frac{E_0^2}{2\mu_0 c} \, \hat{\bm{z}} = \frac{1}{2}\sqrt{\frac{\epsilon_0}{\mu_0}}E_0^2 \, \hat{\bm{z}} \end{equation} $$
ここで $\sqrt{\mu_0/\epsilon_0} = \eta_0 \approx 377 \, \Omega$ は自由空間のインピーダンスです。これを使うと
$$ \langle \bm{S} \rangle = \frac{E_0^2}{2\eta_0} \, \hat{\bm{z}} $$
と簡潔に書けます。時間平均のポインティングベクトルの大きさを 放射強度(irradiance) または 強度(intensity) と呼び、$I$ で表すことがあります。
$$ I = |\langle \bm{S} \rangle| = \frac{E_0^2}{2\eta_0} $$
平面波のエネルギー伝搬の全体像がわかりました。次に、現実の電磁波源はアンテナのような有限サイズの放射体であり、波は球面状に広がります。このような場合のポインティングベクトルから「放射パターン」を定義しましょう。
放射強度と放射パターン
放射強度の定義
アンテナなどの有限サイズの放射源は、距離 $r$ が十分大きい遠方領域(far field)で近似的に球面波を放射します。遠方領域では、ポインティングベクトルは動径方向($\hat{\bm{r}}$ 方向)を向き、その大きさは方向 $(\theta, \phi)$ に依存します。
放射強度(radiation intensity) $U(\theta, \phi)$ は、単位立体角あたりの放射電力として定義されます。
$$ \begin{equation} U(\theta, \phi) = r^2 |\langle \bm{S} \rangle| \end{equation} $$
$r^2$ を掛けることで、距離による $1/r^2$ の減衰を打ち消し、方向依存性だけを取り出しています。$U$ の単位は W/sr(ワット毎ステラジアン)です。
全放射電力
放射強度を全立体角 $4\pi$ にわたって積分すると、アンテナの全放射電力 $P_{\text{rad}}$ が得られます。
$$ \begin{equation} P_{\text{rad}} = \oint U(\theta, \phi) \, d\Omega = \int_0^{2\pi}\int_0^{\pi} U(\theta, \phi) \sin\theta \, d\theta \, d\phi \end{equation} $$
等価的に、アンテナを囲む十分大きな球面上でポインティングベクトルの面積分をとっても同じ結果が得られます。
$$ P_{\text{rad}} = \oint \langle \bm{S} \rangle \cdot d\bm{A} = \int_0^{2\pi}\int_0^{\pi} |\langle \bm{S} \rangle| r^2 \sin\theta \, d\theta \, d\phi $$
指向性と放射パターン
指向性(directivity) $D(\theta, \phi)$ は、ある方向の放射強度と全方向均一に放射した場合(等方性放射)の放射強度の比です。
$$ D(\theta, \phi) = \frac{U(\theta, \phi)}{U_{\text{iso}}} = \frac{U(\theta, \phi)}{P_{\text{rad}}/(4\pi)} = \frac{4\pi U(\theta, \phi)}{P_{\text{rad}}} $$
放射パターン(radiation pattern) は、放射強度(または電場振幅)の方向依存性を極座標でプロットしたものです。通常は最大値で正規化した 正規化放射パターン を使います。
$$ F(\theta, \phi) = \frac{U(\theta, \phi)}{U_{\max}} $$
放射パターンの形状はアンテナの種類によって異なります。等方性アンテナ(理想的な点源)は全方向に均一に放射するため $F = 1$(球形パターン)ですが、実際のアンテナは方向によって放射の強弱があります。
次に、最も基本的なアンテナであるダイポールアンテナの放射パターンを理論的に導きます。
ダイポールアンテナの放射
微小ダイポールアンテナ(ヘルツダイポール)は、長さ $\ell \ll \lambda$(波長に比べて十分短い)の電流素子です。遠方領域での電場と磁場は
$$ \bm{E} = -j\eta_0 \frac{k I_0 \ell}{4\pi r}\sin\theta \, e^{-jkr} \, \hat{\bm{\theta}} $$
$$ \bm{B} = -j\frac{\mu_0 k I_0 \ell}{4\pi r}\sin\theta \, e^{-jkr} \, \hat{\bm{\phi}} $$
ここで $I_0$ はダイポールの電流振幅、$k = 2\pi/\lambda$ は波数、$\eta_0 = \sqrt{\mu_0/\epsilon_0}$ は自由空間インピーダンスです。
時間平均ポインティングベクトルは
$$ \langle \bm{S} \rangle = \frac{1}{2}\text{Re}[\bm{E} \times \bm{B}^*] \cdot \frac{1}{\mu_0} $$
を計算して(フェーザ表記の場合)
$$ \langle \bm{S} \rangle = \frac{\eta_0 k^2 |I_0|^2 \ell^2}{32\pi^2 r^2}\sin^2\theta \, \hat{\bm{r}} $$
したがって放射強度は
$$ U(\theta) = r^2 |\langle \bm{S} \rangle| = \frac{\eta_0 k^2 |I_0|^2 \ell^2}{32\pi^2}\sin^2\theta $$
であり、正規化放射パターンは
$$ \begin{equation} F(\theta) = \sin^2\theta \end{equation} $$
です。$\theta = \pi/2$(赤道方向)で最大、$\theta = 0, \pi$(ダイポール軸方向)でゼロになります。ダイポールアンテナは 軸方向には放射せず、垂直方向に最大放射する ドーナツ型のパターンを持ちます。
全放射電力を計算すると
$$ P_{\text{rad}} = \int_0^{2\pi}\int_0^{\pi} \frac{\eta_0 k^2 |I_0|^2 \ell^2}{32\pi^2}\sin^2\theta \cdot \sin\theta \, d\theta \, d\phi $$
$\phi$ の積分は $2\pi$、$\theta$ の積分は $\int_0^{\pi}\sin^3\theta \, d\theta = 4/3$ なので
$$ P_{\text{rad}} = \frac{\eta_0 k^2 |I_0|^2 \ell^2}{32\pi^2} \cdot 2\pi \cdot \frac{4}{3} = \frac{\eta_0 k^2 |I_0|^2 \ell^2}{12\pi} $$
最大指向性は
$$ D_{\max} = \frac{4\pi U_{\max}}{P_{\text{rad}}} = \frac{4\pi \cdot \frac{\eta_0 k^2 |I_0|^2 \ell^2}{32\pi^2}}{\frac{\eta_0 k^2 |I_0|^2 \ell^2}{12\pi}} = \frac{4\pi \cdot 12\pi}{32\pi^2} = \frac{3}{2} = 1.5 $$
すなわち、微小ダイポールの最大指向性は $D_{\max} = 1.5$($\approx 1.76$ dBi)です。これは、等方性アンテナに比べて赤道方向に50%多くのエネルギーを集中させていることを意味します。
理論的な導出が終わったところで、Pythonで実際にポインティングベクトルと放射パターンを可視化してみましょう。
応用例
太陽光のエネルギー密度
太陽から地球に届く電磁波の強度(太陽定数)は、地球軌道上で
$$ I_{\text{solar}} \approx 1361 \, \text{W/m}^2 $$
です。これはポインティングベクトルの時間平均に他なりません。ここから太陽光の電場振幅を求めてみましょう。
$I = \frac{E_0^2}{2\eta_0}$ から
$$ E_0 = \sqrt{2\eta_0 I_{\text{solar}}} = \sqrt{2 \times 377 \times 1361} \approx 1013 \, \text{V/m} $$
対応する磁場振幅は
$$ B_0 = \frac{E_0}{c} = \frac{1013}{3 \times 10^8} \approx 3.38 \times 10^{-6} \, \text{T} = 3.38 \, \mu\text{T} $$
太陽光の電場は約1000 V/mにもなりますが、日常的に感電しないのは、電場が高周波で振動しており、自由電荷を一方向に駆動し続けられないためです。
アンテナの放射電力
携帯電話の基地局アンテナが等価等方放射電力(EIRP)50 Wで送信している場合、距離 $r = 100$ m での時間平均ポインティングベクトルの大きさは
$$ |\langle \bm{S} \rangle| = \frac{P_{\text{EIRP}}}{4\pi r^2} = \frac{50}{4\pi \times 100^2} \approx 0.4 \, \text{mW/m}^2 $$
です。電波防護指針(総務省)の基準値(2 GHz帯で約1 mW/cm$^2 = 10$ W/m$^2$)と比較すると、十分に低い値であることがわかります。
これらの応用計算は、全てポインティングベクトルの定義から直接導かれます。次に、Pythonでポインティングベクトルと放射パターンを具体的に可視化します。
Pythonによるポインティングベクトルの可視化
平面波のポインティングベクトル
まず、平面波の電場・磁場・ポインティングベクトルの空間分布を可視化します。ある瞬間における電場、磁場、ポインティングベクトルがどのように分布しているかを確認します。
import numpy as np
import matplotlib.pyplot as plt
# 物理定数
c = 3e8 # 光速 [m/s]
mu0 = 4 * np.pi * 1e-7 # 真空の透磁率 [H/m]
eps0 = 1 / (mu0 * c**2) # 真空の誘電率 [F/m]
eta0 = np.sqrt(mu0 / eps0) # 自由空間インピーダンス [Ω]
# 波のパラメータ
E0 = 1.0 # 電場振幅 [V/m]
f = 1e9 # 周波数 [Hz]
omega = 2 * np.pi * f
k = omega / c # 波数
lam = c / f # 波長
# 空間軸(z方向に3波長分)
z = np.linspace(0, 3 * lam, 1000)
t = 0 # 時刻 t=0 のスナップショット
# 電場(x方向)、磁場(y方向)
Ex = E0 * np.cos(k * z - omega * t)
By = (E0 / c) * np.cos(k * z - omega * t)
# ポインティングベクトル(z方向)
Sz = (E0**2 / (mu0 * c)) * np.cos(k * z - omega * t)**2
# エネルギー密度
u = eps0 * E0**2 * np.cos(k * z - omega * t)**2
# z軸を波長単位に変換
z_norm = z / lam
fig, axes = plt.subplots(4, 1, figsize=(12, 12))
# 電場
axes[0].plot(z_norm, Ex, 'b-', linewidth=1.5)
axes[0].set_ylabel('$E_x$ [V/m]')
axes[0].set_title('Electric Field (x-component)')
axes[0].grid(True, alpha=0.3)
axes[0].set_xlim(0, 3)
axes[0].axhline(y=0, color='gray', linewidth=0.5)
# 磁場
axes[1].plot(z_norm, By * 1e9, 'r-', linewidth=1.5)
axes[1].set_ylabel('$B_y$ [nT]')
axes[1].set_title('Magnetic Field (y-component)')
axes[1].grid(True, alpha=0.3)
axes[1].set_xlim(0, 3)
axes[1].axhline(y=0, color='gray', linewidth=0.5)
# ポインティングベクトル
axes[2].plot(z_norm, Sz * 1e3, 'g-', linewidth=1.5)
axes[2].fill_between(z_norm, Sz * 1e3, alpha=0.2, color='green')
axes[2].set_ylabel('$S_z$ [mW/m$^2$]')
axes[2].set_title('Poynting Vector (z-component)')
axes[2].grid(True, alpha=0.3)
axes[2].set_xlim(0, 3)
# エネルギー密度
axes[3].plot(z_norm, u * 1e12, 'm-', linewidth=1.5)
axes[3].fill_between(z_norm, u * 1e12, alpha=0.2, color='purple')
axes[3].set_ylabel('$u$ [pJ/m$^3$]')
axes[3].set_title('Energy Density')
axes[3].set_xlabel('$z / \\lambda$')
axes[3].grid(True, alpha=0.3)
axes[3].set_xlim(0, 3)
plt.tight_layout()
plt.savefig('poynting_plane_wave.png', dpi=150, bbox_inches='tight')
plt.show()
上のグラフから、平面波のエネルギー伝搬の構造が明確に見て取れます。電場(1段目)と磁場(2段目)は同位相で振動し、ゼロ交差の位置も一致しています。ポインティングベクトル(3段目)は電場と磁場の振幅の積に比例するため、$\cos^2$ の形で振動し、常に正の値 をとります。つまりエネルギーは常に $+z$ 方向に流れています。エネルギー密度(4段目)はポインティングベクトルと同じ $\cos^2$ パターンで、$|\bm{S}| = cu$ の関係が成立していることが確認できます。電場と磁場がゼロになる節の位置ではポインティングベクトルもゼロになり、エネルギー流束がない点が存在することも注目に値します。
時間変化のアニメーション的表示
次に、異なる時刻でのポインティングベクトルを重ねて描くことで、エネルギーが波とともに伝搬する様子を確認します。
import numpy as np
import matplotlib.pyplot as plt
# パラメータ(正規化単位)
k = 2 * np.pi # 波数(波長=1の正規化)
omega = 2 * np.pi # 角周波数(周期=1の正規化)
z = np.linspace(0, 3, 500)
fig, axes = plt.subplots(2, 1, figsize=(12, 8))
# 複数時刻でのスナップショット
times = [0, 0.125, 0.25, 0.375, 0.5]
colors = plt.cm.viridis(np.linspace(0, 0.8, len(times)))
for t, color in zip(times, colors):
Ex = np.cos(k * z - omega * t)
Sz = np.cos(k * z - omega * t)**2
axes[0].plot(z, Ex, color=color, linewidth=1.2, label=f't = {t:.3f}T')
axes[1].plot(z, Sz, color=color, linewidth=1.2, label=f't = {t:.3f}T')
axes[0].set_ylabel('$E_x / E_0$')
axes[0].set_title('Electric Field at Different Times')
axes[0].legend(loc='upper right', fontsize=9)
axes[0].grid(True, alpha=0.3)
axes[0].set_xlim(0, 3)
axes[0].axhline(y=0, color='gray', linewidth=0.5)
axes[1].set_ylabel('$S_z / S_0$')
axes[1].set_xlabel('$z / \\lambda$')
axes[1].set_title('Poynting Vector at Different Times')
axes[1].legend(loc='upper right', fontsize=9)
axes[1].grid(True, alpha=0.3)
axes[1].set_xlim(0, 3)
plt.tight_layout()
plt.savefig('poynting_time_evolution.png', dpi=150, bbox_inches='tight')
plt.show()
この図から、電場とポインティングベクトルが時間とともに $+z$ 方向に移動する様子が確認できます。上段を見ると、電場の波形が右にシフトしており、波の伝搬が可視化されています。下段のポインティングベクトルも同様に右にシフトしていますが、電場とは異なり常に正の値を保ったままです。これは、エネルギーが波の進行方向に正味一方向に流れ続けていることを示しています。半周期($t = 0.5T$)で電場は符号が反転していますが、ポインティングベクトルは $\cos^2$ であるため同じ形状に戻ります。
ダイポールアンテナの放射パターン
2次元放射パターン
理論で導いた微小ダイポールの放射パターン $F(\theta) = \sin^2\theta$ を極座標でプロットします。
import numpy as np
import matplotlib.pyplot as plt
# 角度
theta = np.linspace(0, 2 * np.pi, 360)
# 微小ダイポールの放射パターン F(theta) = sin^2(theta)
F_dipole = np.sin(theta)**2
# 半波長ダイポールの放射パターン(比較用)
# F(theta) = [cos(pi/2 * cos(theta)) / sin(theta)]^2
# ゼロ除算を避けるために小さな値を追加
theta_safe = np.where(np.abs(np.sin(theta)) < 1e-10, 1e-10, np.sin(theta))
F_halfwave = (np.cos(np.pi / 2 * np.cos(theta)) / theta_safe)**2
F_halfwave = F_halfwave / np.max(F_halfwave) # 正規化
fig, axes = plt.subplots(1, 2, figsize=(14, 6), subplot_kw={'projection': 'polar'})
# 微小ダイポール
axes[0].plot(theta, F_dipole, 'b-', linewidth=2)
axes[0].fill(theta, F_dipole, alpha=0.1, color='blue')
axes[0].set_title('Hertzian Dipole\n$F(\\theta) = \\sin^2\\theta$', fontsize=12, pad=20)
axes[0].set_rlabel_position(45)
axes[0].set_rticks([0.25, 0.5, 0.75, 1.0])
axes[0].grid(True, alpha=0.3)
# 半波長ダイポール
axes[1].plot(theta, F_halfwave, 'r-', linewidth=2)
axes[1].fill(theta, F_halfwave, alpha=0.1, color='red')
axes[1].set_title('Half-wave Dipole\n$F(\\theta) = [\\cos(\\frac{\\pi}{2}\\cos\\theta)/\\sin\\theta]^2$',
fontsize=12, pad=20)
axes[1].set_rlabel_position(45)
axes[1].set_rticks([0.25, 0.5, 0.75, 1.0])
axes[1].grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('dipole_radiation_pattern.png', dpi=150, bbox_inches='tight')
plt.show()
極座標プロットから、ダイポールアンテナの放射特性が直感的に理解できます。左の微小ダイポール(ヘルツダイポール)は、$\sin^2\theta$ のパターンにより $\theta = 90^\circ$(水平方向)で最大、$\theta = 0^\circ, 180^\circ$(ダイポール軸方向)でゼロになる「8の字」型のパターンを示しています。右の半波長ダイポールも類似の形状ですが、メインローブがわずかに狭くなっており、指向性がやや高いことがわかります。これは半波長ダイポールの指向性 $D_{\max} = 1.64$(2.15 dBi)が微小ダイポールの $D_{\max} = 1.5$(1.76 dBi)より大きいことと一致しています。
3次元放射パターン
ダイポールの放射パターンの3次元形状(ドーナツ型)を可視化します。
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 角度のメッシュ
theta = np.linspace(0, np.pi, 100)
phi = np.linspace(0, 2 * np.pi, 100)
THETA, PHI = np.meshgrid(theta, phi)
# 放射パターン F(theta) = sin^2(theta)
R = np.sin(THETA)**2
# 直交座標に変換
X = R * np.sin(THETA) * np.cos(PHI)
Y = R * np.sin(THETA) * np.sin(PHI)
Z = R * np.cos(THETA)
fig = plt.figure(figsize=(12, 5))
# 3Dプロット
ax1 = fig.add_subplot(121, projection='3d')
surf = ax1.plot_surface(X, Y, Z, cmap='coolwarm', alpha=0.8,
rstride=2, cstride=2, linewidth=0.1)
ax1.set_xlabel('X')
ax1.set_ylabel('Y')
ax1.set_zlabel('Z (dipole axis)')
ax1.set_title('3D Radiation Pattern\n(Hertzian Dipole)')
ax1.set_xlim(-1, 1)
ax1.set_ylim(-1, 1)
ax1.set_zlim(-1, 1)
# ダイポール軸を描画
ax1.plot([0, 0], [0, 0], [-1.2, 1.2], 'k-', linewidth=2, label='Dipole axis')
ax1.legend(fontsize=9)
# dBスケールの2Dパターン
ax2 = fig.add_subplot(122, projection='polar')
theta_plot = np.linspace(0, 2 * np.pi, 360)
F_linear = np.sin(theta_plot)**2
# dBスケール(0 dBを最大値に正規化)
F_dB = 10 * np.log10(np.maximum(F_linear, 1e-10))
F_dB = np.maximum(F_dB, -30) # 下限を-30 dBに
ax2.plot(theta_plot, F_dB + 30, 'b-', linewidth=2) # 0-30スケール
ax2.set_title('Radiation Pattern (dB scale)\n0 dB = max', fontsize=12, pad=20)
ax2.set_rticks([0, 10, 20, 30])
ax2.set_yticklabels(['-30', '-20', '-10', '0'])
ax2.set_rlabel_position(135)
ax2.grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('dipole_3d_pattern.png', dpi=150, bbox_inches='tight')
plt.show()
左の3次元プロットは、ダイポールアンテナの放射パターンが ドーナツ(トーラス)型 であることを明瞭に示しています。ダイポール軸(Z軸、黒い直線)方向には放射がなく、赤道面(XY平面)方向に最大の放射があります。この形状は、$\sin^2\theta$ の回転体として直感的に理解できます。右のdBスケールの極座標プロットでは、ヌル(放射ゼロ)の方向と、メインローブの角度幅がより明確に読み取れます。-3 dB ビーム幅(最大値から3 dB下がる角度幅)は約90度であり、比較的広いビームを持つことがわかります。
ポインティングベクトルの矢線図
ダイポールアンテナ周辺のポインティングベクトル場を矢線図(quiver plot)で可視化します。
import numpy as np
import matplotlib.pyplot as plt
# 空間グリッド(xz平面、ダイポールは原点にz方向)
x = np.linspace(-3, 3, 15)
z = np.linspace(-3, 3, 15)
X, Z = np.meshgrid(x, z)
# 極座標への変換
R = np.sqrt(X**2 + Z**2)
R = np.where(R < 0.3, np.nan, R) # 原点付近を除外
THETA = np.arctan2(np.abs(X), Z) # 角度(z軸からの角度)
# ポインティングベクトルの大きさ(r^-2 に比例)
S_mag = np.sin(THETA)**2 / R**2
# ポインティングベクトルの方向(動径方向)
S_x = S_mag * X / np.sqrt(X**2 + Z**2)
S_z = S_mag * Z / np.sqrt(X**2 + Z**2)
# 矢印の長さを正規化
S_norm = np.sqrt(S_x**2 + S_z**2)
S_norm_max = np.nanmax(S_norm)
S_x_n = S_x / S_norm_max
S_z_n = S_z / S_norm_max
fig, ax = plt.subplots(figsize=(8, 8))
# ポインティングベクトル場
quiver = ax.quiver(X, Z, S_x_n, S_z_n, S_norm / S_norm_max,
cmap='YlOrRd', scale=15, width=0.004, alpha=0.8)
# 放射パターン(スケーリングして重ね描き)
theta_line = np.linspace(0, 2 * np.pi, 200)
r_pattern = 2.0 * np.sin(theta_line)**2 # スケール調整
x_pattern = r_pattern * np.sin(theta_line)
z_pattern = r_pattern * np.cos(theta_line)
ax.plot(x_pattern, z_pattern, 'b-', linewidth=2, alpha=0.5, label='Radiation pattern')
# ダイポール
ax.plot([0], [0], 'ko', markersize=8, zorder=5)
ax.plot([0, 0], [-0.3, 0.3], 'k-', linewidth=4, zorder=5, label='Dipole')
ax.set_xlabel('x (perpendicular to dipole)')
ax.set_ylabel('z (dipole axis)')
ax.set_title('Poynting Vector Field around a Dipole Antenna')
ax.set_xlim(-3, 3)
ax.set_ylim(-3, 3)
ax.set_aspect('equal')
ax.legend(loc='upper left')
ax.grid(True, alpha=0.2)
plt.colorbar(quiver, ax=ax, label='|S| (normalized)', shrink=0.8)
plt.tight_layout()
plt.savefig('poynting_quiver.png', dpi=150, bbox_inches='tight')
plt.show()
この矢線図から、ダイポールアンテナ周辺のエネルギー流れの全体像が把握できます。全てのポインティングベクトル(矢印)は原点(アンテナ位置)から放射状に外向きに延びており、エネルギーがアンテナから外部に流出していることを示しています。矢印の大きさと色は、水平方向($x$ 軸方向、$\theta = 90^\circ$)で最大、ダイポール軸方向($z$ 軸方向、$\theta = 0^\circ, 180^\circ$)でゼロに近づいています。青い曲線で重ね描きした放射パターンの形状と、矢印の大きさの分布がよく一致していることも確認できます。また、原点から離れるにつれて矢印が小さくなっていますが、これは $|\bm{S}| \propto 1/r^2$ の距離減衰を反映しています。
放射電力の数値計算
理論で導いた放射電力の式をPythonで数値的に検証します。球面上のポインティングベクトルを数値積分して放射電力を計算し、解析解と比較します。
import numpy as np
import matplotlib.pyplot as plt
# 物理定数
mu0 = 4 * np.pi * 1e-7
eps0 = 8.854e-12
c = 1 / np.sqrt(mu0 * eps0)
eta0 = np.sqrt(mu0 / eps0)
# ダイポールパラメータ
I0 = 1.0 # 電流振幅 [A]
freq = 1e9 # 周波数 [Hz]
lam = c / freq # 波長 [m]
k = 2 * np.pi / lam
ell = lam / 50 # ダイポール長(波長の1/50、微小ダイポール近似が有効な範囲)
# 球面上のポインティングベクトル(解析式)
def S_analytical(theta, r):
"""微小ダイポールの時間平均ポインティングベクトルの大きさ"""
return eta0 * k**2 * I0**2 * ell**2 / (32 * np.pi**2 * r**2) * np.sin(theta)**2
# 数値積分による放射電力
N_theta = 1000
N_phi = 500
r = 100 * lam # 遠方界
theta_arr = np.linspace(0, np.pi, N_theta)
phi_arr = np.linspace(0, 2 * np.pi, N_phi)
dtheta = theta_arr[1] - theta_arr[0]
dphi = phi_arr[1] - phi_arr[0]
# 数値積分: P = ∫∫ S(theta) * r^2 * sin(theta) dtheta dphi
P_numerical = 0.0
for i, theta in enumerate(theta_arr):
P_numerical += S_analytical(theta, r) * r**2 * np.sin(theta) * dtheta * dphi * N_phi / (2 * np.pi) * (2 * np.pi)
# より効率的な数値積分(台形則)
integrand = S_analytical(theta_arr, r) * r**2 * np.sin(theta_arr)
P_numerical = 2 * np.pi * np.trapz(integrand, theta_arr)
# 解析解
P_analytical = eta0 * k**2 * I0**2 * ell**2 / (12 * np.pi)
print(f"周波数: {freq/1e9:.1f} GHz")
print(f"波長: {lam*100:.2f} cm")
print(f"ダイポール長: {ell*1000:.2f} mm (λ/{lam/ell:.0f})")
print(f"放射電力(解析解): {P_analytical*1e6:.4f} μW")
print(f"放射電力(数値積分): {P_numerical*1e6:.4f} μW")
print(f"相対誤差: {abs(P_numerical - P_analytical)/P_analytical * 100:.4f} %")
# 放射抵抗
R_rad = 2 * P_analytical / I0**2
R_rad_formula = 80 * np.pi**2 * (ell / lam)**2
print(f"\n放射抵抗(計算値): {R_rad:.4f} Ω")
print(f"放射抵抗(公式): {R_rad_formula:.4f} Ω")
# 指向性の数値計算
D_numerical = 4 * np.pi * np.max(S_analytical(theta_arr, r) * r**2) / P_numerical
D_analytical = 1.5
print(f"\n最大指向性(数値計算): {D_numerical:.4f}")
print(f"最大指向性(解析値): {D_analytical:.4f}")
print(f"最大指向性 [dBi]: {10*np.log10(D_numerical):.2f} dBi")
# 可視化:被積分関数(角度分布)
fig, axes = plt.subplots(1, 2, figsize=(14, 5))
# 放射強度の角度分布
U_theta = S_analytical(theta_arr, r) * r**2
axes[0].plot(np.degrees(theta_arr), U_theta / np.max(U_theta), 'b-', linewidth=2)
axes[0].fill_between(np.degrees(theta_arr), U_theta / np.max(U_theta), alpha=0.2, color='blue')
axes[0].set_xlabel('$\\theta$ [degrees]')
axes[0].set_ylabel('$U(\\theta) / U_{max}$')
axes[0].set_title('Normalized Radiation Intensity')
axes[0].set_xlim(0, 180)
axes[0].grid(True, alpha=0.3)
axes[0].axvline(x=90, color='r', linestyle='--', alpha=0.5, label='$\\theta = 90°$')
axes[0].legend()
# 被積分関数 U(theta)*sin(theta) の分布
integrand_norm = U_theta * np.sin(theta_arr)
integrand_norm = integrand_norm / np.max(integrand_norm)
axes[1].plot(np.degrees(theta_arr), integrand_norm, 'r-', linewidth=2)
axes[1].fill_between(np.degrees(theta_arr), integrand_norm, alpha=0.2, color='red')
axes[1].set_xlabel('$\\theta$ [degrees]')
axes[1].set_ylabel('$U(\\theta)\\sin\\theta$ (normalized)')
axes[1].set_title('Integrand for Total Radiated Power')
axes[1].set_xlim(0, 180)
axes[1].grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('radiation_power_analysis.png', dpi=150, bbox_inches='tight')
plt.show()
数値計算の結果は、解析解と極めてよく一致します(相対誤差は0.01%以下)。これにより、ポインティングベクトルの積分から放射電力と指向性が正しく計算できることが数値的に検証されました。左のグラフは放射強度 $U(\theta)$ の角度分布で、$\theta = 90^\circ$ で最大(赤い点線)、$\theta = 0^\circ, 180^\circ$ でゼロになる $\sin^2\theta$ パターンが確認できます。右のグラフは被積分関数 $U(\theta)\sin\theta$ で、これが全放射電力を決める重要な量です。$\sin\theta$ の重みが付くことで、ピークが $\theta = 90^\circ$ からやや移動していることに注目してください。この重みは、天頂角 $\theta$ 付近の立体角要素が $\sin\theta \, d\theta \, d\phi$ であることに対応しています。
太陽光のポインティングベクトル
応用例として、太陽定数からのエネルギー計算をPythonで行います。
import numpy as np
import matplotlib.pyplot as plt
# 太陽定数
I_solar = 1361 # W/m^2(地球軌道上)
# 物理定数
mu0 = 4 * np.pi * 1e-7
eps0 = 8.854e-12
c = 3e8
eta0 = np.sqrt(mu0 / eps0)
# 太陽光の電場振幅と磁場振幅
E0_solar = np.sqrt(2 * eta0 * I_solar)
B0_solar = E0_solar / c
print("=== 太陽光のパラメータ ===")
print(f"太陽定数(ポインティングベクトル時間平均): {I_solar} W/m^2")
print(f"電場振幅 E0: {E0_solar:.1f} V/m")
print(f"磁場振幅 B0: {B0_solar*1e6:.2f} μT")
print(f"自由空間インピーダンス η0: {eta0:.1f} Ω")
# 時間平均エネルギー密度
u_avg = I_solar / c
print(f"\n時間平均エネルギー密度: {u_avg*1e6:.3f} μJ/m^3")
# 太陽電池パネルへの入射電力
panel_areas = [1, 10, 100] # m^2
efficiencies = [0.15, 0.20, 0.25]
print("\n=== 太陽電池パネルの発電量 ===")
for area in panel_areas:
for eff in efficiencies:
power = I_solar * area * eff
print(f"面積 {area:3d} m^2, 効率 {eff*100:.0f}%: {power:.0f} W ({power/1000:.1f} kW)")
# 距離による減衰
distances = np.array([0.387, 0.723, 1.0, 1.524, 5.203, 9.537, 19.19, 30.07]) # AU
planet_names = ['Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']
I_planets = I_solar / distances**2
fig, ax = plt.subplots(figsize=(10, 6))
ax.bar(planet_names, I_planets, color=plt.cm.YlOrRd(np.linspace(0.9, 0.2, len(distances))))
ax.set_ylabel('Solar Irradiance [W/m$^2$]')
ax.set_title('Solar Irradiance at Each Planet')
ax.set_yscale('log')
ax.grid(True, alpha=0.3, axis='y')
# 数値ラベル
for i, (name, I) in enumerate(zip(planet_names, I_planets)):
ax.text(i, I * 1.3, f'{I:.1f}', ha='center', fontsize=9, fontweight='bold')
plt.tight_layout()
plt.savefig('solar_irradiance.png', dpi=150, bbox_inches='tight')
plt.show()
このグラフは各惑星の軌道上における太陽光の放射照度を対数スケールで示しています。地球の値が1361 W/m$^2$ であるのに対し、太陽に最も近い水星では約9090 W/m$^2$ と約6.7倍、最も遠い海王星ではわずか1.5 W/m$^2$ と地球の約900分の1に低下しています。この $1/r^2$ 減衰は、ポインティングベクトルの大きさが球面波の幾何学的拡散により距離の2乗に反比例することの直接的な結果です。火星の軌道上での放射照度は約586 W/m$^2$ であり、将来の火星基地で太陽光発電を行う場合、地球と同じ発電量を得るには約2.3倍の面積のパネルが必要になることが読み取れます。
まとめ
本記事では、ポインティングベクトルの導出から応用までを体系的に解説しました。
- 電磁場のエネルギー密度: 電場のエネルギー密度 $\frac{1}{2}\epsilon_0 E^2$ と磁場のエネルギー密度 $\frac{1}{2\mu_0}B^2$ の和が、空間の各点に蓄えられた電磁エネルギーを表す
- ポインティングベクトル: $\bm{S} = \frac{1}{\mu_0}\bm{E} \times \bm{B}$ として定義され、電磁エネルギーの流れの方向と大きさを表す。単位は W/m$^2$
- ポインティングの定理: $\frac{\partial u}{\partial t} + \nabla \cdot \bm{S} = -\bm{E} \cdot \bm{J}$ は電磁エネルギーの保存則であり、エネルギー密度の変化、エネルギー流束の発散、ジュール散逸の3つの項が保存則を形成する
- 平面波: ポインティングベクトルは常に波の進行方向を向き、$|\bm{S}| = cu$ の関係が成り立つ。時間平均は $\langle S \rangle = E_0^2/(2\eta_0)$ で、自由空間インピーダンス $\eta_0 \approx 377 \, \Omega$ が登場する
- 放射パターン: ダイポールアンテナは $\sin^2\theta$ のパターン(ドーナツ型)を持ち、最大指向性は 1.5(1.76 dBi)
- 応用: 太陽光のエネルギー密度やアンテナの放射電力は、全てポインティングベクトルから計算される
ポインティングベクトルは、電磁気学と電波工学を結ぶ最も重要な概念の一つです。アンテナの設計、電波伝搬の解析、電磁両立性(EMC)の評価など、実務的な場面で繰り返し登場します。
次のステップとして、以下の記事も参考にしてください。