Learning Objectives
Section 3.8 made the case that any property of a crystal is, deep down, an integral over the Brillouin zone, and that we approximate that integral by sampling at a discrete set of k-points. This section answers the obvious next question: which discrete points? By the end you should be able to:
- Write down the Monkhorst–Pack formula and explain why this particular choice is "the most uniform" uniform mesh.
- Decide between a Γ-centred and an MP-shifted mesh from the parity of and the symmetry of the lattice — and know why hexagonal cells demand the Γ-centred form.
- Use the point group of the crystal to fold an mesh into a much smaller irreducible wedge, with multiplicities (weights) that sum back to the original count.
- Read a real convergence curve and recognise why metals oscillate while insulators decay smoothly.
- Apply the k·a ≈ const rule of thumb to set a consistent mesh density across anisotropic cells and supercells of different size.
- Read, write, and debug a VASP KPOINTS file in automatic mode, and predict what its IBZKPT counterpart will contain.
One-line preview: Monkhorst and Pack's 1976 prescription is the unique uniform mesh whose centroid lies exactly at Γ for every direction independently — and whose half-step shift makes even avoid Γ on purpose, which turns out to be exactly what metallic Brillouin-zone integrals need.
Why a Grid? The Integral Hiding in Every DFT Run
Every observable VASP prints — total energy, Fermi level, density of states, dielectric tensor, magnetic moment — has the same skeleton:
The sum runs over bands ; the integral runs over the first Brillouin zone; is the Fermi–Dirac (or smearing-broadened) occupation. We never compute this integral analytically — the integrand is the output of a self-consistent Kohn–Sham diagonalisation that we do not have in closed form. The only practical option is quadrature: replace the integral by a weighted sum,
Three knobs control accuracy: (i) where the sample points sit, (ii) how many of them you take, and (iii) how the weights are assigned. Ideally the points cover the BZ with the same density everywhere — anything biased towards one corner would systematically over- or under-count parts of the electronic structure. So we want a uniform mesh.
A subtlety that motivates MP
A naïve uniform mesh — say, putting points on the simple grid — has its centroid at per axis, not at zero. Worse, when you reduce by symmetry, the boundary points get double-counted unless you weight them carefully. Monkhorst and Pack designed their formula specifically to make the centroid land at Γ for any , and to keep weights trivial.
The Monkhorst–Pack Recipe
The 1976 paper (Phys. Rev. B 13, 5188) writes down a one-line formula for the k-points along each reciprocal-lattice direction:
That single line is the entire scheme. The k-points themselves are
Read the formula: the increment between consecutive is exactly , so the points are evenly spaced. The smallest is and the largest is . The whole list sits symmetrically around zero — the centroid is exactly at Γ. That symmetry is the design principle Monkhorst and Pack engineered into the formula.
Sanity check by hand
For the formula gives . Notice the absence of : the mesh straddles Γ rather than landing on it. For : . Now Γ is included. This even/odd dichotomy will be everywhere from now on.
The Γ-centred alternative — what VASP calls Gamma — uses , equivalent to shifting MP by . That moves the mesh so that always — Γ is in. Algebraically the two schemes differ by a constant translation; physically they are very different when symmetry is involved (next section).
Even vs Odd: The Γ-Point Question
The single most important practical fact about MP grids is the parity rule:
| N | MP includes Γ? | Γ-centred includes Γ? |
|---|---|---|
| odd (1, 3, 5, …) | yes | yes |
| even (2, 4, 6, …) | no — straddles Γ | yes |
Why does anyone want to avoid Γ? Because in a metal the partial occupancies have a step discontinuity at the Fermi surface. If the mesh hits exactly the Γ-point — which often coincides with a band extremum — you sample the integrand at a kink, and the quadrature error becomes first-order in instead of second-order. Even-N MP grids deliberately step around Γ, which restores the higher convergence rate. This is the technical reason the original paper argued for the half-step shift.
Hexagonal lattices are the famous exception. The C3 rotation of the basal plane maps an even-N MP mesh onto a different mesh — the Brillouin-zone symmetry is broken by the sampling. The remedy is to force via Γ-centring, which keeps the mesh symmetric under all operations of the point group.
Three rules to live by
- Cubic / orthorhombic / tetragonal + metallic → even-N MP. Avoids Γ, smoother convergence, fewer bands at the Fermi level land on a sample point.
- Cubic / orthorhombic / tetragonal + insulating → either works. Use whichever your group's convention prefers.
- Hexagonal / trigonal → always Γ-centred. The MP shift breaks the C3 symmetry of the BZ.
Interactive — Watch the Grid Fold
The widget below puts the formula in your hands. The grey square is the first Brillouin zone of a 2-D square lattice (, ); its symmetry group is C4v. Slide and , toggle the centring, and read the irreducible-point table. Each colour in the dot field is one irreducible representative — every dot of that colour is a member of its star.
Monkhorst–Pack k-Point Sampling of a 2-D Square Brillouin Zone
Slide N₁, N₂ to change grid density. Toggle the centring to see how the points relocate. The shaded triangle is the C4v irreducible wedge — coloured points show which BZ k-points fold onto the same irreducible representative.
u_r = (2r − N − 1) / (2N). Even N misses Γ; odd N hits it.
| # | k = (k₁, k₂) (in 2π/a) | weight wₖ |
|---|---|---|
| (-0.3750, -0.3750) | 4 | |
| (-0.3750, -0.1250) | 8 | |
| (-0.1250, -0.1250) | 4 | |
| Σ | sum of weights | 16 |
Five things to do with the widget:
- Set , MP centring. Note that no dot sits at Γ. Switch to Γ-centred — a dot appears at the origin and the entire mesh rigidly slides up-right by .
- Stay at MP. Count the irreducible points in the table — there are 3. Multiplicities are 4, 8, 4 → sum 16, matching . Each irreducible k-point carries the "weight of its star."
- Crank to . The dot field densifies; the irreducible count grows roughly as — the C4v reduction factor. For most production work, the irreducible mesh is what dominates wall time, not the full mesh.
- Try Γ-centred and MP. Now MP also includes Γ — that's the odd-N case. The irreducible counts differ slightly because the on-axis points sit on mirror lines and pick up extra symmetry.
- Push . The mesh is dense in but coarse in . This is the wrong choice for a square BZ — but the right one if the real cell is squashed (anisotropic reciprocal vectors), which we discuss in the "k·a" rule below.
Symmetry, the Irreducible Wedge, and Weights
Look at the shaded triangle in the widget — the lower-right wedge with vertices Γ, X = , M = . That is the irreducible Brillouin zone (IBZ) of C4v: one-eighth of the full BZ, the smallest region you can rotate or reflect to cover everything. Two k-points are physically equivalent iff the point group of the crystal sends one to the other, so we never need to compute eigenvalues at both — we work in the IBZ and then weight by multiplicity:
where the weight is simply the number of full-BZ k-points that fold onto . For a generic interior point of the IBZ that number is (the order of the point group). Points on a mirror plane have weight ; points on the intersection of two mirrors carry ; the corners (Γ, X, M for C4v) sit on the full stabiliser and have weight 1 each — their star has only one member.
Hover over a row in the table beside the widget — the corresponding star lights up in the dot field. Notice that the brighter, dark-edged dot in each colour is the canonical representative VASP would print to IBZKPT; the faint dots are its symmetry partners.
Wall-time scales with the irreducible count, so the symmetry reduction is a first-class optimisation, not a bookkeeping detail. For an FCC Brillouin zone (point group Oh, order 48) and a mesh, VASP reduces 4096 full-BZ points to roughly 145 irreducible — a 28× speed-up, for free, every SCF iteration.
Convergence: Metals vs Semiconductors
How dense is dense enough? You answer that question with a convergence test: run a series of identical calculations differing only in , and watch an observable settle. The widget below shows representative shapes for a metal (FCC Al) and a wide-gap semiconductor (wurtzite CdSe), with the y-axis on a log scale so you can see four decades of error at once.
Convergence of Etot with k-Mesh Density
Pick a system, slide N, and read the error against the converged limit. Watch how the metal oscillates with N while the semiconductor decays monotonically.
Note the log scale on the y-axis. The metal's curve still wiggles at N = 8–10 — a typical reason VASP users push 16×16×16 or denser for metals, while N = 4 already converges a wide-gap semiconductor below 1 meV/atom.
Three lessons that show up immediately:
- Semiconductors are easy. The CdSe curve drops as a near-perfect exponential, hitting the 1 meV/atom bar by . Smooth integrand → exponential convergence. This is why every published CdSe study uses meshes around .
- Metals are hard. Aluminium oscillates with a period of ~2 in and only really sits below 1 meV/atom past . The oscillation is the partially-filled band edge moving across sample points; its amplitude is exactly what a Methfessel–Paxton or Marzari–Vanderbilt smearing tames (next chapter). Without smearing you would need for a metal — and even then convergence is only first-order.
- Density, not absolute count. The same mesh on a small primitive cell is far denser in real-space-equivalent units than on a 2×2×2 supercell. We turn this observation into a quantitative rule next.
The convergence target depends on what you compute
1 meV/atom is a typical SCF-energy target. Differences of energies — formation enthalpies, surface energies, defect energies, phonon frequencies — converge faster (cancellation of errors) provided you use the same mesh in numerator and denominator. Forces and band structures often need denser meshes than the energy. Always converge the quantity you actually care about, not just the total energy.
Anisotropic Cells and the k·a = const Rule
The reciprocal-space spacing along axis is
For a uniform sampling density we want the same in every direction, i.e.
The constant has units of length and is often quoted as the "k-mesh density" in Å. A common rule of thumb is for a well-converged semiconductor and for a metal.
| Cell | |a₁| (Å) | |a₂| (Å) | |a₃| (Å) | ℓ ≈ 30 Å mesh | ℓ ≈ 60 Å mesh |
|---|---|---|---|---|---|
| FCC Al primitive | 2.86 | 2.86 | 2.86 | 11×11×11 | 21×21×21 |
| Wurtzite CdSe primitive | 4.30 | 4.30 | 7.01 | 7×7×4 | 14×14×9 |
| 2×2×2 CdSe supercell | 8.60 | 8.60 | 14.02 | 4×4×2 | 7×7×4 |
| Mn:CdSe 4×4×4 supercell | 17.20 | 17.20 | 28.04 | 2×2×1 | 4×4×2 |
| Slab (5×5 + 15 Å vacuum) | 21.50 | 21.50 | 23.0 | 2×2×1 | 3×3×1 |
The supercell dividend
A 2×2×2 supercell has , so — the BZ shrinks by a factor of 8. To keep the same , divide each by 2. The total mesh count drops by 8×; combined with the 8× more atoms per cell, the wall time per irreducible k-point rises by ~8 but the number of k-points falls by 8 — they roughly cancel for SCF. This is the deep reason plane-wave DFT scales gracefully with supercell size.
For slabs and isolated molecules in vacuum (), — a single k-point along that axis is more than enough. is the right answer; spending more is pure waste.
Reading and Writing a VASP KPOINTS File
The KPOINTS file is the smallest file in a VASP calculation but it controls a remarkable amount. In automatic mode it is exactly five lines. Click any line below to see what VASP actually does with it.
What VASP writes to IBZKPT
After parsing the KPOINTS above, VASP writes the irreducible list to the IBZKPT file. For a wurtzite cell with C6v symmetry and an mesh, the top of IBZKPT looks roughly like this (numbers schematic):
1Automatically generated mesh
2 36
3Reciprocal lattice
4 0.00000000000000 0.00000000000000 0.00000000000000 1
5 0.12500000000000 0.00000000000000 0.00000000000000 6
6 0.25000000000000 0.00000000000000 0.00000000000000 6
7 0.37500000000000 0.00000000000000 0.00000000000000 6
8 0.50000000000000 0.00000000000000 0.00000000000000 3
9 0.12500000000000 0.12500000000000 0.00000000000000 6
10 0.25000000000000 0.12500000000000 0.00000000000000 12
11 ...
12 sum 384The four columns are in fractional coordinates of the reciprocal basis (not Cartesian!) and the integer multiplicity. The sum of the multiplicities equals — a sanity check you should make every time. If the sum disagrees, VASP has applied the wrong symmetry, usually because ISYM in INCAR was set wrong or the POSCAR symmetry was broken by a typo.
Two practical conveniences
- KSPACING in INCAR replaces the entire KPOINTS file: VASP picks automatically. Setting KSPACING = 0.2 typically gives meshes around .
- For high-throughput screening, the AFLOW convention sets at a single number across a database of structures. This is the same idea, just standardised.
Common Pitfalls
| Pitfall | Symptom | Fix |
|---|---|---|
| MP on a hexagonal cell | Bands look funny near K, irreducible count is larger than expected, total energy converges erratically. | Switch line 3 of KPOINTS to 'Gamma'. Hexagonal/trigonal lattices need Γ-centring. |
| Even N for a metal sitting on Γ-only band edge | First-order convergence, oscillations remain at N = 16+. | Use even N (which avoids Γ) and add Methfessel–Paxton smearing (ISMEAR = 1, SIGMA ≈ 0.2 eV). |
| Same N for big and small cells | Supercell calculation is far over-converged (and slow), or the small primitive cell is under-converged. | Use the k·|a| ≈ ℓ rule. Halving the cell doubles |b|, so double N to keep ℓ constant. |
| ISYM = -1 with a dense MP mesh | IBZKPT contains every full-BZ point; runs are 8–48× slower than necessary. | Leave ISYM = 2 (default) unless you have a deliberate reason — symmetrising the charge density is almost always desirable. |
| k = 1×1×1 on a metal | Garbage band fillings, non-physical magnetisation, energy shifts of eV. | Metals need at least 4-6 k-points per Å⁻¹ even for total-energy SCF. Convergence test or KSPACING < 0.3. |
| Forgot the shift line | VASP rejects the file or silently uses 0 0 0 — different VASP versions differ. | Always write the shift line, even if it is 0 0 0. Five lines, no exceptions. |
Summary
- Every observable in a DFT calculation is a Brillouin-zone integral. We approximate it with a uniform mesh of k-points and a quadrature rule.
- The Monkhorst–Pack formula is the unique uniform mesh whose centroid sits at Γ for any . The Γ-centred variant shifts the same mesh by so that .
- Even with MP misses Γ — exactly what you want for metals. Hexagonal cells must use Γ-centring to preserve C3 symmetry.
- Point-group symmetry folds the mesh into a much smaller irreducible wedge; multiplicities (weights) recover the full sum. Wall time scales with the irreducible count, not the full count.
- Convergence behaviour distinguishes metals (oscillating, slow) from insulators (smooth, exponential). The right convergence target is 1 meV/atom on the quantity you care about, not just the total energy.
- The k·a ≈ ℓ rule sets a consistent k-mesh density across anisotropic cells and supercells. Use for insulators, for metals, for slabs and molecules.
- A VASP KPOINTS file in automatic mode is exactly five lines: title, 0, scheme name, three integers, three-integer shift. The IBZKPT file VASP writes back tells you the irreducible set with weights — the sum of weights must equal .
Coming next: Section 3.10 — Reciprocal Space in VASP — where we wire today's KPOINTS theory into a complete first-principles workflow: KSPACING, ISYM, the band-structure line mode, and how to interpret the eigenvalue tables in OUTCAR for the Mn:CdSe quantum-dot supercell that anchors the rest of the book.