🌐 EN | 🇯🇵 JP

Chapter 1: What is Superconductivity?

Discovery, Zero Resistance, and the Meissner Effect

⏱️ 20-30 min 💻 5 Code Examples 📊 Beginner

Learning Objectives

1.1 The Discovery of Superconductivity

The Race to Absolute Zero

In the early 20th century, physicists were racing to reach ever lower temperatures. In 1908, Dutch physicist Heike Kamerlingh Onnes at Leiden University became the first to liquefy helium, reaching temperatures below 4.2 K (-269°C). This breakthrough opened the door to studying matter at temperatures never before achieved in a laboratory.

Onnes was particularly interested in how electrical resistance behaves as temperature approaches absolute zero. The prevailing theories at the time were divided:

The Unexpected Discovery (1911)

On April 8, 1911, Onnes and his team were measuring the resistance of mercury as they cooled it with liquid helium. What they observed was completely unexpected:

Onnes' Historic Observation

At 4.2 K, the electrical resistance of mercury didn't just decrease gradually—it vanished completely and abruptly. The transition was so sharp that Onnes initially suspected a short circuit in his apparatus!

This was the discovery of superconductivity—a state where a material conducts electricity with absolutely zero resistance. Onnes received the Nobel Prize in Physics in 1913 for this groundbreaking work.

Visualizing the Discovery

Let's recreate Onnes' historic observation using Python:

import numpy as np
import matplotlib.pyplot as plt

# Temperature range (Kelvin)
T = np.linspace(0, 10, 1000)

# Critical temperature of mercury
Tc = 4.2  # K

# Normal state resistance (simplified model)
# R(T) = R0 * (1 + alpha * T) for T > Tc
R0 = 1.0  # Normalized resistance
alpha = 0.01

# Resistance behavior
R = np.where(T > Tc, R0 * (1 + alpha * (T - Tc)), 0)

# Plotting
plt.figure(figsize=(10, 6))
plt.plot(T, R, 'b-', linewidth=2)
plt.axvline(x=Tc, color='r', linestyle='--', label=f'Tc = {Tc} K')
plt.fill_between(T, 0, R, where=(T <= Tc), alpha=0.3, color='cyan',
                  label='Superconducting state')

plt.xlabel('Temperature (K)', fontsize=12)
plt.ylabel('Resistance (normalized)', fontsize=12)
plt.title('Superconducting Transition in Mercury (Hg)', fontsize=14)
plt.legend(fontsize=11)
plt.grid(True, alpha=0.3)
plt.xlim(0, 10)
plt.ylim(-0.05, 1.2)

# Add annotation
plt.annotate('Abrupt drop\nto zero!', xy=(Tc, 0.02), xytext=(5.5, 0.3),
            fontsize=11, arrowprops=dict(arrowstyle='->', color='red'))

plt.tight_layout()
plt.show()

Code Output

This code generates a graph showing the resistance of mercury dropping abruptly to zero at the critical temperature (4.2 K), exactly as Onnes observed in 1911.

1.2 Zero Electrical Resistance

What Does "Zero Resistance" Really Mean?

In a normal conductor like copper, electrical resistance is caused by electrons colliding with lattice vibrations (phonons), impurities, and defects. Even at very low temperatures, some resistance always remains.

In a superconductor, something fundamentally different happens:

Key Distinction

Zero resistance ≠ Very low resistance

Superconducting resistance is exactly zero, not just immeasurably small. This has been verified by experiments showing persistent currents that flow for years without any measurable decay.

Persistent Currents

One of the most dramatic demonstrations of zero resistance is the persistent current experiment:

  1. Create a closed loop of superconducting wire
  2. Induce a current in the loop
  3. Remove the power source
  4. The current continues to flow indefinitely!

Experiments have measured persistent currents that show no decay over periods of several years. This is only possible if the resistance is truly zero.

Ohm's Law in Superconductors

Recall Ohm's Law: V = I × R

If R = 0 (superconductor), then:

import numpy as np
import matplotlib.pyplot as plt

# Compare voltage drop in normal vs superconductor
current = np.linspace(0, 10, 100)  # Amperes

# Normal conductor (copper wire)
R_normal = 0.1  # Ohms
V_normal = current * R_normal

# Superconductor
R_super = 0
V_super = current * R_super

# Power dissipation
P_normal = current**2 * R_normal
P_super = current**2 * R_super

fig, axes = plt.subplots(1, 2, figsize=(12, 5))

# Voltage comparison
axes[0].plot(current, V_normal, 'r-', linewidth=2, label='Normal conductor (R=0.1Ω)')
axes[0].plot(current, V_super, 'b-', linewidth=2, label='Superconductor (R=0)')
axes[0].set_xlabel('Current (A)', fontsize=12)
axes[0].set_ylabel('Voltage Drop (V)', fontsize=12)
axes[0].set_title('Voltage Drop: V = IR', fontsize=14)
axes[0].legend(fontsize=11)
axes[0].grid(True, alpha=0.3)

# Power dissipation
axes[1].plot(current, P_normal, 'r-', linewidth=2, label='Normal conductor')
axes[1].plot(current, P_super, 'b-', linewidth=2, label='Superconductor')
axes[1].set_xlabel('Current (A)', fontsize=12)
axes[1].set_ylabel('Power Loss (W)', fontsize=12)
axes[1].set_title('Power Dissipation: P = I²R', fontsize=14)
axes[1].legend(fontsize=11)
axes[1].grid(True, alpha=0.3)

plt.tight_layout()
plt.show()

print("At 10 A current:")
print(f"Normal conductor power loss: {10**2 * R_normal:.1f} W")
print(f"Superconductor power loss: {10**2 * R_super:.1f} W")

1.3 The Meissner Effect

More Than Just Zero Resistance

In 1933, German physicists Walther Meissner and Robert Ochsenfeld discovered that superconductivity involves more than just zero resistance. They found that superconductors actively expel magnetic fields from their interior.

The Meissner Effect

When a material becomes superconducting, it expels all magnetic field lines from its interior, regardless of whether the field was applied before or after the transition. This is called perfect diamagnetism.

Why is the Meissner Effect Important?

A "perfect conductor" (hypothetical material with zero resistance but not a superconductor) would behave differently:

Scenario Perfect Conductor Superconductor
Cool in zero field, then apply field Field excluded Field excluded
Apply field first, then cool Field trapped inside Field expelled (Meissner effect)

The Meissner effect proves that superconductivity is a true thermodynamic phase, not just a state of zero resistance.

Magnetic Levitation

The Meissner effect enables one of the most visually striking demonstrations of superconductivity: magnetic levitation. A magnet placed above a superconductor will float in mid-air because the superconductor expels the magnetic field, creating a repulsive force.

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Circle, Rectangle, FancyArrowPatch

fig, axes = plt.subplots(1, 2, figsize=(14, 6))

# Left plot: Normal conductor (field penetrates)
ax1 = axes[0]
ax1.set_xlim(-3, 3)
ax1.set_ylim(-2, 4)
ax1.set_aspect('equal')
ax1.set_title('Normal Conductor\n(Field Penetrates)', fontsize=14)

# Draw conductor
conductor1 = Rectangle((-2, -1.5), 4, 1.5, color='gray', alpha=0.7)
ax1.add_patch(conductor1)
ax1.text(0, -0.75, 'Normal\nMetal', ha='center', va='center', fontsize=11)

# Draw magnet
magnet1 = Rectangle((-0.5, 1.5), 1, 1, color='red', alpha=0.8)
ax1.add_patch(magnet1)
ax1.text(0, 2, 'N', ha='center', va='center', color='white', fontsize=12, fontweight='bold')

# Draw field lines (penetrating)
for x in [-1.5, -0.75, 0, 0.75, 1.5]:
    # Lines go through the conductor
    y_points = np.linspace(3.5, -1.5, 50)
    ax1.plot([x]*len(y_points), y_points, 'b-', alpha=0.5, linewidth=1.5)
    ax1.annotate('', xy=(x, -1.5), xytext=(x, 3.5),
                arrowprops=dict(arrowstyle='->', color='blue', alpha=0.5))

ax1.axis('off')

# Right plot: Superconductor (Meissner effect)
ax2 = axes[1]
ax2.set_xlim(-3, 3)
ax2.set_ylim(-2, 4)
ax2.set_aspect('equal')
ax2.set_title('Superconductor\n(Meissner Effect)', fontsize=14)

# Draw superconductor
super1 = Rectangle((-2, -1.5), 4, 1.5, color='cyan', alpha=0.7)
ax2.add_patch(super1)
ax2.text(0, -0.75, 'Super-\nconductor', ha='center', va='center', fontsize=11)

# Draw levitating magnet
magnet2 = Rectangle((-0.5, 2), 1, 1, color='red', alpha=0.8)
ax2.add_patch(magnet2)
ax2.text(0, 2.5, 'N', ha='center', va='center', color='white', fontsize=12, fontweight='bold')

# Draw expelled field lines (going around)
theta = np.linspace(0, np.pi, 50)
for r_offset in [0.8, 1.3, 1.8]:
    x_curve = r_offset * np.cos(theta)
    y_curve = r_offset * np.sin(theta) + 0
    ax2.plot(x_curve, y_curve, 'b-', alpha=0.5, linewidth=1.5)

# Add arrows on curved lines
for angle in [np.pi/4, np.pi/2, 3*np.pi/4]:
    for r in [0.8, 1.3, 1.8]:
        ax2.annotate('', xy=(r*np.cos(angle-0.1), r*np.sin(angle-0.1)),
                    xytext=(r*np.cos(angle+0.1), r*np.sin(angle+0.1)),
                    arrowprops=dict(arrowstyle='->', color='blue', alpha=0.5))

