🌐 EN | 🇯🇵 JP | Last sync: 2025-12-19

Chapter 2: Phonon Dispersion Relations

Understanding How Phonon Frequencies Depend on Wavevector

📖 Reading time: 30-40min 📊 Difficulty: Beginner 💻 Code examples: 4 examples

The dispersion relation ω(k) describes how phonon frequencies depend on the wavevector k. In this chapter, we derive dispersion relations for simple one-dimensional atomic chains and explore the fundamental differences between acoustic and optical phonon modes. Understanding dispersion relations is essential for interpreting phonon band structures and connecting microscopic lattice dynamics to macroscopic thermal properties.

Learning Objectives

By reading this chapter, you will be able to:


2.1 One-Dimensional Monatomic Chain

Model Setup

The simplest model for understanding phonon dispersion is a one-dimensional monatomic chain: identical atoms of mass $M$ connected by springs with force constant $K$, separated by lattice constant $a$.

graph LR A[● n-1] -->|K| B[● n] -->|K| C[● n+1] -->|K| D[● n+2] style A fill:#e3f2fd,stroke:#1976d2,stroke-width:2px style B fill:#f093fb,stroke:#d81b60,stroke-width:3px style C fill:#e3f2fd,stroke:#1976d2,stroke-width:2px style D fill:#e3f2fd,stroke:#1976d2,stroke-width:2px

Physical assumptions:

Equation of Motion

Let $u_n$ be the displacement of the $n$-th atom from its equilibrium position. The force on atom $n$ due to its neighbors is:

$$F_n = K(u_{n+1} - u_n) + K(u_{n-1} - u_n) = K(u_{n+1} + u_{n-1} - 2u_n)$$

Newton's second law gives the equation of motion:

$$M\frac{d^2u_n}{dt^2} = K(u_{n+1} + u_{n-1} - 2u_n)$$

Plane Wave Solution

We assume a traveling wave solution with wavevector $k$ and angular frequency $\omega$:

$$u_n(t) = A e^{i(kna - \omega t)}$$

where $A$ is the amplitude, $n$ is the atom index, and $a$ is the lattice constant.

Substituting this into the equation of motion:

$$-M\omega^2 Ae^{i(kna - \omega t)} = K\left[Ae^{i(k(n+1)a - \omega t)} + Ae^{i(k(n-1)a - \omega t)} - 2Ae^{i(kna - \omega t)}\right]$$

Dividing by $Ae^{i(kna - \omega t)}$:

$$-M\omega^2 = K\left[e^{ika} + e^{-ika} - 2\right] = K\left[2\cos(ka) - 2\right] = -2K[1 - \cos(ka)]$$

Using the identity $1 - \cos(ka) = 2\sin^2(ka/2)$:

$$M\omega^2 = 4K\sin^2(ka/2)$$

Dispersion Relation

Monatomic Chain Dispersion Relation: $$\omega(k) = 2\sqrt{\frac{K}{M}}\left|\sin\left(\frac{ka}{2}\right)\right|$$

This fundamental result describes how phonon frequency depends on wavevector.

Key Features of the Dispersion

1. Periodicity in k-space

The dispersion relation is periodic with period $2\pi/a$:

$$\omega(k + 2\pi/a) = \omega(k)$$

Therefore, all unique information is contained in the range $-\pi/a \leq k \leq \pi/a$, called the first Brillouin zone.

2. Long Wavelength Limit (k → 0)

For small $k$, using $\sin(x) \approx x$:

$$\omega(k) \approx 2\sqrt{\frac{K}{M}} \cdot \frac{ka}{2} = \sqrt{\frac{K}{M}} \cdot ka = v_s |k|$$

where the sound velocity is:

$$v_s = a\sqrt{\frac{K}{M}}$$

This linear dispersion represents sound waves in the continuum limit.

3. Zone Boundary (k = π/a)

At the Brillouin zone boundary:

$$\omega_{\text{max}} = 2\sqrt{\frac{K}{M}}$$

The group velocity $v_g = d\omega/dk = 0$ at the zone boundary, representing a standing wave.

Group Velocity vs Phase Velocity

Phase velocity (speed of constant phase surfaces):

$$v_p = \frac{\omega}{k}$$

Group velocity (speed of energy/wave packet propagation):

$$v_g = \frac{d\omega}{dk} = a\sqrt{\frac{K}{M}}\cos\left(\frac{ka}{2}\right)$$
Physical interpretation: The group velocity determines how fast phonons transport energy and heat. At the zone boundary ($k = \pi/a$), $v_g = 0$, meaning phonons don't propagate and don't contribute to thermal transport.

2.2 One-Dimensional Diatomic Chain

Model Setup

A diatomic chain has two atoms with different masses $M_1$ and $M_2$ alternating along the chain, with lattice constant $a$ (distance between identical atoms).

graph LR A[●₁ n-1] -->|K| B[●₂ n] -->|K| C[●₁ n] -->|K| D[●₂ n+1] -->|K| E[●₁ n+1] style A fill:#e3f2fd,stroke:#1976d2,stroke-width:2px style B fill:#fff3e0,stroke:#f57c00,stroke-width:2px style C fill:#f093fb,stroke:#d81b60,stroke-width:3px style D fill:#fff3e0,stroke:#f57c00,stroke-width:2px style E fill:#e3f2fd,stroke:#1976d2,stroke-width:2px

The unit cell now contains two atoms, and the primitive lattice constant is $a$ (not $a/2$).

Equations of Motion

Let $u_n$ be the displacement of the heavy atom (mass $M_1$) and $v_n$ be the displacement of the light atom (mass $M_2$) in the $n$-th unit cell.

$$M_1\frac{d^2u_n}{dt^2} = K(v_n + v_{n-1} - 2u_n)$$ $$M_2\frac{d^2v_n}{dt^2} = K(u_{n+1} + u_n - 2v_n)$$

Plane Wave Solutions

Assume solutions:

$$u_n(t) = A_1 e^{i(kna - \omega t)}$$ $$v_n(t) = A_2 e^{i(kna - \omega t)}$$

Substituting into the equations of motion:

$$-M_1\omega^2 A_1 = K(A_2 + A_2 e^{-ika} - 2A_1)$$ $$-M_2\omega^2 A_2 = K(A_1 e^{ika} + A_1 - 2A_2)$$

Rearranging into matrix form:

$$\begin{pmatrix} 2K - M_1\omega^2 & -K(1 + e^{-ika}) \\ -K(1 + e^{ika}) & 2K - M_2\omega^2 \end{pmatrix} \begin{pmatrix} A_1 \\ A_2 \end{pmatrix} = 0$$

Dispersion Relations

For non-trivial solutions, the determinant must vanish. This yields:

$$\omega^2 = K\left(\frac{1}{M_1} + \frac{1}{M_2}\right) \pm K\sqrt{\left(\frac{1}{M_1} + \frac{1}{M_2}\right)^2 - \frac{4\sin^2(ka/2)}{M_1M_2}}$$

This gives two branches:

Acoustic Branch (lower frequency, - sign): $$\omega_-(k) = \sqrt{K\left(\frac{1}{M_1} + \frac{1}{M_2}\right) - K\sqrt{\left(\frac{1}{M_1} + \frac{1}{M_2}\right)^2 - \frac{4\sin^2(ka/2)}{M_1M_2}}}$$ Optical Branch (higher frequency, + sign): $$\omega_+(k) = \sqrt{K\left(\frac{1}{M_1} + \frac{1}{M_2}\right) + K\sqrt{\left(\frac{1}{M_1} + \frac{1}{M_2}\right)^2 - \frac{4\sin^2(ka/2)}{M_1M_2}}}$$

Physical Interpretation

Acoustic Branch (k → 0)

At long wavelengths:

$$\omega_-(k) \approx \sqrt{\frac{2K}{M_1 + M_2}} |k|a$$

Optical Branch (k → 0)

At the zone center:

$$\omega_+(0) = \sqrt{2K\left(\frac{1}{M_1} + \frac{1}{M_2}\right)} = \sqrt{\frac{2K(M_1 + M_2)}{M_1M_2}}$$

Band Gap

There is a frequency gap between the acoustic and optical branches:

$$\Delta\omega = \omega_+(0) - \omega_-(\pi/a)$$

No phonon modes exist with frequencies in this gap.

graph TD A[Acoustic Branch] -->|ω grows from 0| B[Zone Boundary] C[Optical Branch] -->|ω starts from ω₊₀| D[Zone Boundary] B -.->|Gap| C style A fill:#e3f2fd,stroke:#1976d2,stroke-width:2px style C fill:#fff3e0,stroke:#f57c00,stroke-width:2px style B fill:#fce7f3,stroke:#f093fb,stroke-width:2px style D fill:#fce7f3,stroke:#f093fb,stroke-width:2px

2.3 Extension to Three Dimensions

Three-Dimensional Crystal Lattice

In 3D crystals, atoms can vibrate in three orthogonal directions, leading to three types of modes:

Mode Type Polarization Number of Branches
Longitudinal (L) Parallel to wave propagation 1 acoustic + optical branches
Transverse (T) Perpendicular to wave propagation 2 acoustic + optical branches

Total Number of Phonon Branches

For a crystal with $n$ atoms per unit cell:

Examples

Dispersion in High-Symmetry Directions

Phonon dispersion is typically plotted along high-symmetry directions in the Brillouin zone:

Practical note: Experimental phonon dispersions are measured using inelastic neutron scattering or X-ray scattering along these high-symmetry lines.

2.4 Python Implementation: Plotting Dispersion Relations

Environment Setup

# Install required libraries
pip install numpy matplotlib scipy

Code Example 1: Monatomic Chain Dispersion

# Requirements:
# - Python 3.9+
# - matplotlib>=3.7.0
# - numpy>=1.24.0, <2.0.0

"""
Example: Monatomic chain phonon dispersion relation

Purpose: Visualize ω(k) for 1D monatomic chain
Target: Beginner
Execution time: 1-2 seconds
Dependencies: None
"""

import numpy as np
import matplotlib.pyplot as plt

# Physical parameters
M = 1.0  # Atomic mass (arbitrary units)
K = 1.0  # Spring constant (arbitrary units)
a = 1.0  # Lattice constant (arbitrary units)

# Wavevector range (first Brillouin zone)
k = np.linspace(-np.pi/a, np.pi/a, 500)

# Dispersion relation: ω(k) = 2√(K/M)|sin(ka/2)|
omega = 2 * np.sqrt(K/M) * np.abs(np.sin(k * a / 2))

# Sound velocity (slope at k=0)
v_s = a * np.sqrt(K/M)

# Linear approximation (long wavelength)
omega_linear = v_s * np.abs(k)

# Create plot
fig, ax = plt.subplots(figsize=(10, 6))

ax.plot(k*a/np.pi, omega, 'b-', linewidth=2.5, label='ω(k) = 2√(K/M)|sin(ka/2)|')
ax.plot(k*a/np.pi, omega_linear, 'r--', linewidth=2, alpha=0.7,
    label=f'Linear (sound wave): ω = v_s|k|, v_s = {v_s:.2f}')

# Mark special points
ax.axvline(0, color='gray', linestyle=':', alpha=0.5)
ax.axhline(0, color='gray', linestyle=':', alpha=0.5)
ax.scatter([0, -1, 1], [0, 2*np.sqrt(K/M), 2*np.sqrt(K/M)],
       s=100, color='red', zorder=5, label='Zone center & boundary')

# Annotations
ax.annotate('Zone center\nΓ point (k=0)', xy=(0, 0), xytext=(0.3, 0.3),
      fontsize=10, ha='left',
      bbox=dict(boxstyle='round', facecolor='wheat', alpha=0.5),
      arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=0'))

ax.annotate('Zone boundary\nk = π/a', xy=(1, 2*np.sqrt(K/M)), xytext=(0.7, 1.5),
      fontsize=10, ha='left',
      bbox=dict(boxstyle='round', facecolor='lightblue', alpha=0.5),
      arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=0'))

ax.set_xlabel('Reduced wavevector ka/π', fontsize=13, fontweight='bold')
ax.set_ylabel('Frequency ω (arbitrary units)', fontsize=13, fontweight='bold')
ax.set_title('Phonon Dispersion: 1D Monatomic Chain', fontsize=15, fontweight='bold')
ax.legend(fontsize=11, loc='upper left')
ax.grid(alpha=0.3)
ax.set_xlim(-1.1, 1.1)
ax.set_ylim(0, 2.3)

plt.tight_layout()
plt.show()

# Calculate group velocity
dk = k[1] - k[0]
v_g = np.gradient(omega, dk)

print("=== Monatomic Chain Analysis ===")
print(f"Sound velocity v_s = {v_s:.4f}")
print(f"Maximum frequency ω_max = {2*np.sqrt(K/M):.4f}")
print(f"Group velocity at k=0: {v_g[len(v_g)//2]:.4f}")
print(f"Group velocity at zone boundary: {v_g[0]:.4f}, {v_g[-1]:.4f}")

Output:

=== Monatomic Chain Analysis ===
Sound velocity v_s = 1.0000
Maximum frequency ω_max = 2.0000
Group velocity at k=0: 1.0000
Group velocity at zone boundary: 0.0000, 0.0000

Code Example 2: Diatomic Chain Dispersion (Acoustic and Optical Branches)

# Requirements:
# - Python 3.9+
# - matplotlib>=3.7.0
# - numpy>=1.24.0, <2.0.0

"""
Example: Diatomic chain phonon dispersion with acoustic and optical branches

Purpose: Visualize acoustic and optical phonon modes
Target: Beginner
Execution time: 2-3 seconds
Dependencies: None
"""

import numpy as np
import matplotlib.pyplot as plt

# Physical parameters
M1 = 1.0   # Heavy atom mass
M2 = 0.5   # Light atom mass (M2 < M1)
K = 1.0  # Spring constant
a = 1.0  # Lattice constant

# Wavevector range (first Brillouin zone)
k = np.linspace(-np.pi/a, np.pi/a, 500)

# Helper term
inv_M_sum = 1/M1 + 1/M2
inv_M_prod = 1/(M1*M2)

# Discriminant under square root
discriminant = (inv_M_sum)**2 - 4*inv_M_prod*np.sin(k*a/2)**2

# Acoustic branch (lower)
omega_acoustic = np.sqrt(K * (inv_M_sum - np.sqrt(discriminant)))

# Optical branch (upper)
omega_optical = np.sqrt(K * (inv_M_sum + np.sqrt(discriminant)))

# Create plot
fig, ax = plt.subplots(figsize=(11, 7))

ax.plot(k*a/np.pi, omega_acoustic, 'b-', linewidth=2.5,
    label='Acoustic branch (ω₋)')
ax.plot(k*a/np.pi, omega_optical, 'r-', linewidth=2.5,
    label='Optical branch (ω₊)')

# Fill gap region
omega_acoustic_max = omega_acoustic[np.argmax(omega_acoustic)]
omega_optical_min = omega_optical[len(omega_optical)//2]  # At k=0
ax.fill_between([-1.1, 1.1], omega_acoustic_max, omega_optical_min,
        alpha=0.2, color='gray', label='Band gap')

# Mark special points
ax.scatter([0], [0], s=120, color='blue', zorder=5, marker='o')
ax.scatter([0], [omega_optical_min], s=120, color='red', zorder=5, marker='o')

# Annotations
ax.annotate(f'Optical mode at Γ\nω₊(0) = {omega_optical_min:.3f}',
      xy=(0, omega_optical_min), xytext=(0.4, omega_optical_min+0.15),
      fontsize=10, ha='left',
      bbox=dict(boxstyle='round', facecolor='#ffe0e0', alpha=0.8),
      arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=0.3'))

ax.annotate('Acoustic mode at Γ\nω₋(0) = 0',
      xy=(0, 0), xytext=(-0.7, 0.3),
      fontsize=10, ha='left',
      bbox=dict(boxstyle='round', facecolor='#e0e0ff', alpha=0.8),
      arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=-0.3'))

ax.axvline(0, color='gray', linestyle=':', alpha=0.5)
ax.axhline(0, color='gray', linestyle=':', alpha=0.5)

ax.set_xlabel('Reduced wavevector ka/π', fontsize=13, fontweight='bold')
ax.set_ylabel('Frequency ω (arbitrary units)', fontsize=13, fontweight='bold')
ax.set_title(f'Phonon Dispersion: 1D Diatomic Chain (M₁={M1}, M₂={M2})',
       fontsize=15, fontweight='bold')
ax.legend(fontsize=11, loc='upper left')
ax.grid(alpha=0.3)
ax.set_xlim(-1.1, 1.1)

plt.tight_layout()
plt.show()

# Analysis
gap = omega_optical_min - omega_acoustic_max
print("=== Diatomic Chain Analysis ===")
print(f"Heavy atom mass M₁ = {M1}")
print(f"Light atom mass M₂ = {M2}")
print(f"Optical mode at Γ: ω₊(0) = {omega_optical_min:.4f}")
print(f"Acoustic mode maximum: ω₋(π/a) = {omega_acoustic_max:.4f}")
print(f"Band gap Δω = {gap:.4f}")
print(f"Gap ratio: Δω/ω₊(0) = {gap/omega_optical_min*100:.1f}%")

Output:

=== Diatomic Chain Analysis ===
Heavy atom mass M₁ = 1.0
Light atom mass M₂ = 0.5
Optical mode at Γ: ω₊(0) = 1.7321
Acoustic mode maximum: ω₋(π/a) = 1.4142
Band gap Δω = 0.3178
Gap ratio: Δω/ω₊(0) = 18.4%

Code Example 3: Comparison of Different Mass Ratios

# Requirements:
# - Python 3.9+
# - matplotlib>=3.7.0
# - numpy>=1.24.0, <2.0.0

"""
Example: Effect of mass ratio on diatomic chain dispersion

Purpose: Show how M1/M2 ratio affects the band gap
Target: Intermediate
Execution time: 2-3 seconds
Dependencies: None
"""

import numpy as np
import matplotlib.pyplot as plt

K = 1.0
a = 1.0
k = np.linspace(-np.pi/a, np.pi/a, 300)

# Different mass ratios
mass_ratios = [1.5, 2.0, 3.0, 5.0]
M1 = 1.0

fig, axes = plt.subplots(2, 2, figsize=(14, 10))
axes = axes.flatten()

for idx, ratio in enumerate(mass_ratios):
  M2 = M1 / ratio

  inv_M_sum = 1/M1 + 1/M2
  inv_M_prod = 1/(M1*M2)
  discriminant = (inv_M_sum)**2 - 4*inv_M_prod*np.sin(k*a/2)**2

  omega_acoustic = np.sqrt(K * (inv_M_sum - np.sqrt(discriminant)))
  omega_optical = np.sqrt(K * (inv_M_sum + np.sqrt(discriminant)))

  ax = axes[idx]
  ax.plot(k*a/np.pi, omega_acoustic, 'b-', linewidth=2, label='Acoustic')
  ax.plot(k*a/np.pi, omega_optical, 'r-', linewidth=2, label='Optical')

  # Calculate gap
  gap = omega_optical[len(omega_optical)//2] - np.max(omega_acoustic)

  ax.fill_between([-1.1, 1.1], np.max(omega_acoustic),
          omega_optical[len(omega_optical)//2],
          alpha=0.15, color='gray')

  ax.set_xlabel('ka/π', fontsize=11, fontweight='bold')
  ax.set_ylabel('ω', fontsize=11, fontweight='bold')
  ax.set_title(f'M₁/M₂ = {ratio:.1f}, Gap = {gap:.3f}',
        fontsize=12, fontweight='bold')
  ax.legend(fontsize=9)
  ax.grid(alpha=0.3)
  ax.set_xlim(-1.1, 1.1)

plt.suptitle('Effect of Mass Ratio on Phonon Dispersion',
       fontsize=16, fontweight='bold')
plt.tight_layout()
plt.show()

# Print summary
print("=== Mass Ratio Effect Summary ===")
for ratio in mass_ratios:
  M2 = M1 / ratio
  inv_M_sum = 1/M1 + 1/M2
  omega_opt_0 = np.sqrt(2*K*inv_M_sum)
  print(f"M₁/M₂ = {ratio:.1f}: ω₊(0) = {omega_opt_0:.4f}")

Code Example 4: Animated Wave Motion

# Requirements:
# - Python 3.9+
# - matplotlib>=3.7.0
# - numpy>=1.24.0, <2.0.0

"""
Example: Visualize atomic motion for acoustic vs optical modes

Purpose: Show difference in atomic displacement patterns
Target: Beginner
Execution time: 3-5 seconds
Dependencies: None
"""

import numpy as np
import matplotlib.pyplot as plt

# Parameters
M1 = 1.0
M2 = 0.5
K = 1.0
a = 1.0
N = 10  # Number of unit cells

# Positions
x_heavy = np.arange(0, N*a, a)
x_light = x_heavy + a/2

# Time snapshots
t = np.linspace(0, 2*np.pi, 8)

fig, axes = plt.subplots(2, 4, figsize=(16, 6))

for idx, time in enumerate(t):
  # Acoustic mode (k → 0): atoms move together
  k_acoustic = 0.1 * np.pi/a
  omega_acoustic = np.sqrt(2*K/(M1+M2)) * k_acoustic * a

  u_heavy_acoustic = 0.3 * np.cos(k_acoustic * x_heavy - omega_acoustic * time)
  u_light_acoustic = 0.3 * np.cos(k_acoustic * x_light - omega_acoustic * time)

  # Optical mode (k → 0): atoms move oppositely
  omega_optical = np.sqrt(2*K*(1/M1 + 1/M2))
  u_heavy_optical = 0.3 * np.cos(-omega_optical * time)
  u_light_optical = -0.3 * (M1/M2) * np.cos(-omega_optical * time)

  # Plot acoustic mode
  ax1 = axes[0, idx]
  ax1.scatter(x_heavy + u_heavy_acoustic, [0]*N, s=200, c='blue',
        marker='o', edgecolors='black', linewidth=2, label='M₁')
  ax1.scatter(x_light + u_light_acoustic, [0]*N, s=120, c='red',
        marker='o', edgecolors='black', linewidth=2, label='M₂')
  ax1.axhline(0, color='gray', linestyle='--', alpha=0.3)
  ax1.set_ylim(-0.5, 0.5)
  ax1.set_xlim(-0.5, N*a-0.5)
  ax1.set_title(f'Acoustic (t={idx})', fontsize=10, fontweight='bold')
  ax1.set_yticks([])
  if idx == 0:
    ax1.set_ylabel('Acoustic Mode', fontsize=11, fontweight='bold')

  # Plot optical mode
  ax2 = axes[1, idx]
  ax2.scatter(x_heavy + u_heavy_optical, [0]*N, s=200, c='blue',
        marker='o', edgecolors='black', linewidth=2)
  ax2.scatter(x_light + u_light_optical, [0]*N, s=120, c='red',
        marker='o', edgecolors='black', linewidth=2)
  ax2.axhline(0, color='gray', linestyle='--', alpha=0.3)
  ax2.set_ylim(-0.5, 0.5)
  ax2.set_xlim(-0.5, N*a-0.5)
  ax2.set_title(f'Optical (t={idx})', fontsize=10, fontweight='bold')
  ax2.set_yticks([])
  if idx == 0:
    ax2.set_ylabel('Optical Mode', fontsize=11, fontweight='bold')

plt.suptitle('Atomic Motion: Acoustic vs Optical Phonons',
       fontsize=15, fontweight='bold')
plt.tight_layout()
plt.show()

print("=== Atomic Motion Characteristics ===")
print("Acoustic mode: Heavy and light atoms oscillate IN PHASE")
print("        → Net translation of center of mass")
print("        → Sound wave propagation")
print("\nOptical mode: Heavy and light atoms oscillate OUT OF PHASE")
print("       → No net translation (internal vibration)")
print("       → Can interact with light (infrared active)")

2.5 Physical Interpretation and Summary

Long Wavelength vs Short Wavelength Behavior

Regime Wavevector Wavelength Behavior
Long wavelength $k \to 0$ $\lambda \gg a$ Linear dispersion, sound waves, continuum limit
Short wavelength $k \to \pi/a$ $\lambda \approx 2a$ Standing waves, zero group velocity, atomic scale

Key Physical Insights

1. Acoustic phonons (ω → 0 as k → 0):
2. Optical phonons (ω ≠ 0 at k = 0):
3. Band gap:

Connection to Real Materials


Summary

In this chapter, we explored phonon dispersion relations:

  1. Monatomic chain: Derived $\omega(k) = 2\sqrt{K/M}|\sin(ka/2)|$ with linear dispersion at small $k$ and standing waves at zone boundary
  2. First Brillouin zone: All unique information contained in $-\pi/a \leq k \leq \pi/a$
  3. Group vs phase velocity: $v_g = d\omega/dk$ determines energy transport
  4. Diatomic chain: Two branches (acoustic and optical) separated by a band gap
  5. Acoustic modes: $\omega \to 0$ as $k \to 0$, atoms move in phase
  6. Optical modes: $\omega(0) \neq 0$, atoms move out of phase
  7. 3D extension: Longitudinal and transverse modes, $3n$ total branches
  8. Python visualization: Tools to plot and analyze dispersion relations

These dispersion relations form the foundation for understanding phonon density of states, thermal properties, and spectroscopic measurements covered in subsequent chapters.


Exercises

Practice Problems

Exercise 2.1: Derive the group velocity for the monatomic chain and show that it vanishes at the zone boundary.

Exercise 2.2: For a diatomic chain with $M_1 = 2M$ and $M_2 = M$, calculate the optical mode frequency at $k=0$ in terms of $K$ and $M$.

Exercise 2.3: Modify the Python code to plot dispersion for a chain with three different atoms per unit cell. How many branches appear?

Exercise 2.4: Explain why optical phonons are called "optical." Under what conditions can they interact with light?

Exercise 2.5: For silicon (diamond structure, 2 atoms per unit cell), sketch the expected phonon dispersion showing acoustic and optical branches. How many total branches are there?

Exercise 2.6 (Advanced): Calculate the density of states $g(\omega) = \int \delta(\omega - \omega(k))dk$ for the monatomic chain. Where does it diverge?


Further Reading


← Chapter 1: What are Phonons? Table of Contents Chapter 3: Phonon Density of States →

Disclaimer

This educational content was generated with AI assistance for the Hashimoto Lab knowledge base. While efforts have been made to ensure accuracy, readers should verify critical information with primary sources and textbooks.