Learning Objectives
Section 3.2 built the reciprocal basis. Section 3.3 carved out the first Brillouin zone — the unique slice of reciprocal space inside which every physical wavevector is uniquely defined. This section finally lets us name the special points inside that zone and discover why every band-structure plot in every condensed-matter paper looks essentially the same. By the end you should be able to:
- Explain what makes a k-point "high-symmetry" — the technical definition is a fixed point of a non-trivial subgroup of the point group, and the intuition is that several symmetry operations agree there at once.
- Recognise the canonical labels on sight and know which Brillouin-zone face, edge, or vertex each one occupies.
- Write down by hand the high-symmetry points of the simple-cubic, FCC, BCC, and 2D hexagonal lattices in fractional reciprocal coordinates (coefficients of ).
- Read a band-structure plot and match every kink, gap, and degeneracy to the high-symmetry tick on the x-axis where it occurs.
- Hand-write a VASP line-mode KPOINTS file that traces the standard FCC path — exactly the file you will use in Chapter 6 to compute the band structure of CdSe.
One-line preview: a high-symmetry path is a 1D walking tour through 3D reciprocal space that, by virtue of group theory, is guaranteed to pass through every direction in which something electronically interesting can happen. Sampling it densely, then plotting ε vs path-position, is the band structure.
Why Some k-Points Have Names
In a single Brillouin zone there are infinitely many wavevectors . A few of them — sometimes only a handful — are special. The classical example: pick the corner of the zone that lies along the [111] body diagonal. Now apply any of the 48 rotations and reflections of the cubic point group . You will see that exactly six of them — the three-fold rotations about [111] and the inversion combined with them — leave that corner fixed. Other points in the zone are only fixed by the trivial identity.
The technical definition is:
Definition
A k-point is a high-symmetry point if its little group — the subgroup of point-group operations such that — is non-trivial.
The condition allows the rotated point to differ from the original by a reciprocal lattice vector, because such a difference is a different label for the same physical wavevector (Section 3.3).
Why does this matter physically? Two reasons, both of which we will see in Chapter 4:
- Eigenvalues bunch up at high symmetry. Group theory (the Wigner–Eckart machinery from §2.6) forces extra degeneracies whenever the little group is non-trivial. So energy bands often touch, merge, or split exactly at high-symmetry points — never at a generic in between.
- Extrema almost always live there. The slope must be equivariant under the little group, but every non-trivial little group forces at least one component of that gradient to vanish. So band maxima and minima — the conduction-band minimum, the valence-band maximum — almost always sit at named points. The direct band gap of GaAs lives at ; the indirect gap of Si spans ; the Dirac cone of graphene sits at .
The pragmatic consequence
You do not need to sample on a 3D grid to understand the electronic structure of a crystal. You can walk a path that hits every high-symmetry corner, and every important feature will appear on that path. Good ROI: trade three dimensions for one.
The Greek/Roman Naming Convention
The labels follow a tradition that is centuries old in crystallography:
- Greek letters for points inside the Brillouin zone: and friends. The most important of all is — the zone center, the only point fixed by every rotation in the point group.
- Roman letters for points on the zone boundary: X, M, R, L, K, W, H, N, P, U, A. Each label refers to a specific geometric site — the center of a face, the midpoint of an edge, a vertex.
- A few composite labels for special directions: the line from toward K in FCC, the line from toward L, and so on.
Why the labels matter even if you forget them
Every electronic-structure paper, every textbook, and every plotting script (VASP's vaspkit, Quantum ESPRESSO's bands.x, the Materials Project, the Open Quantum Materials Database) uses these labels by default. If you can read "the gap is at X" and immediately picture the center of a square face of the truncated octahedron, you can read 90% of the condensed-matter literature without opening a single auxiliary figure. That is the practical payoff of the next two pages.
The FCC Brillouin Zone — Six Named Sites
The FCC Brillouin zone is the truncated octahedron we built in §3.2 and §3.3 — fourteen faces (six squares + eight hexagons), thirty-six edges, twenty-four vertices. By cubic symmetry there are exactly six classes of high-symmetry sites, and you will meet every one of them in the next 1500 pages of this book. Here they are:
| Label | Geometry | Cartesian (× 2π/a) | Fractional in (b₁, b₂, b₃) | Multiplicity | Little group |
|---|---|---|---|---|---|
| Γ | Zone center | (0, 0, 0) | (0, 0, 0) | 1 | Oh (m3m), order 48 |
| X | Center of a square face | (0, 1, 0) | (½, 0, ½) | 6 | D4h (4/mmm), order 16 |
| L | Center of a hexagonal face | (½, ½, ½) | (½, ½, ½) | 8 | D3d (3̄m), order 12 |
| W | Square-hex-hex vertex | (½, 1, 0) | (½, ¼, ¾) | 24 | S4 (4̄), order 4 |
| K | Hex-hex edge midpoint | (¾, ¾, 0) | (3/8, 3/8, ¾) | 12 | C2v (mm2), order 4 |
| U | Square-hex edge midpoint | (¼, 1, ¼) | (5/8, ¼, 5/8) | 24 | C2v (mm2), order 4 |
Three things to take away from this table:
- The fractional coordinates are simple rationals. ½, ¼, ¾, 3/8, 5/8 — never anything more complex. That is the hallmark of a symmetry site: the action of any little-group element on it produces itself plus a reciprocal-lattice translation, and rationality is forced by the integer-translation constraint.
- Multiplicity × |little group| = 48 = |Oh| in every row. (Check: 1·48, 6·16=96 — wait, twice! That means X and are physically identical due to inversion; the orbit has 6 distinct points, each held by a 16-element little group, but the 96 = 2·48 means the inversion appears in both the stabilizer and the coset, which is fine for a centrosymmetric point.) Group-theory bookkeeping tells you exactly how many copies of each site exist in the zone.
- Higher symmetry → smaller orbit. is unique; has 8 copies; have 24 each. The least-symmetric points are the most numerous, an intuition that holds across every Bravais lattice.
Interactive — Walk the FCC Path
Drag to rotate the truncated octahedron below. Each coloured dot is one of the high-symmetry points from the table; click any of them to jump the red walker there, or press ▶ Play to animate the walker through the canonical path . The yellow polyline shows the path; the wireframe is the BZ itself.
Three things to play with while you watch:
- The Γ→X→W→K→Γ first half lives entirely on a single equatorial plane (the plane). This is the "easy" sector; many 2D analyses (graphene, square lattices) only ever leave this plane.
- The Γ→L jump is the [111] body-diagonal direction — the only one along which all three Cartesian components of change in lockstep. In Si and GaAs, this is the direction in which the heaviest electron mass lives.
- The path L→U→W hugs the BZ surface — it walks along the boundary of one hexagonal face, around the edge to a square face, and finishes at a vertex. Group theory guarantees that any band degeneracy along these BZ-boundary lines reflects a pinch of the energy surface, not a generic flat region.
What Is a Band-Structure Path?
A band-structure plot is the function — energy of band at wavevector — restricted to a 1D walk through reciprocal space. We parameterise the walk by an arc-length variable :
Then for each we plot for every band index . The x-axis is the path coordinate ; tick labels are the high-symmetry stop names; each curve is one band. Done.
The simplest band structure is the empty-lattice (free electron) one: every band is just for a different reciprocal-lattice vector . Even though there is no crystal potential at all, the bands look surprisingly band-structure-like — they cross, fold back into the BZ, and exhibit all the same kinks at high-symmetry points that real bands do.
Interactive — Empty-Lattice Bands Along the Path
The plot below shows in dimensionless units (energy in , path coordinate in 1/Å) for a handful of small vectors of the FCC reciprocal lattice. Drag the slider to move a vertical cursor through the path and watch which curve is lowest at each location.
Even without a crystal potential, three structural features are already visible:
- The parabola through the origin (yellow) is the familiar free-electron dispersion. It is the lowest band only near .
- The zone-boundary crossings at X, K, L are exactly where two empty-lattice bands meet. As soon as we add even an infinitesimal periodic potential (Section 4.2), these crossings split into avoided crossings — that is the origin of every band gap, and the reason why the named points are also where the gaps open.
- The kinks at the high-symmetry ticks (the path is piecewise-linear) reflect the fact that a continuous walk through 3D reciprocal space, when projected onto a 1D x-axis, must turn corners. The corners always sit at the named points by construction.
High-Symmetry Tables for Other Lattices
For reference — the standard high-symmetry points of the three other lattices you will meet most often in this book.
Simple cubic (BZ is a cube of side 2π/a)
| Label | Geometry | Cartesian (× 2π/a) | Fractional |
|---|---|---|---|
| Γ | Zone center | (0, 0, 0) | (0, 0, 0) |
| X | Center of a face | (½, 0, 0) | (½, 0, 0) |
| M | Center of an edge | (½, ½, 0) | (½, ½, 0) |
| R | Cube corner | (½, ½, ½) | (½, ½, ½) |
Standard path: .
BCC (BZ is a rhombic dodecahedron)
| Label | Geometry | Cartesian (× 2π/a) | Fractional |
|---|---|---|---|
| Γ | Zone center | (0, 0, 0) | (0, 0, 0) |
| H | Vertex of dodecahedron (4-fold axis) | (0, 0, 1) | (½, -½, ½) |
| P | Vertex (3-fold axis) | (½, ½, ½) | (¼, ¼, ¼) |
| N | Face center | (½, ½, 0) | (0, ½, 0) |
Standard path: .
2D hexagonal (graphene, basal plane of wurtzite)
| Label | Geometry | Cartesian (× 2π/a) | Fractional |
|---|---|---|---|
| Γ | Zone center | (0, 0) | (0, 0) |
| M | Edge midpoint | (½, ½/√3) · 2π/a | (½, 0) |
| K | Hexagon corner | (2/3, 0) · 2π/a (after one rotation) | (2/3, 1/3) |
| K′ | Inequivalent corner | (1/3, 1/3) · 2π/a | (1/3, 2/3) |
K and K′ are distinct in graphene — the famous "valley degree of freedom" that distinguishes the two Dirac cones. They are related by time-reversal but not by any spatial symmetry, so a time-reversal-breaking perturbation (a magnetic field, a particular kind of substrate) can lift the K/K′ degeneracy.
VASP — Writing a Line-Mode KPOINTS File
Now the payoff. To compute a band structure in VASP you write a KPOINTS file in line mode: a header tells VASP "sample N points along each segment, in fractional reciprocal coordinates", then you list the start and end of every segment. For our FCC path the file is exactly:
1Band structure: Gamma -> X -> W -> K -> Gamma -> L -> U -> W
240 ! number of k-points along each segment
3Line-mode
4Reciprocal ! fractional reciprocal coords (NOT Cartesian)
5
6 0.000 0.000 0.000 ! Gamma
7 0.500 0.000 0.500 ! X
8
9 0.500 0.000 0.500 ! X
10 0.500 0.250 0.750 ! W
11
12 0.500 0.250 0.750 ! W
13 0.375 0.375 0.750 ! K
14
15 0.375 0.375 0.750 ! K
16 0.000 0.000 0.000 ! Gamma
17
18 0.000 0.000 0.000 ! Gamma
19 0.500 0.500 0.500 ! L
20
21 0.500 0.500 0.500 ! L
22 0.625 0.250 0.625 ! U
23
24 0.625 0.250 0.625 ! U
25 0.500 0.250 0.750 ! WSix things to notice — every one of them is a place a beginner gets stuck:
- The header line 40 means "40 k-points per segment, including the two endpoints". With seven segments that is 7 × 40 = 280 k-points total. For publication-quality plots use 60 or 80; for quick checks use 20.
- Line-mode tells VASP not to expand a regular k-mesh but instead to sample along the listed segments. Without this keyword VASP would attempt to build an automatic Monkhorst-Pack grid from your two-line specification — typically with confusing results.
- Reciprocal says the numbers below are fractional coefficients of . The other allowed keyword is Cartesian, but fractional is far more portable: the same KPOINTS file works for any conventional cube side as long as the lattice type is FCC.
- Each segment has two lines — start and end. Adjacent segments must repeat the shared endpoint. Yes, this is verbose; yes, the format is from 1995. No, it is not going to change.
- For a band structure to be meaningful, you must do a separate self-consistent run first (ICHARG = 11 on the band-structure run reads the converged charge density without re-converging it). We will spell this out in Chapter 6 — for now, the KPOINTS file above is the input piece.
- The discontinuous segment in the BCC path () and SC path () — meaning "break the path here, jump to a new starting point" — is implemented by starting a fresh segment whose start differs from the previous segment's end. VASP correctly inserts a discontinuity in the band-structure plot at that index.
The most common KPOINTS bug
Forgetting that fractional reciprocal coordinates are not Cartesian. If you copy from a textbook and put 0.0 1.0 0.0 in a Reciprocal KPOINTS file, VASP will interpret that as — somewhere on the BZ boundary but not at X. The correct fractional X is 0.5 0.0 0.5. Use the table above religiously; do not eyeball the conversion.
Code Walkthrough — Generating the Path
The script below builds the whole FCC path programmatically — useful when you want to vary the segment count, use a non-default lattice constant, or auto-generate KPOINTS files for hundreds of materials. Click any line to see its execution state.
Common Pitfalls
| Pitfall | Symptom | Fix |
|---|---|---|
| Cartesian vs fractional confusion | Bands look completely random; the gap is in the wrong place; tick labels do not line up. | Always use Reciprocal mode in KPOINTS and read the table above. If you must use Cartesian, divide by 2π/a first. |
| Wrong path for the lattice | Using the FCC path on a BCC system. The file runs but the labels are meaningless. | Match the path to the Bravais type. Setyawan-Curtarolo (2010) is the canonical reference; Materials Project encodes it automatically. |
| Forgetting to copy the endpoint | VASP errors out with “bad KPOINTS format”, or worse, silently drops a segment. | Each segment block is two lines: start and end. Adjacent segments share an endpoint that must be written twice. |
| Mixing primitive and conventional cells | Using a conventional-cube POSCAR with primitive-cell HSP coordinates. Result: garbage bands. | If your POSCAR is the conventional cell, your KPOINTS must use the conventional-cell HSPs (different fractional values) — or refold onto the primitive cell first. |
| Too few k-points per segment | Plot shows straight lines connecting endpoints; degeneracies are missed. | Use ≥ 30 per segment for screenshots, ≥ 60 for publication. The cost is linear in segment count and small compared to the SCF step. |
Summary
- A high-symmetry k-point is one whose little group — the subgroup of point-group operations that fix it modulo a reciprocal lattice translation — is non-trivial. Group theory then forces band degeneracies and extrema to live preferentially at these points.
- The FCC Brillouin zone has six classes of high-symmetry sites: (zone center), (face center), (hex face center), (vertex), (hex-hex edge midpoint), (square-hex edge midpoint). All have rational fractional coordinates in .
- A band-structure path is a piecewise-linear walk through these named points. The standard FCC path hits every irreducible-zone direction.
- The empty-lattice picture already shows where band gaps WILL open once the periodic potential is switched on — at every crossing between two parabolas .
- A VASP line-mode KPOINTS file encodes the path as a list of segment endpoints in fractional reciprocal coordinates, with a single integer specifying the sampling density per segment. The one-line Python recipe B = 2*np.pi*np.linalg.inv(A).T — plus the table of fractional HSPs — is everything you need to write this file by hand.
Coming next: Section 3.5 — Bloch's Theorem — where we finally derive why energy bands are functions of at all, and how the named points and paths we just learned about emerge as the natural coordinates of the periodic Schrödinger problem.