# Add levitation gap indicator
ax2.annotate('', xy=(1.5, 0), xytext=(1.5, 2),
            arrowprops=dict(arrowstyle='<->', color='green', lw=2))
ax2.text(1.8, 1, 'Levitation\ngap', fontsize=10, color='green')

ax2.axis('off')

plt.tight_layout()
plt.show()

1.4 Type I and Type II Superconductors

Different Responses to Magnetic Fields

Not all superconductors behave the same way in magnetic fields. Based on their response, we classify them into two types:

Type I Superconductors

Type II Superconductors

Why Type II Matters

Type II superconductors are essential for practical applications because they can carry current in much higher magnetic fields. All high-field superconducting magnets (MRI, particle accelerators) use Type II materials.

import numpy as np
import matplotlib.pyplot as plt

# Magnetic field range
H = np.linspace(0, 2, 500)

# Type I superconductor
Hc = 0.5  # Critical field
M_type1 = np.where(H < Hc, -H, 0)  # Perfect diamagnetism below Hc

# Type II superconductor
Hc1 = 0.3   # Lower critical field
Hc2 = 1.5   # Upper critical field

M_type2 = np.zeros_like(H)
for i, h in enumerate(H):
    if h < Hc1:
        M_type2[i] = -h  # Perfect diamagnetism
    elif h < Hc2:
        # Mixed state: partial flux penetration
        M_type2[i] = -Hc1 * (1 - (h - Hc1)/(Hc2 - Hc1))
    else:
        M_type2[i] = 0  # Normal state

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

# Type I
axes[0].plot(H, M_type1, 'b-', linewidth=2)
axes[0].axvline(x=Hc, color='r', linestyle='--', label=f'Hc = {Hc}')
axes[0].fill_between(H, M_type1, 0, where=(H < Hc), alpha=0.3, color='cyan',
                     label='Superconducting')
axes[0].set_xlabel('Applied Field H', fontsize=12)
axes[0].set_ylabel('Magnetization M', fontsize=12)
axes[0].set_title('Type I Superconductor', fontsize=14)
axes[0].legend(fontsize=11)
axes[0].grid(True, alpha=0.3)
axes[0].set_xlim(0, 2)
axes[0].set_ylim(-0.6, 0.1)

# Type II
axes[1].plot(H, M_type2, 'b-', linewidth=2)
axes[1].axvline(x=Hc1, color='orange', linestyle='--', label=f'Hc1 = {Hc1}')
axes[1].axvline(x=Hc2, color='r', linestyle='--', label=f'Hc2 = {Hc2}')
axes[1].fill_between(H, M_type2, 0, where=(H < Hc1), alpha=0.3, color='cyan',
                     label='Meissner state')
axes[1].fill_between(H, M_type2, 0, where=(H >= Hc1) & (H < Hc2), alpha=0.3,
                     color='yellow', label='Mixed state')
axes[1].set_xlabel('Applied Field H', fontsize=12)
axes[1].set_ylabel('Magnetization M', fontsize=12)
axes[1].set_title('Type II Superconductor', fontsize=14)
axes[1].legend(fontsize=11, loc='lower right')
axes[1].grid(True, alpha=0.3)
axes[1].set_xlim(0, 2)
axes[1].set_ylim(-0.6, 0.1)

plt.tight_layout()
plt.show()

1.5 Timeline of Superconductivity Discovery

Let's visualize the major milestones in superconductivity research:

timeline title History of Superconductivity 1911 : Onnes discovers superconductivity in Hg (Tc=4.2K) 1933 : Meissner effect discovered 1957 : BCS theory explains conventional superconductors 1962 : Josephson effect predicted 1986 : High-Tc cuprates discovered (Tc=35K) 1987 : YBCO breaks liquid nitrogen barrier (Tc=93K) 2015 : H3S under pressure (Tc=203K) 2020s : Room-temperature superconductivity research continues
Year Discovery Significance
1911 Superconductivity (Onnes) Zero resistance phenomenon discovered in Hg
1933 Meissner Effect Perfect diamagnetism proves SC is a new phase
1957 BCS Theory Microscopic explanation via Cooper pairs
1986 High-Tc Cuprates Bednorz & Muller open new era (Nobel Prize 1987)
1987 YBCO (Tc > 77K) First superconductor above liquid N2 temperature

Summary

Key Takeaways

Practice Problems

Problem 1

A superconducting wire loop carries a persistent current of 100 A. If the loop has a circumference of 1 m, calculate the magnetic energy stored in the loop (assume inductance L = 1 μH). How long would this current persist if the wire had a resistance of 1 nΩ instead of zero?

Problem 2

Explain why the Meissner effect cannot be explained by zero resistance alone. What would happen if you cooled a perfect conductor (hypothetically R=0) in an applied magnetic field?

Problem 3

A Type II superconductor has Hc1 = 0.02 T and Hc2 = 15 T. What fraction of the magnetic field range allows the material to carry current without any flux penetration?