PHYS-410 · Lesson 2 of 12 · 20 min

Crystal structure: lattices, bases and Bravais lattices

A crystal is a pattern that repeats. To describe it precisely, we separate two ideas: the lattice, which says where the pattern repeats, and the basis, which says what is repeated. This separation, simple as it sounds, is the most important bookkeeping device in solid state physics. It tells us which properties follow from symmetry alone, it organizes the diffraction theory of lesson 3, and it determines how many vibrational branches a crystal has (lesson 5) and how many electron bands appear in each energy range (lessons 8 and 9). CHEM-241 introduced close packing and the common unit cells; this lesson builds the general framework behind them.

Lattice plus basis

A Bravais lattice is an infinite array of points such that the arrangement looks exactly the same from every point. Equivalently, it is the set of all vectors

\[\mathbf R = n_1\mathbf a_1 + n_2\mathbf a_2 + n_3\mathbf a_3, \qquad n_1, n_2, n_3 \in \mathbb Z,\]

where \(\mathbf a_1, \mathbf a_2, \mathbf a_3\) are three vectors that do not lie in a plane, called primitive vectors. A crystal structure is obtained by placing an identical group of atoms, the basis, at every lattice point. The basis may be a single atom, as in copper, or two atoms, as in sodium chloride or silicon, or hundreds of atoms, as in a protein crystal. The positions of the basis atoms are given relative to the lattice point, \(\mathbf r_j = x_j\mathbf a_1 + y_j\mathbf a_2 + z_j\mathbf a_3\), with fractional coordinates between 0 and 1.

The choice of primitive vectors is not unique. In two dimensions, the square lattice can be generated by \(\mathbf a_1 = (a, 0)\), \(\mathbf a_2 = (0, a)\), but equally by \(\mathbf a_1 = (a, 0)\), \(\mathbf a_2 = (a, a)\). Any choice works as long as every lattice point can be reached with integer coefficients and no point is reached twice. A primitive cell is a region that, translated by all lattice vectors, fills space without overlapping and without gaps, and contains exactly one lattice point. Its volume is \(V_c = |\mathbf a_1 \cdot (\mathbf a_2 \times \mathbf a_3)|\), independent of the choice of primitive vectors. A particularly symmetric primitive cell is the Wigner–Seitz cell, the set of points closer to a given lattice point than to any other. It is built by drawing the perpendicular bisector planes of the lines joining one lattice point to its neighbours and taking the smallest region they enclose. The same construction applied to the reciprocal lattice gives the Brillouin zone of lesson 3.

The Bravais lattices

How many genuinely different Bravais lattices exist? In two dimensions there are five, shown in the figure. The general case is the oblique lattice, with primitive vectors of different lengths at an arbitrary angle. Special choices of length and angle produce lattices with extra symmetry: the rectangular lattice (unequal sides at \(90^\circ\)), the rhombic or centred rectangular lattice (equal sides at an arbitrary angle, equivalent to a rectangular lattice with an extra point in the middle of each rectangle), the square lattice and the hexagonal lattice (equal sides at \(60^\circ\) or \(120^\circ\)).

Five panels of dot patterns: square, rectangular, rhombic, hexagonal and oblique lattices. In each, two red arrows from one point mark primitive vectors and a shaded parallelogram shows the primitive cell. In the rhombic panel, a dashed gold rectangle marks a conventional cell with an extra point at its centre.
The five Bravais lattices in two dimensions. A primitive cell holds one lattice point; the rhombic lattice is often described with a rectangular conventional cell holding two

In three dimensions, Bravais showed in 1848 that there are 14 lattices, grouped into seven crystal systems by the shape of the cell: triclinic, monoclinic, orthorhombic, tetragonal, trigonal, hexagonal and cubic. The cubic system, which includes most simple metals and many important compounds, has three lattices: simple cubic, body-centred cubic (bcc) and face-centred cubic (fcc). For these it is convenient to use a conventional cubic cell of edge \(a\), larger than the primitive cell, because it shows the cubic symmetry plainly. The simple cubic conventional cell contains one lattice point, the bcc cell two (corners plus centre) and the fcc cell four (corners plus face centres). Each corner point is shared among eight cells and each face point between two, which is how the counts arise.

