---
title: Bravais Lattices, Bases, and Crystal Structures
module: Crystal Structure
moduleNumber: 3
lessonNumber: 2
order: 302
summary: >
  A crystal is a Bravais lattice decorated by a basis. This lesson separates the
  two, builds primitive and Wigner-Seitz cells, enumerates the seven crystal
  systems and fourteen Bravais lattices, and fixes the language of point and space
  groups. Miller indices label planes and directions, and the packing fractions of
  the close-packed, cubic, and diamond structures follow from the geometry.
topics: [Crystal Structure]
draft: false
sources:
  - book: Ashcroft & Mermin
    ref: "Ch. 4 — Crystal Lattices; Ch. 7 — Classification of Bravais Lattices and Crystal Structures"
  - book: Kittel
    ref: "Ch. 1 — Crystal Structure"
  - book: Simon
    ref: "Ch. 12–13 — Crystal Structure; Miller Indices"
---

A crystal is periodic: some group of atoms repeats at every point of an infinite
regular array. The [previous lesson](/condensed-matter/crystal-structure/structure-of-solids)
took the cubic unit cell for granted and summed the Coulomb energy over it. Here
the array itself is the object of study. Two ingredients build every crystal: an
abstract lattice of translation-equivalent points, and a group of atoms — the
basis — attached to each point. Separating them makes the symmetry classification
tractable and gives the vocabulary that diffraction and band theory both use.

## The Bravais lattice

> **Definition (Bravais lattice).** A **Bravais lattice** is the set of all points
> with position vectors
> $$
> \vec R = n_1 \vec a_1 + n_2 \vec a_2 + n_3 \vec a_3, \qquad n_i \in \mathbb{Z},
> $$
> where $\vec a_1, \vec a_2, \vec a_3$ are the **primitive vectors**, not
> coplanar. Equivalently, it is a discrete set of points whose arrangement and
> orientation look exactly the same viewed from any point of the set.

The two definitions agree: translating the lattice by any $\vec R$ maps it onto
itself, so every point has identical surroundings. The primitive vectors are not
unique — any set that generates the same point set will do — but their number
equals the dimension, and the parallelepiped they span, the **primitive cell**,
contains exactly one lattice point.

A physical crystal rarely has a single atom at each lattice point. The full
structure is a lattice plus a **basis**: a fixed set of atoms, with positions
$\vec d_1, \dots, \vec d_p$ relative to a lattice point, repeated at every $\vec R$.

$$
\text{crystal structure} = \text{Bravais lattice} + \text{basis}.
$$

The distinction is sharp because many common lattices are not Bravais. The
two-dimensional **honeycomb** (the graphene sheet) is the standard example: no
single set of primitive vectors reaches every vertex, because neighboring
vertices point in opposite directions and are not translation-equivalent. The
honeycomb is a triangular Bravais lattice with a **two-atom basis**.

$$
% caption: The honeycomb is not a Bravais lattice. It is a triangular Bravais
% lattice (open circles, primitive vectors a1 and a2) with a two-atom basis, one
% A atom and one B atom (filled), attached to every lattice point.
\begin{tikzpicture}[scale=1.15, >=stealth, font=\footnotesize]
  \definecolor{acc}{HTML}{4A6FA5}
  % triangular lattice points (open) at columns
  \foreach \i in {0,1,2}{
    \foreach \j in {0,1,2}{
      \pgfmathsetmacro{\px}{1.5*\i + 0.75*\j}
      \pgfmathsetmacro{\py}{1.3*\j}
      \draw[black] (\px,\py) circle (2.6pt);
    }
  }
  % A and B basis atoms near each lattice point
  \foreach \i in {0,1,2}{
    \foreach \j in {0,1,2}{
      \pgfmathsetmacro{\px}{1.5*\i + 0.75*\j}
      \pgfmathsetmacro{\py}{1.3*\j}
      \fill[acc] (\px,\py) circle (2.2pt);
      \fill[black!70] (\px,\py+0.5) circle (2.2pt);
      \draw[black] (\px,\py) -- (\px,\py+0.5);
    }
  }
  % primitive vectors from lower-left lattice point
  \draw[very thick, ->] (0,0) -- (1.5,0) node[midway, below] {$a_1$};
  \draw[very thick, ->] (0,0) -- (0.75,1.3) node[midway, left] {$a_2$};
  \node[anchor=west] at (3.7,2.3) {lattice point};
  \node[acc, anchor=west] at (3.7,1.9) {A atom};
  \node[black!70, anchor=west] at (3.7,1.5) {B atom};
\end{tikzpicture}
$$

## Primitive, conventional, and Wigner-Seitz cells

A **primitive cell** is any region that fills space with no overlap under the
lattice translations and contains exactly one lattice point. Its volume is fixed
regardless of shape,

$$
v_{\text{c}} = \lvert \vec a_1 \cdot (\vec a_2 \times \vec a_3)\rvert,
$$

because a smaller region could not tile space and a larger one would hold more
than one point. The primitive cell of the fcc lattice is a rhombohedron spanned by
vectors to three face centers; it is oblique and awkward, which is why the
**conventional cell** — the full cube with four lattice points — is used instead.
A conventional cell is a larger, more symmetric unit that displays the cubic
symmetry at the cost of holding several lattice points.

The one primitive cell with the full point symmetry of the lattice is the
**Wigner-Seitz cell**: the region of space closer to a given lattice point than to
any other. It is constructed by drawing the vectors from one point to its
neighbors, bisecting each with a perpendicular plane, and taking the smallest
enclosed volume.

$$
% caption: Wigner-Seitz construction in two dimensions. Bisect every bond from
% the central point to its neighbors with a perpendicular line; the smallest
% enclosed polygon (shaded) is the Wigner-Seitz cell, a primitive cell centered
% on the point with the full symmetry of the lattice.
\begin{tikzpicture}[scale=1.0, >=stealth, font=\footnotesize]
  \definecolor{acc}{HTML}{4A6FA5}
  % lattice points (square lattice)
  \foreach \i in {-1,0,1,2}{
    \foreach \j in {-1,0,1,2}{
      \fill[black] (1.5*\i,1.5*\j) circle (2.2pt);
    }
  }
  % central point highlighted
  \fill[acc] (0,0) circle (3pt);
  % nearest-neighbor bonds (dashed)
  \foreach \p in {(1.5,0),(-1.5,0),(0,1.5),(0,-1.5)}
    \draw[black, dashed] (0,0) -- \p;
  % Wigner-Seitz square (perpendicular bisectors) shaded
  \fill[acc!12] (-0.75,-0.75) rectangle (0.75,0.75);
  \draw[acc, very thick] (-0.75,-0.75) rectangle (0.75,0.75);
  \node[acc, anchor=south west] at (0.8,0.8) {Wigner-Seitz cell};
\end{tikzpicture}
$$

## The seven crystal systems and fourteen Bravais lattices

The point-symmetry operations that leave a Bravais lattice invariant (rotations,
reflections, inversion) fall into seven distinct groups, the **crystal systems**.
Allowing the lattice to be centered — an extra point at the body center, face
centers, or one pair of opposite faces — without lowering the point symmetry
generates additional lattices within a system. The full count is **fourteen
Bravais lattices**, first enumerated by Bravais.

$$
% caption: The fourteen Bravais lattices arranged by crystal system (rows) and
% centering type (columns): P primitive, C base-centered, I body-centered, F
% face-centered. A cell icon appears where that combination is a distinct
% lattice; the trigonal R and hexagonal cells sit in the primitive column.
\begin{tikzpicture}[scale=1.0, >=stealth, font=\scriptsize]
  \definecolor{acc}{HTML}{4A6FA5}
  % column headers
  \node at (2.0,7.2) {P};
  \node at (3.4,7.2) {C};
  \node at (4.8,7.2) {I};
  \node at (6.2,7.2) {F};
  % row labels and y positions
  \node[anchor=east] at (1.1,6.5) {triclinic};
  \node[anchor=east] at (1.1,5.6) {monoclinic};
  \node[anchor=east] at (1.1,4.7) {orthorhombic};
  \node[anchor=east] at (1.1,3.8) {tetragonal};
  \node[anchor=east] at (1.1,2.9) {trigonal};
  \node[anchor=east] at (1.1,2.0) {hexagonal};
  \node[anchor=east] at (1.1,1.1) {cubic};
  % small cell icon: square with corner dots, plus centering dots
  % triclinic P
  \draw[black] (1.75,6.25) rectangle (2.25,6.75);
  \foreach \p in {(1.75,6.25),(2.25,6.25),(1.75,6.75),(2.25,6.75)} \fill[black] \p circle (1.2pt);
  % monoclinic P, C
  \draw[black] (1.75,5.35) rectangle (2.25,5.85);
  \foreach \p in {(1.75,5.35),(2.25,5.35),(1.75,5.85),(2.25,5.85)} \fill[black] \p circle (1.2pt);
  \draw[black] (3.15,5.35) rectangle (3.65,5.85);
  \foreach \p in {(3.15,5.35),(3.65,5.35),(3.15,5.85),(3.65,5.85)} \fill[black] \p circle (1.2pt);
  \fill[black] (3.4,5.85) circle (1.2pt); \fill[black] (3.4,5.35) circle (1.2pt);
  % orthorhombic P, C, I, F
  \draw[black] (1.75,4.45) rectangle (2.25,4.95);
  \foreach \p in {(1.75,4.45),(2.25,4.45),(1.75,4.95),(2.25,4.95)} \fill[black] \p circle (1.2pt);
  \draw[black] (3.15,4.45) rectangle (3.65,4.95);
  \foreach \p in {(3.15,4.45),(3.65,4.45),(3.15,4.95),(3.65,4.95)} \fill[black] \p circle (1.2pt);
  \fill[black] (3.4,4.95) circle (1.2pt); \fill[black] (3.4,4.45) circle (1.2pt);
  \draw[black] (4.55,4.45) rectangle (5.05,4.95);
  \foreach \p in {(4.55,4.45),(5.05,4.45),(4.55,4.95),(5.05,4.95)} \fill[black] \p circle (1.2pt);
  \fill[black] (4.8,4.7) circle (1.4pt);
  \draw[black] (5.95,4.45) rectangle (6.45,4.95);
  \foreach \p in {(5.95,4.45),(6.45,4.45),(5.95,4.95),(6.45,4.95),(6.2,4.7),(6.2,4.95),(6.2,4.45),(5.95,4.7),(6.45,4.7)} \fill[black] \p circle (1.2pt);
  % tetragonal P, I
  \draw[black] (1.75,3.55) rectangle (2.25,4.05);
  \foreach \p in {(1.75,3.55),(2.25,3.55),(1.75,4.05),(2.25,4.05)} \fill[black] \p circle (1.2pt);
  \draw[black] (4.55,3.55) rectangle (5.05,4.05);
  \foreach \p in {(4.55,3.55),(5.05,3.55),(4.55,4.05),(5.05,4.05)} \fill[black] \p circle (1.2pt);
  \fill[black] (4.8,3.8) circle (1.4pt);
  % trigonal R (rhombohedron icon, primitive column)
  \draw[black] (1.75,2.65) -- (2.25,2.65) -- (2.4,3.05) -- (1.9,3.05) -- cycle;
  \foreach \p in {(1.75,2.65),(2.25,2.65),(2.4,3.05),(1.9,3.05)} \fill[black] \p circle (1.2pt);
  % hexagonal P
  \draw[black] (1.75,1.75) rectangle (2.25,2.25);
  \draw[black] (2.25,1.75) -- (2.55,2.0) -- (2.25,2.25);
  \foreach \p in {(1.75,1.75),(2.25,1.75),(1.75,2.25),(2.25,2.25),(2.55,2.0)} \fill[black] \p circle (1.2pt);
  % cubic P, I, F
  \draw[black] (1.75,0.85) rectangle (2.25,1.35);
  \foreach \p in {(1.75,0.85),(2.25,0.85),(1.75,1.35),(2.25,1.35)} \fill[black] \p circle (1.2pt);
  \draw[black] (4.55,0.85) rectangle (5.05,1.35);
  \foreach \p in {(4.55,0.85),(5.05,0.85),(4.55,1.35),(5.05,1.35)} \fill[black] \p circle (1.2pt);
  \fill[black] (4.8,1.1) circle (1.4pt);
  \draw[black] (5.95,0.85) rectangle (6.45,1.35);
  \foreach \p in {(5.95,0.85),(6.45,0.85),(5.95,1.35),(6.45,1.35),(6.2,1.1),(6.2,1.35),(6.2,0.85),(5.95,1.1),(6.45,1.1)} \fill[black] \p circle (1.2pt);
\end{tikzpicture}
$$

The seven systems and their cell parameters, with the centering types each
admits, are collected below.

| System | Axes | Angles | Bravais lattices |
| --- | --- | --- | --- |
| Triclinic | $a\neq b\neq c$ | all $\neq 90°$ | P |
| Monoclinic | $a\neq b\neq c$ | two $=90°$ | P, C |
| Orthorhombic | $a\neq b\neq c$ | all $=90°$ | P, C, I, F |
| Tetragonal | $a=b\neq c$ | all $=90°$ | P, I |
| Trigonal | $a=b=c$ | all $=\alpha \neq 90°$ | R |
| Hexagonal | $a=b\neq c$ | $90°,90°,120°$ | P |
| Cubic | $a=b=c$ | all $=90°$ | P, I, F |

Some centerings are absent because they duplicate a smaller cell of the same or
higher symmetry. A face-centered tetragonal cell, for instance, is a
body-centered tetragonal cell with smaller axes, so it is not counted separately.

## Point groups and space groups

Two further classifications refine the fourteen lattices to real crystals. The
**point group** of a crystal is the set of symmetry operations — proper and
improper rotations — that fix at least one point and map the structure onto
itself. The crystallographic restriction (only 1-, 2-, 3-, 4-, and 6-fold axes are
compatible with translational periodicity) limits these to **32 crystallographic
point groups**. Adding the translations, including screw axes (rotation plus a
fractional translation) and glide planes (reflection plus a fractional
translation), gives the **230 space groups** that exhaust the ways a crystal can be
symmetric in three dimensions. The point group governs macroscopic tensor
properties — piezoelectricity, birefringence — while the space group is what a
diffraction experiment ultimately determines.

## Miller indices

Directions and planes in a crystal are labeled relative to the axes $\vec a_1,
\vec a_2, \vec a_3$.

> **Definition (Miller indices).** A lattice **direction** is written
> $[uvw]$, the smallest integers proportional to the components of a vector along
> it. A lattice **plane** is written $(hkl)$: take the intercepts of the plane on
> the three axes in units of the lattice constants, invert them, and clear
> fractions to the smallest integers. A bar denotes a negative index, and
> $\{hkl\}$ or $\langle uvw\rangle$ denotes the full set of symmetry-equivalent
> planes or directions.

For a plane intercepting the axes at $(2,1,1)$ in lattice units, the reciprocals
are $(\tfrac12,1,1)$, which clear to $(122)$. The prescription looks arbitrary
until the [reciprocal lattice](/condensed-matter/crystal-structure/reciprocal-lattice-and-brillouin-zones)
makes it natural: $(hkl)$ is the plane perpendicular to the reciprocal-lattice
vector $h\vec b_1 + k\vec b_2 + l\vec b_3$. In a cubic crystal $[hkl]$ is normal
to $(hkl)$, and the spacing between adjacent $(hkl)$ planes is

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

$$
% caption: The three low-index planes of a cubic crystal. (100) cuts one axis,
% (110) cuts two, (111) cuts all three; each shaded plane is the member of its
% family nearest the origin.
\begin{tikzpicture}[scale=1.0, >=stealth, font=\footnotesize]
  \definecolor{acc}{HTML}{4A6FA5}
  % ---- (100) ----
  \begin{scope}
    \draw[black] (0,0,0) -- (2,0,0) -- (2,2,0) -- (0,2,0) -- cycle;
    \draw[black] (0,0,0) -- (0,0,2);
    \draw[black] (2,0,0) -- (2,0,2);
    \draw[black] (2,2,0) -- (2,2,2);
    \draw[black] (0,2,0) -- (0,2,2);
    \draw[black] (0,0,2) -- (2,0,2) -- (2,2,2) -- (0,2,2) -- cycle;
    \fill[acc!16] (2,0,0) -- (2,2,0) -- (2,2,2) -- (2,0,2) -- cycle;
    \draw[acc, very thick] (2,0,0) -- (2,2,0) -- (2,2,2) -- (2,0,2) -- cycle;
    \node at (1,-0.5,0) {(100)};
  \end{scope}
  % ---- (110) ----
  \begin{scope}[xshift=4cm]
    \draw[black] (0,0,0) -- (2,0,0) -- (2,2,0) -- (0,2,0) -- cycle;
    \draw[black] (0,0,0) -- (0,0,2);
    \draw[black] (2,0,0) -- (2,0,2);
    \draw[black] (2,2,0) -- (2,2,2);
    \draw[black] (0,2,0) -- (0,2,2);
    \draw[black] (0,0,2) -- (2,0,2) -- (2,2,2) -- (0,2,2) -- cycle;
    \fill[acc!16] (2,0,0) -- (0,2,0) -- (0,2,2) -- (2,0,2) -- cycle;
    \draw[acc, very thick] (2,0,0) -- (0,2,0) -- (0,2,2) -- (2,0,2) -- cycle;
    \node at (1,-0.5,0) {(110)};
  \end{scope}
  % ---- (111) ----
  \begin{scope}[xshift=8cm]
    \draw[black] (0,0,0) -- (2,0,0) -- (2,2,0) -- (0,2,0) -- cycle;
    \draw[black] (0,0,0) -- (0,0,2);
    \draw[black] (2,0,0) -- (2,0,2);
    \draw[black] (2,2,0) -- (2,2,2);
    \draw[black] (0,2,0) -- (0,2,2);
    \draw[black] (0,0,2) -- (2,0,2) -- (2,2,2) -- (0,2,2) -- cycle;
    \fill[acc!16] (2,0,0) -- (0,2,0) -- (0,0,2) -- cycle;
    \draw[acc, very thick] (2,0,0) -- (0,2,0) -- (0,0,2) -- cycle;
    \node at (1,-0.5,0) {(111)};
  \end{scope}
\end{tikzpicture}
$$

## Close packing and the important structures

Stacking equal spheres to fill space efficiently gives two arrangements, both with
**packing fraction** $0.740$: **face-centered cubic**, with layer sequence
$ABCABC$, and **hexagonal close-packed** (hcp), with sequence $ABAB$. The hcp
structure is a hexagonal Bravais lattice with a two-atom basis; its ideal axial
ratio is

$$
\frac{c}{a} = \sqrt{\frac{8}{3}} = 1.633.
$$

The packing fraction of a structure is the volume of the atoms in a conventional
cell divided by the cell volume, with atoms taken as touching spheres.

> **Worked example.** For **body-centered cubic**, atoms touch along the body
> diagonal, so $4r = \sqrt{3}\,a$ and $r = \sqrt{3}\,a/4$. The conventional cell
> holds $2$ atoms, giving
> $$
> f_{\text{bcc}} = \frac{2 \cdot \tfrac{4}{3}\pi r^3}{a^3}
> = \frac{8\pi}{3}\left(\frac{\sqrt{3}}{4}\right)^3
> = \frac{\sqrt{3}\,\pi}{8} = 0.680.
> $$
> For **face-centered cubic**, atoms touch along the face diagonal, $4r =
> \sqrt{2}\,a$, and the cell holds $4$ atoms, giving $f_{\text{fcc}} =
> \sqrt{2}\,\pi/6 = 0.740$.

The remaining important structures are decorated cubic lattices:

- **NaCl (rock salt)**: fcc lattice, two-atom basis (a cation at the origin, an
  anion at the cube center of the fcc cell); six-fold coordination.
- **CsCl**: simple-cubic lattice with a two-atom basis (one ion at the corner, one
  at the body center); eight-fold coordination. It is _not_ body-centered cubic,
  because the two ions differ.
- **Diamond**: two interpenetrating fcc lattices offset by
  $\tfrac14(\vec a_1 + \vec a_2 + \vec a_3)$; each atom is tetrahedrally
  coordinated to four neighbors. Packing fraction $\sqrt{3}\,\pi/16 = 0.340$, low
  because the covalent bonding fixes the tetrahedral angle rather than close
  packing.
- **Zincblende**: the diamond structure with the two sublattices occupied by
  different elements (ZnS, GaAs); the loss of inversion symmetry is what makes
  these crystals piezoelectric and optically active.
- **Wurtzite**: the hexagonal analog of zincblende, based on hcp stacking (ZnO,
  GaN).

$$
% caption: The diamond structure as two interpenetrating fcc lattices. The
% second sublattice (open) is shifted by one quarter of the body diagonal from
% the first (filled); each atom bonds tetrahedrally to four neighbors on the
% other sublattice.
\begin{tikzpicture}[scale=1.9, >=stealth, font=\footnotesize]
  \definecolor{acc}{HTML}{4A6FA5}
  % cube frame (oblique)
  \coordinate (o) at (0,0);
  \draw[black] (0,0) -- (1.4,0) -- (1.4,1.4) -- (0,1.4) -- cycle;
  \draw[black] (0.45,0.4) -- (1.85,0.4) -- (1.85,1.8) -- (0.45,1.8) -- cycle;
  \draw[black] (0,0) -- (0.45,0.4);
  \draw[black] (1.4,0) -- (1.85,0.4);
  \draw[black] (0,1.4) -- (0.45,1.8);
  \draw[black] (1.4,1.4) -- (1.85,1.8);
  % fcc sublattice A (filled) at corners + a couple face centers
  \foreach \p in {(0,0),(1.4,0),(0,1.4),(1.4,1.4),(0.7,0.7),(0.925,1.1)}
    \fill[acc] \p circle (1.3pt);
  % sublattice B (open), offset toward interior
  \foreach \p in {(0.45,0.35),(1.05,0.75),(0.6,1.05)}
    \draw[black!70, fill=white] \p circle (1.3pt);
  % tetrahedral bonds from one interior atom
  \draw[black] (0.7,0.7) -- (0.45,0.35);
  \draw[black] (0.7,0.7) -- (1.05,0.75);
  \draw[black] (0.7,0.7) -- (0.6,1.05);
  \node[acc, anchor=west] at (2.0,1.3) {sublattice A};
  \node[black!70, anchor=west] at (2.0,0.9) {sublattice B};
\end{tikzpicture}
$$

The catalog of structures reduces to a small number of lattices and bases, and
the symmetry that classifies them is the same symmetry that will restrict the
allowed diffraction spots. Reading a diffraction pattern requires the dual
description of the lattice in momentum space: the
[reciprocal lattice](/condensed-matter/crystal-structure/reciprocal-lattice-and-brillouin-zones).
