電磁誘導とファラデーの法則

電磁誘導は、磁束の時間変化が起電力を生み出す現象です。発電機、変圧器、誘導加熱など、現代技術の基盤となっています。

本記事の内容

  • 磁束と磁束の変化
  • ファラデーの法則 $\mathcal{E} = -d\Phi_B/dt$
  • レンツの法則
  • 運動起電力と変圧器起電力
  • 微分形 $\nabla\times\bm{E} = -\partial\bm{B}/\partial t$
  • Pythonでの可視化

前提知識

磁束

閉曲面 $S$ を貫く磁束:

$$ \Phi_B = \int_S \bm{B} \cdot d\bm{A} $$

単位はウェーバー [Wb] = [V·s] です。

ファラデーの法則

閉回路を貫く磁束が時間変化すると、回路に起電力(EMF)が誘導されます:

$$ \boxed{\mathcal{E} = -\frac{d\Phi_B}{dt}} $$

$N$ 巻きコイルの場合:$\mathcal{E} = -N\frac{d\Phi_B}{dt}$

レンツの法則

マイナス符号の意味:誘導電流は、磁束の変化を打ち消す方向に流れる。これはエネルギー保存の帰結です。

運動起電力

一様磁場 $\bm{B}$ 中で長さ $l$ の導体が速度 $\bm{v}$ で運動するとき:

$$ \mathcal{E} = \int (\bm{v}\times\bm{B}) \cdot d\bm{l} $$

直交する場合:$\mathcal{E} = Blv$

微分形

積分形にストークスの定理を適用すると:

$$ \oint \bm{E}\cdot d\bm{l} = -\frac{d}{dt}\int_S \bm{B}\cdot d\bm{A} $$

$$ \boxed{\nabla\times\bm{E} = -\frac{\partial\bm{B}}{\partial t}} $$

これはマクスウェル方程式の一つです。時間変化する磁場が電場の回転を生みます。

交流発電機

面積 $A$ のコイルが角速度 $\omega$ で一様磁場中を回転:

$$ \Phi_B(t) = BA\cos\omega t $$

$$ \mathcal{E}(t) = NBA\omega\sin\omega t = \mathcal{E}_0\sin\omega t $$

Pythonでの可視化

import numpy as np
import matplotlib.pyplot as plt

fig, axes = plt.subplots(1, 3, figsize=(16, 5))

# (1) 回転コイルのEMF
t = np.linspace(0, 0.1, 500)
f = 50  # 50Hz
omega = 2*np.pi*f; N = 100; B = 0.5; A = 0.01
Phi = N*B*A*np.cos(omega*t)
EMF = N*B*A*omega*np.sin(omega*t)

ax1t = axes[0].twinx()
axes[0].plot(t*1e3, Phi*1e3, 'b-', lw=2, label='$\\Phi$ [mWb]')
ax1t.plot(t*1e3, EMF, 'r-', lw=2, label='EMF [V]')
axes[0].set_xlabel('Time [ms]'); axes[0].set_ylabel('$\\Phi$ [mWb]', color='b')
ax1t.set_ylabel('EMF [V]', color='r')
axes[0].set_title('AC Generator', fontsize=13)

# (2) EMF vs 回転速度
rpm = np.linspace(100, 5000, 200)
omega_range = 2*np.pi*rpm/60
EMF_max = N*B*A*omega_range
axes[1].plot(rpm, EMF_max, 'b-', lw=2.5)
axes[1].set_xlabel('Rotation speed [rpm]'); axes[1].set_ylabel('Peak EMF [V]')
axes[1].set_title('Peak EMF vs rotation speed', fontsize=13)
axes[1].grid(True, alpha=0.3)

# (3) 運動起電力の概念図
v_range = np.linspace(0, 10, 100)
l = 0.5; B_val = 0.2
EMF_motional = B_val * l * v_range
axes[2].plot(v_range, EMF_motional, 'g-', lw=2.5)
axes[2].set_xlabel('Velocity $v$ [m/s]'); axes[2].set_ylabel('EMF [V]')
axes[2].set_title(f'Motional EMF ($B$={B_val}T, $l$={l}m)', fontsize=13)
axes[2].grid(True, alpha=0.3)

plt.tight_layout()
plt.show()

まとめ

  • ファラデーの法則: $\mathcal{E} = -d\Phi_B/dt$
  • レンツの法則: 誘導電流は磁束変化を打ち消す方向
  • 微分形: $\nabla\times\bm{E} = -\partial\bm{B}/\partial t$
  • 交流発電: $\mathcal{E} = NBA\omega\sin\omega t$

次のステップとして、以下の記事も参考にしてください。