The fcc lattice can be generated by the primitive vectors

\[\mathbf a_1 = \tfrac a2(0, 1, 1), \qquad \mathbf a_2 = \tfrac a2(1, 0, 1), \qquad \mathbf a_3 = \tfrac a2(1, 1, 0),\]

which point from a corner to the centres of three adjacent faces. The volume of the primitive cell is \(a^3/4\), one quarter of the cubic cell, as the program confirms. For bcc, a convenient set is \(\mathbf a_1 = \tfrac a2(-1, 1, 1)\), \(\mathbf a_2 = \tfrac a2(1, -1, 1)\), \(\mathbf a_3 = \tfrac a2(1, 1, -1)\), giving a primitive cell of volume \(a^3/2\).

Common crystal structures

Four perspective drawings of cubes. Simple cubic has atoms only at the corners. Bcc adds an atom at the cube centre. Fcc adds atoms at the centres of the six faces. Diamond shows the fcc atoms in blue and four additional red atoms inside the cube, each joined by lines to four blue neighbours in a tetrahedral arrangement.
Conventional cells of the simple cubic, bcc, fcc and diamond structures, with coordination numbers and packing fractions from the program below

The coordination number \(z\) is the number of closest neighbours of each atom, and the packing fraction is the fraction of space filled when atoms are treated as hard spheres just touching their closest neighbours. The program builds each structure from its conventional cell and basis, then measures both. Simple cubic is rare among elements; only polonium adopts it, because its low packing fraction of 0.52 wastes space. Bcc, with \(z = 8\) and packing 0.68, is the structure of the alkali metals, iron at room temperature, chromium and tungsten. Fcc, with \(z = 12\) and the maximum possible packing fraction for equal spheres, 0.74, is the structure of copper, aluminium, silver, gold, nickel and lead. The hexagonal close-packed structure, adopted by magnesium, zinc and titanium, has the same packing and coordination as fcc but stacks close-packed planes in the order ABAB instead of ABCABC. It is a hexagonal Bravais lattice with a two-atom basis.

The diamond structure is an fcc lattice with a two-atom basis: one atom at \((0, 0, 0)\) and one at \(\tfrac a4(1, 1, 1)\). Each atom has four closest neighbours at the corners of a regular tetrahedron, reflecting the \(sp^3\) covalent bonds of carbon, silicon and germanium. Its packing fraction is only 0.34; covalent crystals are held together by directional bonds rather than by close packing. Gallium arsenide and many other compound semiconductors adopt the zinc blende structure, which is the diamond structure with the two basis sites occupied by different elements. Sodium chloride is fcc with a basis of Na at \((0, 0, 0)\) and Cl at \(\tfrac a2(1, 0, 0)\); caesium chloride is simple cubic with Cs at the corner and Cl at the body centre. Note that caesium chloride, despite appearances, is not bcc, because the two sites hold different atoms and are therefore not equivalent lattice points.

Building cubic lattices and measuring coordination numbers and packing fractions
import math, itertools
# Build cubic lattices from a conventional cell plus a basis, then measure them.
bases = {
    'simple cubic': [(0, 0, 0)],
    'bcc': [(0, 0, 0), (0.5, 0.5, 0.5)],
    'fcc': [(0, 0, 0), (0.5, 0.5, 0), (0.5, 0, 0.5), (0, 0.5, 0.5)],
}
bases['diamond'] = bases['fcc'] + [(x + 0.25, y + 0.25, z + 0.25) for x, y, z in bases['fcc']]
def points(basis, n=3):
    return [(i + x, j + y, k + z) for i, j, k in itertools.product(range(-n, n + 1), repeat=3) for x, y, z in basis]
print(f"{'lattice':14s}{'atoms/cell':>11s}{'d_nn / a':>10s}{'coordination':>14s}{'packing':>9s}")
for name, b in bases.items():
    pts = points(b)
    d = sorted(math.dist(p, (0, 0, 0)) for p in pts if p != (0, 0, 0))
    dnn = d[0]
    z = sum(1 for x in d if abs(x - dnn) < 1e-9)
    r = dnn / 2                                  # touching hard spheres
    pack = len(b) * 4 / 3 * math.pi * r ** 3     # cell volume a^3 = 1
    print(f"{name:14s}{len(b):11d}{dnn:10.4f}{z:14d}{pack:9.4f}")
# second shells for bcc: why bcc is often counted as 8 + 6
pts = points(bases['bcc'])
d = sorted(round(math.dist(p, (0, 0, 0)), 6) for p in pts if p != (0, 0, 0))
shells = sorted(set(d))[:3]
print()
print("bcc shells (distance/a : count):", ", ".join(f"{s:.4f}: {d.count(s)}" for s in shells))
# fcc primitive vectors and the volume of the primitive cell
a1, a2, a3 = (0, 0.5, 0.5), (0.5, 0, 0.5), (0.5, 0.5, 0)
cross = (a2[1] * a3[2] - a2[2] * a3[1], a2[2] * a3[0] - a2[0] * a3[2], a2[0] * a3[1] - a2[1] * a3[0])
vol = sum(a * c for a, c in zip(a1, cross))
print(f"fcc primitive cell volume = {vol:.4f} a^3 (one quarter of the cubic cell)")
Output
lattice        atoms/cell  d_nn / a  coordination  packing
simple cubic            1    1.0000             6   0.5236
bcc                     2    0.8660             8   0.6802
fcc                     4    0.7071            12   0.7405
diamond                 8    0.4330             4   0.3401

bcc shells (distance/a : count): 0.8660: 8, 1.0000: 6, 1.4142: 12
fcc primitive cell volume = 0.2500 a^3 (one quarter of the cubic cell)

The output also shows the shells of neighbours in bcc: 8 at \(0.866a\), then 6 at \(a\), only about one-seventh farther away. Because the second shell is so close, bcc metals are sometimes described as having 14 near neighbours, and their properties often reflect both shells.

Symmetry and its consequences

Besides translations, a crystal may be unchanged by rotations, reflections and inversion about a lattice point. The set of such operations forms the point group of the crystal. A lattice can have only rotation axes of order 1, 2, 3, 4 and 6; fivefold symmetry is impossible, because regular pentagons cannot tile a plane. Combining point operations with translations, including screw axes and glide planes, gives 230 space groups in three dimensions, catalogued by Fedorov and Schoenflies in the early 1890s. Every crystal belongs to one of them.

Symmetry has direct physical consequences. In a cubic crystal, the electrical conductivity and the refractive index are the same in all directions, because a second-rank tensor with cubic symmetry must be a multiple of the identity. Graphite, which is hexagonal, conducts electricity about a thousand times better along its layers than across them. A crystal with inversion symmetry cannot be piezoelectric, which is why quartz, which lacks it, can be used in watches to generate a precise frequency from a voltage. Symmetry also produces degeneracies in the electron bands and phonon branches, a theme of lessons 5, 8 and 9.

In 1982 Dan Shechtman observed sharp diffraction patterns with tenfold symmetry from a rapidly cooled aluminium–manganese alloy, apparently contradicting the crystallographic restriction. The material turned out to be a quasicrystal: ordered, with sharp diffraction, but not periodic, like a Penrose tiling. Shechtman received the 2011 Nobel Prize in Chemistry, and the definition of a crystal was broadened by the International Union of Crystallography to any solid with an essentially discrete diffraction pattern. Periodicity remains the property this course relies on.

Miller indices

Planes of atoms in a crystal are labelled by Miller indices \((hkl)\). To find them, take the intercepts of the plane with the axes in units of the cell edges, take reciprocals and clear fractions to the smallest integers. A plane cutting the axes at \(a, \infty, \infty\) is the \((100)\) plane; one cutting at \(a, a, \infty\) is \((110)\); one cutting all three axes at \(a\) is \((111)\). A negative intercept is written with a bar, as in \((1\bar10)\). Directions are written in square brackets, \([uvw]\), as the components of a vector in units of the cell vectors. In a cubic crystal, the direction \([hkl]\) is perpendicular to the plane \((hkl)\). For a cubic crystal the spacing of adjacent planes in the family \((hkl)\) is

\[d_{hkl} = \frac{a}{\sqrt{h^2 + k^2 + l^2}} .\]

This formula is the bridge to x-ray diffraction in lesson 3, where Miller indices label the diffraction peaks. The densely packed planes, those with small indices, also govern how crystals cleave and how they deform: copper slips along \((111)\) planes, the close-packed planes of fcc, which is part of why it is ductile.

Worked problem

Packing fraction of bcc

Show that the packing fraction of the bcc structure is \(\pi\sqrt3/8\).

Show solution
  1. Closest atoms in bcc are along the body diagonal: the centre atom is \(\tfrac{\sqrt3}{2}a\) from each corner.
  2. Touching spheres have radius \(r = \tfrac{\sqrt3}{4}a\).
  3. The conventional cell holds 2 atoms, so the filled volume is \(2 \cdot \tfrac43\pi r^3 = \tfrac83\pi\big(\tfrac{\sqrt3}{4}\big)^3a^3 = \tfrac{\sqrt3\pi}{8}a^3\).
  4. Dividing by \(a^3\) gives \(\pi\sqrt3/8\).

Answer: \(\pi\sqrt3/8 = 0.680\), matching the program.

Common mistakes

  • MistakeCalling caesium chloride bcc.

    InsteadIts two sites hold different ions; it is simple cubic with a two-atom basis.

  • MistakeTreating the conventional cubic cell of fcc as primitive.

    InsteadIt holds four lattice points; the primitive cell has volume \(a^3/4\).

  • MistakeForgetting to count shared corner and face atoms correctly.

    InsteadCorners count \(1/8\), faces \(1/2\), edges \(1/4\).

  • MistakeExpecting fivefold rotation axes in a periodic crystal.

    InsteadOnly 1-, 2-, 3-, 4- and 6-fold axes are compatible with translations.

  • MistakeTaking Miller indices directly from intercepts.

    InsteadTake reciprocals of the intercepts, then clear fractions.

Summary and key terms

  • Crystal structure = Bravais lattice + basis; lattice vectors are \(\mathbf R = n_1\mathbf a_1 + n_2\mathbf a_2 + n_3\mathbf a_3\).
  • There are 5 Bravais lattices in two dimensions and 14 in three, in 7 crystal systems.
  • Simple cubic, bcc and fcc have coordination numbers 6, 8, 12 and packing fractions 0.52, 0.68, 0.74; diamond has 4 and 0.34.
  • Crystals allow only 1-, 2-, 3-, 4- and 6-fold rotation axes; there are 230 space groups.
  • Miller indices \((hkl)\) label planes; in cubic crystals \(d_{hkl} = a/\sqrt{h^2 + k^2 + l^2}\).
Bravais lattice
An infinite array of points that looks identical from every point.
Basis
The group of atoms attached to every lattice point.
Primitive cell
A cell containing one lattice point that tiles space under lattice translations.
Coordination number
The number of closest neighbours of an atom.
Miller indices
Integers \((hkl)\) labelling a family of lattice planes.

Practice problems

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

  1. How many atoms are in the conventional cell of the diamond structure?

    Show answer

    Eight: four fcc lattice points times a two-atom basis.

  2. Find the spacing of \((111)\) planes in copper, \(a = 0.3615\) nm.

    Show answer

    \(d = 0.3615/\sqrt3 = 0.2087\) nm.

  3. A plane cuts the axes at \(2a\), \(3a\) and \(\infty\). Find its Miller indices.

    Show answer

    Reciprocals \(1/2, 1/3, 0\); times 6: \((320)\).

  4. Why is the hexagonal close-packed structure not a Bravais lattice by itself?

    Show answer

    Its two kinds of sites, in A and B layers, have different surroundings; it is a hexagonal lattice with a two-atom basis.

  5. Show that the fcc packing fraction is \(\pi/(3\sqrt2)\).

    Show answer

    \(r = a/(2\sqrt2)\); \(4 \cdot \tfrac43\pi r^3/a^3 = \pi\sqrt2/6 = 0.740\).

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz