🇯🇵 JP | 🌐 EN

第2章:超伝導の物理

臨界パラメータ、ロンドン方程式、BCS理論

⏱️ 25-35分 💻 コード例5個 📊 初級〜中級

学習目標

2.1 3つの臨界パラメータ

超伝導は、3つの臨界パラメータのいずれかが超えると破壊される、繊細な量子状態です:

臨界温度 (Tc)

臨界温度は、材料が超伝導状態を維持できる最高温度です。Tcを超えると、材料は通常の(抵抗のある)状態に戻ります。

材料タイプTc (K)発見年
水銀 (Hg)I4.21911
鉛 (Pb)I7.21913
ニオブ (Nb)II9.31930
NbTiII101962
Nb₃SnII181954
MgB₂II392001
YBCOII931987
HgBa₂Ca₂Cu₃O₈II1331993

臨界磁場 (Hc)

臨界磁場は、超伝導体が超伝導性を失う前に耐えられる最大の磁場です。

温度依存性

臨界磁場は温度上昇とともに減少し、近似的に次式に従います:

Hc(T) = Hc(0) × [1 - (T/Tc)²]

ここで、Hc(0)は絶対零度での臨界磁場です。

臨界電流密度 (Jc)

臨界電流密度は、超伝導状態を破壊することなく超伝導体を流れることができる単位面積あたりの最大電流です。

これら3つのパラメータは相互に関連しており、1つが増加すると他のパラメータが限界を超えやすくなります。

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# Create the critical surface
fig = plt.figure(figsize=(12, 5))

# 2D Phase diagram: H vs T
ax1 = fig.add_subplot(121)
T_norm = np.linspace(0, 1, 100)  # T/Tc
H_c = 1 - T_norm**2  # Normalized critical field

ax1.plot(T_norm, H_c, 'b-', linewidth=2)
ax1.fill_between(T_norm, 0, H_c, alpha=0.3, color='cyan', label='超伝導状態')
ax1.fill_between(T_norm, H_c, 1.2, alpha=0.3, color='lightcoral', label='常伝導状態')

ax1.set_xlabel('T / Tc', fontsize=12)
ax1.set_ylabel('H / Hc(0)', fontsize=12)
ax1.set_title('相図:H vs T', fontsize=14)
ax1.legend(fontsize=11)
ax1.set_xlim(0, 1.1)
ax1.set_ylim(0, 1.2)
ax1.grid(True, alpha=0.3)

# Critical point annotation
ax1.annotate('臨界点\n(Tc, 0)', xy=(1, 0), xytext=(0.7, 0.3),
            fontsize=10, arrowprops=dict(arrowstyle='->', color='red'))

# 3D Critical Surface
ax2 = fig.add_subplot(122, projection='3d')

# Create meshgrid for T and J
T = np.linspace(0, 1, 50)
J = np.linspace(0, 1, 50)
T_grid, J_grid = np.meshgrid(T, J)

# Critical surface: H = Hc(0) * (1 - (T/Tc)^2) * (1 - (J/Jc)^2)
H_grid = np.maximum(0, (1 - T_grid**2) * (1 - J_grid**2))

ax2.plot_surface(T_grid, J_grid, H_grid, cmap='coolwarm', alpha=0.8)
ax2.set_xlabel('T / Tc')
ax2.set_ylabel('J / Jc')
ax2.set_zlabel('H / Hc')
ax2.set_title('3D臨界面', fontsize=14)

plt.tight_layout()
plt.show()

2.2 ロンドン方程式

1935年、フリッツとハインツのロンドン兄弟は、超伝導体の電磁気的挙動を記述する現象論的方程式を提案しました。

第一ロンドン方程式

∂J/∂t = (nₛe²/m) × E

これは、超伝導電流が抵抗なしに電場に応答して加速する様子を記述します。

第二ロンドン方程式

∇ × J = -(nₛe²/m) × B

この方程式は、マイスナー効果、つまり超伝導体からの磁場の排除を直接導きます。

ロンドン侵入長 (λL)

ロンドン方程式は、磁場が超伝導体の表面で急に止まるのではなく、ロンドン侵入長と呼ばれる特性長さにわたって指数関数的に減衰することを予測します:

λL = √(m / μ₀nₛe²)

典型的な値:

import numpy as np
import matplotlib.pyplot as plt

# Magnetic field penetration into superconductor
x = np.linspace(0, 500, 1000)  # Distance in nm

# Different penetration depths
lambda_Al = 50   # nm
lambda_Nb = 40   # nm
lambda_YBCO = 150  # nm

B0 = 1  # External field (normalized)

B_Al = B0 * np.exp(-x / lambda_Al)
B_Nb = B0 * np.exp(-x / lambda_Nb)
B_YBCO = B0 * np.exp(-x / lambda_YBCO)

plt.figure(figsize=(10, 6))
plt.plot(x, B_Al, 'b-', linewidth=2, label=f'Al (λ = {lambda_Al} nm)')
plt.plot(x, B_Nb, 'r-', linewidth=2, label=f'Nb (λ = {lambda_Nb} nm)')
plt.plot(x, B_YBCO, 'g-', linewidth=2, label=f'YBCO (λ = {lambda_YBCO} nm)')

plt.axhline(y=0.37, color='gray', linestyle='--', alpha=0.5)
plt.text(350, 0.4, 'B/B₀ = 1/e ≈ 0.37', fontsize=10, color='gray')

# Add superconductor region
plt.axvspan(0, 500, alpha=0.1, color='cyan')
plt.axvline(x=0, color='black', linewidth=2)
plt.text(250, 0.9, '超伝導体内部', fontsize=12, ha='center')

plt.xlabel('表面からの距離 (nm)', fontsize=12)
plt.ylabel('磁場 B/B₀', fontsize=12)
plt.title('磁場侵入:B(x) = B₀ exp(-x/λ)', fontsize=14)
plt.legend(fontsize=11)
plt.grid(True, alpha=0.3)
plt.xlim(0, 500)
plt.ylim(0, 1.1)
plt.tight_layout()
plt.show()

2.3 BCS理論:ミクロな描像

1957年、ジョン・バーディーン、レオン・クーパー、ジョン・ロバート・シュリーファーは、量子力学レベルで超伝導を説明するBCS理論を開発しました。彼らはこの研究で1972年にノーベル賞を受賞しました。

クーパー対の概念

BCS理論の鍵となる洞察は、超伝導体中の電子がクーパー対と呼ばれる対を形成することです:

クーパー対の形成

  1. 電子が格子中を移動し、近くの正イオンを引き付ける
  2. これにより、わずかに正電荷密度が増加した領域が生成される
  3. 第二の電子がこの正の領域に引き付けられる
  4. 2つの電子はこのフォノン媒介相互作用を通じて弱く結合する
graph LR subgraph "クーパー対の形成" E1[電子1] --> |"引き付ける"| L[格子イオン] L --> |"正電荷領域を生成"| P[正の領域] P --> |"引き付ける"| E2[電子2] E1 -.-> |"フォノン媒介
結合"| E2 end

クーパー対の性質

エネルギーギャップ

BCS理論は、電子状態密度にエネルギーギャップΔが存在することを予測します。このギャップは、クーパー対を破壊するために必要な最小エネルギーを表します:

2Δ(0) = 3.52 × kB × Tc

ギャップは温度とともに減少し、Tcで消失します:

import numpy as np
import matplotlib.pyplot as plt

# BCS gap temperature dependence (approximate)
def bcs_gap(T, Tc, Delta0):
    """
    Approximate BCS gap vs temperature.
    Near Tc: Delta ~ Delta0 * sqrt(1 - T/Tc)
    """
    t = T / Tc
    # Use approximate formula
    if isinstance(t, np.ndarray):
        gap = np.zeros_like(t)
        mask = t < 1
        gap[mask] = Delta0 * np.tanh(1.74 * np.sqrt((1 - t[mask]) / t[mask]))
        return gap
    else:
        if t >= 1:
            return 0
        return Delta0 * np.tanh(1.74 * np.sqrt((1 - t) / t))

# Parameters
Tc = 9.3  # K (ニオブ)
kB = 8.617e-5  # eV/K
Delta0 = 1.76 * kB * Tc  # BCS予測

T = np.linspace(0.1, Tc * 1.1, 200)
Delta = np.array([bcs_gap(t, Tc, Delta0) for t in T])

plt.figure(figsize=(10, 6))
plt.plot(T / Tc, Delta / Delta0, 'b-', linewidth=2, label='BCS予測')

# Add experimental data points (schematic)
T_exp = np.array([0.2, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.95]) * Tc
Delta_exp = np.array([bcs_gap(t, Tc, Delta0) for t in T_exp])
plt.scatter(T_exp / Tc, Delta_exp / Delta0, color='red', s=80, zorder=5,
           label='典型的な実験データ')

plt.xlabel('T / Tc', fontsize=12)
plt.ylabel('Δ(T) / Δ(0)', fontsize=12)
plt.title('BCSエネルギーギャップ対温度', fontsize=14)
plt.axhline(y=0, color='black', linewidth=0.5)
plt.axvline(x=1, color='gray', linestyle='--', alpha=0.5, label='Tc')
plt.legend(fontsize=11)
plt.grid(True, alpha=0.3)
plt.xlim(0, 1.1)
plt.ylim(0, 1.1)

# Add annotations
plt.annotate('ギャップはTcで閉じる', xy=(1, 0), xytext=(0.7, 0.2),
            fontsize=10, arrowprops=dict(arrowstyle='->', color='gray'))

plt.tight_layout()
plt.show()

print(f"ニオブの場合(Tc = {Tc} K):")
print(f"  T=0でのBCSギャップ:Δ(0) = {Delta0*1000:.3f} meV")
print(f"  2Δ(0)/kB*Tc = {2*Delta0/(kB*Tc):.2f}(BCS理論:3.52)")

2.4 コヒーレンス長

コヒーレンス長ξは、クーパー対の特性的なサイズ、つまり超伝導波動関数が位相の干渉性を維持する距離です。

BCSコヒーレンス長

ξ₀ = ℏvF / (π × Δ)

ここで、vFはフェルミ速度です。

ギンツブルグ-ランダウパラメータ κ

侵入長とコヒーレンス長の比により、超伝導体が第1種か第2種かが決まります:

κ = λ / ξ
パラメータ第1種第2種
κ値κ < 1/√2 ≈ 0.71κ > 1/√2 ≈ 0.71
ξ vs λξ > λ (大きな対)ξ < λ (小さな対)
Al, Pb, HgNbTi, YBCO
import numpy as np
import matplotlib.pyplot as plt

# Compare Type I and Type II characteristics
materials = {
    'Al': {'lambda': 50, 'xi': 1600, 'type': 'I'},
    'Pb': {'lambda': 39, 'xi': 83, 'type': 'I'},
    'Nb': {'lambda': 40, 'xi': 38, 'type': 'II'},
    'NbTi': {'lambda': 300, 'xi': 4, 'type': 'II'},
    'YBCO': {'lambda': 150, 'xi': 1.5, 'type': 'II'}
}

# Calculate kappa
for mat, props in materials.items():
    props['kappa'] = props['lambda'] / props['xi']

# Visualization
fig, axes = plt.subplots(1, 2, figsize=(14, 5))

# Bar plot of kappa values
names = list(materials.keys())
kappas = [materials[m]['kappa'] for m in names]
colors = ['blue' if materials[m]['type'] == 'I' else 'red' for m in names]

ax1 = axes[0]
bars = ax1.bar(names, kappas, color=colors, alpha=0.7)
ax1.axhline(y=1/np.sqrt(2), color='green', linestyle='--', linewidth=2,
           label=f'κ = 1/√2 ≈ {1/np.sqrt(2):.2f}')
ax1.set_ylabel('κ = λ/ξ', fontsize=12)
ax1.set_title('ギンツブルグ-ランダウパラメータ κ', fontsize=14)
ax1.legend(fontsize=11)
ax1.set_yscale('log')

# Add Type labels
for bar, name in zip(bars, names):
    type_label = materials[name]['type']
    ax1.text(bar.get_x() + bar.get_width()/2, bar.get_height() * 1.2,
            f'第{type_label}種', ha='center', fontsize=10)

# Scatter plot: lambda vs xi
ax2 = axes[1]
for mat, props in materials.items():
    marker = 'o' if props['type'] == 'I' else 's'
    color = 'blue' if props['type'] == 'I' else 'red'
    ax2.scatter(props['xi'], props['lambda'], s=150, marker=marker,
               color=color, label=f"{mat}(第{props['type']}種)", alpha=0.7)

# Add κ = 1/√2 line
xi_range = np.logspace(-0.5, 4, 100)
lambda_boundary = xi_range / np.sqrt(2)
ax2.plot(xi_range, lambda_boundary, 'g--', linewidth=2, label='κ = 1/√2')
ax2.fill_between(xi_range, lambda_boundary, 10000, alpha=0.1, color='red')
ax2.fill_between(xi_range, 0.1, lambda_boundary, alpha=0.1, color='blue')

ax2.set_xlabel('コヒーレンス長 ξ (nm)', fontsize=12)
ax2.set_ylabel('侵入深さ λ (nm)', fontsize=12)
ax2.set_title('第I種 vs 第II種:λ-ξ図', fontsize=14)
ax2.set_xscale('log')
ax2.set_yscale('log')
ax2.legend(fontsize=10, loc='upper left')
ax2.text(100, 5, '第I種', fontsize=14, color='blue')
ax2.text(3, 200, '第II種', fontsize=14, color='red')

plt.tight_layout()
plt.show()

2.5 同位体効果

BCS理論の重要な証拠の一つは同位体効果です:臨界温度は超伝導体の原子質量Mに依存します:

Tc ∝ M^(-α)、ここでα ≈ 0.5(従来型超伝導体)

これは、BCS理論が予測するように、格子振動(フォノン)が超伝導において重要な役割を果たすことを示しています。

物理的解釈

より重い同位体は低いフォノン周波数を持ち、クーパー対を形成する電子-フォノン相互作用を弱めます。これによりTcが減少します。

まとめ

重要なポイント

練習問題

問題1

鉛(Tc = 7.2 K)のT=0におけるBCSエネルギーギャップを計算してください。答えをmeVで表し、4.2 Kでの熱エネルギーと比較してください。

問題2

ある超伝導体がλ = 200 nm、ξ = 5 nmです。(a) κを計算してください。(b) これは第1種ですか、それとも第2種ですか?(c) これは渦糸状態について何を教えてくれますか?

問題3

近似式Hc(T) = Hc(0)[1 - (T/Tc)²]を使用して、超伝導体を臨界温度の半分まで冷却したときにHc(0)の何割が残るかを計算してください。