PHYS-410 · Lesson 3 of 12 · 22 min

The reciprocal lattice, Bragg diffraction and Brillouin zones

Every periodic function can be written as a Fourier series, and a crystal is periodic in three dimensions. The wave vectors that appear in the Fourier series of a crystal form a lattice of their own, called the reciprocal lattice. It is the natural space in which to describe anything wavelike inside a crystal: x-rays and neutrons scattering from it, lattice vibrations travelling through it, and the electron waves whose energy bands determine its electrical properties. This lesson builds the reciprocal lattice, uses it to derive the conditions for diffraction, and introduces the Brillouin zone, the region of wave-vector space that will organize everything in lessons 5 to 12.

Fourier series on a lattice

Any quantity with the periodicity of the crystal, such as the electron density \(n(\mathbf r)\), satisfies \(n(\mathbf r + \mathbf R) = n(\mathbf r)\) for every lattice vector \(\mathbf R\). Expand it in plane waves, \(n(\mathbf r) = \sum_{\mathbf G} n_{\mathbf G}\,e^{i\mathbf G\cdot\mathbf r}\). Periodicity requires \(e^{i\mathbf G\cdot\mathbf R} = 1\) for every \(\mathbf R\) and every \(\mathbf G\) that appears, so the allowed wave vectors satisfy

\[\mathbf G \cdot \mathbf R = 2\pi \times \text{integer} \quad \text{for all lattice vectors } \mathbf R .\]

The set of such \(\mathbf G\) is itself a Bravais lattice, the reciprocal lattice. It is generated by primitive vectors \(\mathbf b_1, \mathbf b_2, \mathbf b_3\) defined by \(\mathbf a_i \cdot \mathbf b_j = 2\pi\delta_{ij}\). Explicitly,

\[\mathbf b_1 = 2\pi\,\frac{\mathbf a_2 \times \mathbf a_3}{\mathbf a_1 \cdot (\mathbf a_2 \times \mathbf a_3)}, \qquad \mathbf b_2 = 2\pi\,\frac{\mathbf a_3 \times \mathbf a_1}{\mathbf a_1 \cdot (\mathbf a_2 \times \mathbf a_3)}, \qquad \mathbf b_3 = 2\pi\,\frac{\mathbf a_1 \times \mathbf a_2}{\mathbf a_1 \cdot (\mathbf a_2 \times \mathbf a_3)} .\]

To check, \(\mathbf a_1 \cdot \mathbf b_1 = 2\pi\) because the triple product cancels, while \(\mathbf a_2 \cdot \mathbf b_1 = 0\) because \(\mathbf a_2 \times \mathbf a_3\) is perpendicular to \(\mathbf a_2\). Then for \(\mathbf G = h\mathbf b_1 + k\mathbf b_2 + l\mathbf b_3\) and \(\mathbf R = n_1\mathbf a_1 + n_2\mathbf a_2 + n_3\mathbf a_3\), \(\mathbf G\cdot\mathbf R = 2\pi(hn_1 + kn_2 + ln_3)\), an integer multiple of \(2\pi\), as required. Conversely, any \(\mathbf G\) satisfying the condition must have integer components on the \(\mathbf b_i\). The reciprocal lattice has dimensions of inverse length, and the volume of its primitive cell is \((2\pi)^3/V_c\). The reciprocal of the reciprocal lattice is the original lattice.

Two properties connect the reciprocal lattice to the Miller indices of lesson 2. The vector \(\mathbf G_{hkl} = h\mathbf b_1 + k\mathbf b_2 + l\mathbf b_3\) is perpendicular to the lattice planes \((hkl)\), and the spacing between those planes is \(d_{hkl} = 2\pi/|\mathbf G_{hkl}|\). Each family of lattice planes therefore corresponds to a reciprocal lattice vector, with the shortest such vector for each family pointing along the plane normal.

Examples

For a simple cubic lattice of edge \(a\), the reciprocal lattice is simple cubic with edge \(2\pi/a\). The program computes the reciprocal of the fcc lattice from the primitive vectors of lesson 2 and finds \(\mathbf b_1 = \tfrac{2\pi}{a}(-1, 1, 1)\) and its permutations: these are exactly the primitive vectors of a bcc lattice of cubic edge \(4\pi/a\). The reciprocal of fcc is bcc, and the reciprocal of bcc is fcc. In two dimensions, the square lattice has a square reciprocal lattice and the hexagonal lattice has a hexagonal one rotated by \(30^\circ\), the case that matters for graphene in lesson 12.

Diffraction: the Laue condition

Now let an x-ray with wave vector \(\mathbf k\) scatter elastically from the crystal into wave vector \(\mathbf k'\), with \(|\mathbf k'| = |\mathbf k| = 2\pi/\lambda\). Each small volume of the crystal scatters with an amplitude proportional to the local electron density, and the wave scattered from position \(\mathbf r\) carries a phase factor \(e^{-i\Delta\mathbf k\cdot\mathbf r}\), where \(\Delta\mathbf k = \mathbf k' - \mathbf k\) is the scattering vector. The total amplitude is

\[A(\Delta\mathbf k) \propto \int n(\mathbf r)\,e^{-i\Delta\mathbf k\cdot\mathbf r}\,d^3r = \sum_{\mathbf G} n_{\mathbf G} \int e^{i(\mathbf G - \Delta\mathbf k)\cdot\mathbf r}\,d^3r .\]

For a large crystal the integral is essentially zero unless the exponent vanishes, so strong scattering occurs only when

\[\Delta\mathbf k = \mathbf G .\]

This is the Laue condition: the change in wave vector must be a reciprocal lattice vector. It is equivalent to Bragg's law. Since \(|\mathbf k'| = |\mathbf k|\), squaring \(\mathbf k + \mathbf G = \mathbf k'\) gives \(2\mathbf k\cdot\mathbf G + G^2 = 0\). If the angle between \(\mathbf k\) and the lattice planes perpendicular to \(\mathbf G\) is \(\theta\), then \(\mathbf k\cdot\mathbf G = -kG\sin\theta\), and the condition becomes \(2k\sin\theta = G\). Writing \(k = 2\pi/\lambda\) and \(G = 2\pi n/d\), where \(d\) is the spacing of the planes and \(n\) an integer, gives

\[2d\sin\theta = n\lambda ,\]

Bragg's law, which W. L. Bragg derived in 1912 by treating the planes as partial mirrors whose reflections add in phase when their path difference is a whole number of wavelengths. The diffraction angle measured from the incident beam is \(2\theta\). Because \(\sin\theta \le 1\), diffraction requires \(\lambda \le 2d\), which is why x-rays and thermal neutrons, with wavelengths near 0.1 nm, are used rather than visible light.

Structure factor and missing reflections

When the basis contains several atoms, the amplitude for reflection \(\mathbf G\) is proportional to the structure factor

\[F_{\mathbf G} = \sum_j f_j\,e^{-i\mathbf G\cdot\mathbf r_j} ,\]

a sum over the atoms in one cell, where \(f_j\) is the atomic form factor, roughly proportional to the number of electrons for x-rays at small angles. Interference between atoms within a cell can make some reflections vanish entirely. Describe fcc as a simple cubic lattice with a four-atom basis at \((0,0,0)\), \((0,\tfrac12,\tfrac12)\), \((\tfrac12,0,\tfrac12)\) and \((\tfrac12,\tfrac12,0)\) in units of \(a\). With \(\mathbf G = \tfrac{2\pi}{a}(h, k, l)\),

\[F_{hkl} = f\big[1 + e^{-i\pi(k + l)} + e^{-i\pi(h + l)} + e^{-i\pi(h + k)}\big] ,\]

which equals \(4f\) when \(h, k, l\) are all even or all odd, and 0 when they are mixed. So copper shows reflections \(111, 200, 220, 311, 222\) but not \(100\) or \(110\). For bcc, with atoms at \((0,0,0)\) and \((\tfrac12,\tfrac12,\tfrac12)\), \(F = f[1 + e^{-i\pi(h + k + l)}]\), which vanishes when \(h + k + l\) is odd: bcc shows \(110, 200, 211, 220\). These extinction rules let crystallographers identify the lattice type from which lines are missing. For diamond, the extra basis atom at \(\tfrac14(1,1,1)\) multiplies the fcc factor by \(1 + e^{-i\pi(h + k + l)/2}\), which removes reflections such as \(200\) for which \(h + k + l = 2\) modulo 4.

The reciprocal lattice of fcc, and powder diffraction lines of Cu, NaCl and Si from their structure factors
import math, cmath
# Reciprocal lattice of fcc, then a powder x-ray pattern from the structure factor.
def cross(u, v): return (u[1]*v[2]-u[2]*v[1], u[2]*v[0]-u[0]*v[2], u[0]*v[1]-u[1]*v[0])
def dot(u, v): return sum(x*y for x, y in zip(u, v))
a1, a2, a3 = (0, .5, .5), (.5, 0, .5), (.5, .5, 0)   # fcc, in units of a
V = dot(a1, cross(a2, a3))
b = [tuple(2*math.pi*c/V for c in cross(*pair)) for pair in ((a2, a3), (a3, a1), (a1, a2))]
for i, bi in enumerate(b, 1):
    print(f"b{i} = (2 pi / a) x ({', '.join(f'{c/(2*math.pi):+.0f}' for c in bi)})")
print("these are bcc primitive vectors: the reciprocal of fcc is bcc")
print("check a_i . b_j = 2 pi delta_ij:", all(abs(dot(ai, bj) - (2*math.pi if i == j else 0)) < 1e-12
      for i, ai in enumerate((a1, a2, a3)) for j, bj in enumerate(b)))
print()
lam = 0.15406   # Cu K-alpha wavelength, nm
crystals = {
    'Cu (fcc)':      (0.3615, [('Cu', p) for p in [(0,0,0),(.5,.5,0),(.5,0,.5),(0,.5,.5)]]),
    'NaCl':          (0.5640, [('Na', p) for p in [(0,0,0),(.5,.5,0),(.5,0,.5),(0,.5,.5)]] +
                              [('Cl', (x+.5, y, z)) for x, y, z in [(0,0,0),(.5,.5,0),(.5,0,.5),(0,.5,.5)]]),
    'Si (diamond)':  (0.5431, [('Si', p) for p in [(0,0,0),(.5,.5,0),(.5,0,.5),(0,.5,.5)]] +
                              [('Si', (x+.25, y+.25, z+.25)) for x, y, z in [(0,0,0),(.5,.5,0),(.5,0,.5),(0,.5,.5)]]),
}
Zf = {'Cu': 29, 'Na': 11, 'Cl': 17, 'Si': 14}      # crude form factors: atomic number
for name, (a, atoms) in crystals.items():
    lines = []
    seen = set()
    for h in range(0, 5):
        for k in range(0, h + 1):
            for l in range(0, k + 1):
                if h == k == l == 0: continue
                N = h*h + k*k + l*l
                if N in seen: continue
                d = a / math.sqrt(N)
                s = lam / (2 * d)
                if s >= 1: continue
                F = sum(Zf[el] * cmath.exp(2j*math.pi*(h*x + k*y + l*z)) for el, (x, y, z) in atoms)
                if abs(F) < 1e-6: continue
                seen.add(N)
                lines.append((2*math.degrees(math.asin(s)), f"{h}{k}{l}", abs(F)))
    lines.sort()
    print(name, "first reflections (2 theta in degrees, |F|):")
    print("   " + "  ".join(f"{hkl} {tt:.2f} ({F:.0f})" for tt, hkl, F in lines[:5]))
Output
b1 = (2 pi / a) x (-1, +1, +1)
b2 = (2 pi / a) x (+1, -1, +1)
b3 = (2 pi / a) x (+1, +1, -1)
these are bcc primitive vectors: the reciprocal of fcc is bcc
check a_i . b_j = 2 pi delta_ij: True

Cu (fcc) first reflections (2 theta in degrees, |F|):
   111 43.32 (116)  200 50.45 (116)  220 74.13 (116)  311 89.94 (116)  222 95.15 (116)
NaCl first reflections (2 theta in degrees, |F|):
   111 27.37 (24)  200 31.70 (112)  220 45.45 (112)  311 53.87 (24)  222 56.47 (112)
Si (diamond) first reflections (2 theta in degrees, |F|):
   111 28.44 (79)  220 47.30 (112)  311 56.12 (79)  400 69.13 (112)  331 76.38 (79)

The calculated angles for copper with copper K\(\alpha\) radiation, \(2\theta = 43.32^\circ\) for \(111\) and \(50.45^\circ\) for \(200\), agree with measured patterns to within a few hundredths of a degree. Sodium chloride shows the difference between its two ions: the \(111\) reflection, for which the Na and Cl contributions subtract, is weak (|F| proportional to \(17 - 11 = 6\), times 4), while \(200\), for which they add, is strong. In potassium chloride the two ions have equal numbers of electrons and the odd reflections nearly vanish, so its pattern looks like a simple cubic lattice of half the size. Silicon lacks the \(200\) line, as the diamond rule predicts.

Two stick diagrams of intensity against two-theta from 20 to 100 degrees. The copper pattern has lines labelled 111, 200, 220, 311 and 222 with 111 strongest. The silicon pattern has lines 111, 220, 311, 400, 331, 422 and 511, with no 200 line.
Calculated powder patterns of copper (fcc) and silicon (diamond). Mixed-index reflections are absent in both; silicon also lacks reflections with \(h + k + l = 2\) modulo 4

In a powder experiment, a sample of many small randomly oriented grains is used, so that for every reciprocal lattice vector some grains are oriented to satisfy the Bragg condition. The diffracted rays form cones around the incident beam, and a detector swept through \(2\theta\) records a pattern of peaks. Powder diffraction is the everyday tool for identifying materials, measuring lattice parameters to a part in \(10^5\) and detecting strain.

Brillouin zones

The Wigner–Seitz cell of the reciprocal lattice is called the first Brillouin zone, after Léon Brillouin, who introduced it in 1930. It is the set of wave vectors closer to the origin than to any other reciprocal lattice point. Its boundaries are the perpendicular bisector planes of the reciprocal lattice vectors, and a wave vector \(\mathbf k\) lies on the boundary plane of \(\mathbf G\) exactly when \(|\mathbf k| = |\mathbf k - \mathbf G|\), that is when \(2\mathbf k\cdot\mathbf G = G^2\). This is the Bragg condition again: the zone boundaries are precisely the wave vectors that are Bragg reflected by the lattice. Higher zones are the regions reached by crossing one, two or more boundary planes. Every zone has the same volume, equal to that of a primitive cell of the reciprocal lattice.

Left: a square array of reciprocal lattice points. The central square around the origin is shaded green as the first zone; four triangles around it, gold, form the second zone; further pieces, blue, form the third. Dashed lines join the origin to neighbouring points. The points Gamma, X and M are labelled. Right: a hexagonal array of points with a shaded hexagon around the origin as the first zone and its corner labelled K.
Brillouin zones of the square lattice (first three zones) and the first zone of the hexagonal lattice. High-symmetry points are labelled \(\Gamma\) (centre), \(X\), \(M\) and \(K\)

For the square lattice of edge \(a\), the first zone is a square of side \(2\pi/a\) centred on the origin. The centre is called \(\Gamma\), the middle of an edge \(X\) at \((\pi/a, 0)\) and the corner \(M\) at \((\pi/a, \pi/a)\). For the hexagonal lattice, the first zone is a hexagon with corners \(K\) and edge midpoints \(M\). In three dimensions, the first zone of fcc is a truncated octahedron, and that of bcc a rhombic dodecahedron. Electron and phonon energies are conventionally plotted along straight paths joining these labelled points, as in the graphene band structure of lesson 12.

Why the Brillouin zone matters will become clear in lessons 5 and 8. Any wave in a crystal, whether a lattice vibration or an electron, can be labelled by a wave vector in the first zone, because wave vectors differing by a reciprocal lattice vector describe the same physical state on the lattice. And waves whose wave vectors reach a zone boundary are Bragg reflected by the lattice, which is what opens gaps in the energy spectrum and separates allowed bands.

Worked problem

Diffraction from aluminium

Aluminium is fcc with \(a = 0.405\) nm. Find the diffraction angle \(2\theta\) of its first powder line with copper K\(\alpha\) radiation, \(\lambda = 0.15406\) nm.

Show solution
  1. The first allowed fcc reflection is \(111\), with \(d = a/\sqrt3 = 0.2338\) nm.
  2. Bragg: \(\sin\theta = \lambda/2d = 0.15406/0.4677 = 0.3294\).
  3. \(\theta = 19.23^\circ\), so \(2\theta = 38.46^\circ\).

Answer: About \(38.5^\circ\), matching the measured aluminium \(111\) peak.

Common mistakes

  • MistakeConfusing \(\theta\) with the scattering angle.

    InsteadBragg's \(\theta\) is measured from the planes; the beam is deflected by \(2\theta\).

  • MistakeExpecting every \((hkl)\) to appear in the pattern.

    InsteadThe structure factor removes reflections; fcc needs unmixed indices, bcc needs \(h + k + l\) even.

  • MistakeForgetting the factor \(2\pi\) in \(\mathbf a_i \cdot \mathbf b_j = 2\pi\delta_{ij}\).

    InsteadCrystallographers sometimes omit it; physicists include it so that \(d_{hkl} = 2\pi/|\mathbf G|\).

  • MistakeThinking the reciprocal of fcc is fcc.

    InsteadIt is bcc, and vice versa.

  • MistakeTreating higher Brillouin zones as larger than the first.

    InsteadAll zones have the same volume, \((2\pi)^3/V_c\).

Summary and key terms

  • The reciprocal lattice consists of wave vectors with \(\mathbf G\cdot\mathbf R = 2\pi \times\) integer; its primitive vectors satisfy \(\mathbf a_i \cdot \mathbf b_j = 2\pi\delta_{ij}\).
  • \(\mathbf G_{hkl}\) is normal to the planes \((hkl)\) and \(d_{hkl} = 2\pi/|\mathbf G_{hkl}|\); the reciprocal of fcc is bcc.
  • Diffraction occurs when \(\Delta\mathbf k = \mathbf G\) (Laue), equivalent to \(2d\sin\theta = n\lambda\) (Bragg).
  • The structure factor \(F_{\mathbf G} = \sum_j f_je^{-i\mathbf G\cdot\mathbf r_j}\) produces extinction rules that identify the lattice.
  • The first Brillouin zone is the Wigner–Seitz cell of the reciprocal lattice; its boundaries are Bragg planes.
Reciprocal lattice
The lattice of wave vectors in the Fourier series of a periodic function on the crystal.
Laue condition
Diffraction requires the change of wave vector to be a reciprocal lattice vector.
Structure factor
The sum over the basis of form factors times phase factors, giving the amplitude of a reflection.
Extinction rule
A rule stating which reflections vanish because of the basis.
Brillouin zone
The Wigner–Seitz cell of the reciprocal lattice, and its higher-order analogues.

Practice problems

Work each problem on paper first, then reveal the answer to check.

  1. Find the reciprocal lattice of a 2D rectangular lattice with sides \(a\) and \(b\).

    Show answer

    Rectangular, with sides \(2\pi/a\) and \(2\pi/b\).

  2. Which of \(110\), \(111\), \(200\), \(210\) appear for bcc?

    Show answer

    \(110\) and \(200\); \(111\) and \(210\) have odd \(h + k + l\).

  3. Silicon has \(a = 0.5431\) nm. At what \(2\theta\) is its \(220\) line with \(\lambda = 0.15406\) nm?

    Show answer

    \(d = 0.1920\) nm, \(\sin\theta = 0.4012\), \(2\theta = 47.3^\circ\).

  4. Why does KCl diffract like a simple cubic lattice of edge \(a/2\)?

    Show answer

    K⁺ and Cl⁻ have equal electron counts, so the odd reflections, proportional to their difference, nearly vanish.

  5. Show that a wave vector on the zone boundary plane of \(\mathbf G\) satisfies the Bragg condition.

    Show answer

    \(|\mathbf k| = |\mathbf k - \mathbf G|\) gives \(2\mathbf k\cdot\mathbf G = G^2\), which is \(\Delta\mathbf k = -\mathbf G\) for elastic scattering.

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz