Learning Objectives
- Understand the historical context of superconductivity discovery
- Explain the phenomenon of zero electrical resistance
- Describe the Meissner effect and its significance
- Distinguish between Type I and Type II superconductors
- Visualize superconducting behavior using Python
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:
- Lord Kelvin's prediction: Electrons would freeze in place, causing resistance to become infinite
- Other theories: Resistance would decrease smoothly to zero as thermal vibrations diminished
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:
- Create a closed loop of superconducting wire
- Induce a current in the loop
- Remove the power source
- 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:
- V = 0 regardless of the current I
- No voltage drop across the superconductor
- No energy dissipation (no heat generated)
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
- Complete Meissner effect below critical field Hc
- Abrupt transition to normal state at Hc
- Usually pure elemental metals (Pb, Hg, Sn, Al)
- Low critical fields (typically < 0.1 T)
Type II Superconductors
- Two critical fields: Hc1 and Hc2
- Below Hc1: Complete Meissner effect
- Between Hc1 and Hc2: Mixed state (vortex state)
- Above Hc2: Normal state
- Alloys and compounds (NbTi, Nb3Sn, YBCO)
- Much higher critical fields (up to 100+ T)
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:
| 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
- Superconductivity was discovered in 1911 by Onnes in mercury at 4.2 K
- Zero resistance means exactly zero, not just very small—enabling persistent currents
- The Meissner effect (expulsion of magnetic fields) distinguishes superconductors from perfect conductors
- Type I superconductors have a single critical field; Type II have two critical fields with a mixed state
- Type II superconductors enable practical applications due to higher critical fields
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?