Chapter 3
15 min read
Section 29 of 70

Monkhorst–Pack Grids

Reciprocal Space and Diffraction

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:

  1. Write down the Monkhorst–Pack formula ur=(2rN1)/(2N)u_r = (2r - N - 1) / (2N) and explain why this particular choice is "the most uniform" uniform mesh.
  2. Decide between a Γ-centred and an MP-shifted mesh from the parity of NN and the symmetry of the lattice — and know why hexagonal cells demand the Γ-centred form.
  3. Use the point group of the crystal to fold an N1×N2×N3N_1 \times N_2 \times N_3 mesh into a much smaller irreducible wedge, with multiplicities (weights) that sum back to the original count.
  4. Read a real convergence curve Etot(N)EE_{\text{tot}}(N) - E_\infty and recognise why metals oscillate while insulators decay smoothly.
  5. Apply the k·a ≈ const rule of thumb to set a consistent mesh density across anisotropic cells and supercells of different size.
  6. 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 NN 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:

O  =  Vcell(2π)3BZnfnkOnk  d3k.\langle O \rangle \;=\; \frac{V_{\text{cell}}}{(2\pi)^3} \int_{\text{BZ}} \sum_n f_{n\mathbf{k}}\, O_{n\mathbf{k}} \; d^3 k.

The sum runs over bands nn; the integral runs over the first Brillouin zone; fnkf_{n\mathbf{k}} 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,

BZF(k)d3k    VBZi=1NkwiF(ki),iwi=1.\int_{\text{BZ}} F(\mathbf{k})\, d^3 k \;\approx\; V_{\text{BZ}} \sum_{i=1}^{N_k} w_i\, F(\mathbf{k}_i), \qquad \sum_i w_i = 1.

Three knobs control accuracy: (i) where the sample points ki\mathbf{k}_i sit, (ii) how many of them you take, and (iii) how the weights wiw_i 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 k=(i/N)b1+(j/N)b2+(k/N)b3\mathbf{k} = (i/N)\mathbf{b}_1 + (j/N)\mathbf{b}_2 + (k/N)\mathbf{b}_3 — has its centroid at (N1)/(2N)(N-1)/(2N) 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 NN, 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:

  ur  =  2rN12N,r=1,2,,N.  \boxed{\; u_r \;=\; \frac{2r - N - 1}{2N}, \qquad r = 1, 2, \ldots, N. \;}

That single line is the entire scheme. The k-points themselves are

krst  =  urb1+usb2+utb3,r,s,t=1,,N1,2,3.\mathbf{k}_{rst} \;=\; u_r\,\mathbf{b}_1 + u_s\,\mathbf{b}_2 + u_t\,\mathbf{b}_3, \qquad r, s, t = 1,\ldots,N_{1,2,3}.

Read the formula: the increment between consecutive uru_r is exactly 1/N1/N, so the points are evenly spaced. The smallest is u1=(1N)/(2N)=1/2+1/(2N)u_1 = (1-N)/(2N) = -1/2 + 1/(2N) and the largest is uN=(N1)/(2N)=1/21/(2N)u_N = (N-1)/(2N) = 1/2 - 1/(2N). 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 N=4N = 4 the formula gives ur{3/8,1/8,1/8,3/8}u_r \in \{-3/8, -1/8, 1/8, 3/8\}. Notice the absence of u=0u = 0: the mesh straddles Γ rather than landing on it. For N=5N = 5: ur{2/5,1/5,0,1/5,2/5}u_r \in \{-2/5, -1/5, 0, 1/5, 2/5\}. Now Γ is included. This even/odd dichotomy will be everywhere from now on.

The Γ-centred alternative — what VASP calls Gamma — uses ur=(r1)/Nu_r = (r-1)/N, equivalent to shifting MP by +1/(2N)+1/(2N). That moves the mesh so that u1=0u_1 = 0 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:

NMP includes Γ?Γ-centred includes Γ?
odd (1, 3, 5, …)yesyes
even (2, 4, 6, …)no — straddles Γyes

Why does anyone want to avoid Γ? Because in a metal the partial occupancies fnkf_{n\mathbf{k}} 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 1/N1/N 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 u1=0u_1 = 0 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 (a1a2a_1 \perp a_2, a1=a2=a|a_1| = |a_2| = a); its symmetry group is C4v. Slide N1N_1 and N2N_2, 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.

Grid N₁ × N₂4 × 4
Centring

u_r = (2r − N − 1) / (2N). Even N misses Γ; odd N hits it.

Display
Total k-points:16
Irreducible:3
Reduction factor:×5.33
ΓXMk₁ ∈ (−π/a, π/a]k₂
#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 weights16

Five things to do with the widget:

  1. Set N1=N2=4N_1 = N_2 = 4, 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 1/(2N)1/(2N).
  2. Stay at 4×44 \times 4 MP. Count the irreducible points in the table — there are 3. Multiplicities are 4, 8, 4 → sum 16, matching N1×N2N_1 \times N_2. Each irreducible k-point carries the "weight of its star."
  3. Crank to 8×88 \times 8. The dot field densifies; the irreducible count grows roughly as N2/8N^2 / 8 — the C4v reduction factor. For most production work, the irreducible mesh is what dominates wall time, not the full mesh.
  4. Try N1=5,N2=5N_1 = 5, N_2 = 5 Γ-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.
  5. Push N1=8,N2=2N_1 = 8, N_2 = 2. The mesh is dense in k1k_1 but coarse in k2k_2. 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 = (12,0)(\tfrac{1}{2}, 0), M = (12,12)(\tfrac{1}{2}, \tfrac{1}{2}). 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:

kfull BZF(k)  =  kIBZwkF(k),\sum_{\mathbf{k} \in \text{full BZ}} F(\mathbf{k}) \;=\; \sum_{\mathbf{k}^* \in \text{IBZ}} w_{\mathbf{k}^*}\, F(\mathbf{k}^*),

where the weight wkw_{\mathbf{k}^*} is simply the number of full-BZ k-points that fold onto k\mathbf{k}^*. For a generic interior point of the IBZ that number is G|G| (the order of the point group). Points on a mirror plane have weight G/2|G|/2; points on the intersection of two mirrors carry G/4|G|/4; 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 16×16×1616 \times 16 \times 16 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 NN, 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.

System
Mesh density N6×6×6
|ΔE| at N = 6:112.14 meV
Under-converged
0.010.11101001000|E(N) − E∞| (meV / atom)14812162024k-mesh per side (N)1 meV/atom target

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:

  1. Semiconductors are easy. The CdSe curve drops as a near-perfect exponential, hitting the 1 meV/atom bar by N5N \approx 5. Smooth integrand → exponential convergence. This is why every published CdSe study uses meshes around 6×6×46 \times 6 \times 4.
  2. Metals are hard. Aluminium oscillates with a period of ~2 in NN and only really sits below 1 meV/atom past N16N \approx 16. 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 N30N \sim 30 for a metal — and even then convergence is only first-order.
  3. Density, not absolute count. The same N=8N = 8 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 ii is

Δki  =  biNi  =  2πNiai.\Delta k_i \;=\; \frac{|\mathbf{b}_i|}{N_i} \;=\; \frac{2\pi}{N_i\,|\mathbf{a}_i|}.

For a uniform sampling density we want Δki\Delta k_i the same in every direction, i.e.

Niai    const    .N_i\,|\mathbf{a}_i| \;\approx\; \text{const} \;\equiv\; \ell.

The constant \ell has units of length and is often quoted as the "k-mesh density" in Å. A common rule of thumb is 30A˚\ell \approx 30\,\text{Å} for a well-converged semiconductor and 60A˚\ell \approx 60\,\text{Å} for a metal.

Cell|a₁| (Å)|a₂| (Å)|a₃| (Å)ℓ ≈ 30 Å meshℓ ≈ 60 Å mesh
FCC Al primitive2.862.862.8611×11×1121×21×21
Wurtzite CdSe primitive4.304.307.017×7×414×14×9
2×2×2 CdSe supercell8.608.6014.024×4×27×7×4
Mn:CdSe 4×4×4 supercell17.2017.2028.042×2×14×4×2
Slab (5×5 + 15 Å vacuum)21.5021.5023.02×2×13×3×1

The supercell dividend

A 2×2×2 supercell has a2a|\mathbf{a}| \to 2|\mathbf{a}|, so bb/2|\mathbf{b}| \to |\mathbf{b}|/2 — the BZ shrinks by a factor of 8. To keep the same Δk\Delta k, divide each NiN_i 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 (a3|\mathbf{a}_3| \to \infty), b30|\mathbf{b}_3| \to 0 — a single k-point along that axis is more than enough. N3=1N_3 = 1 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.

A complete KPOINTS file in automatic-MP mode
📝KPOINTS
1Comment line — free-form label

VASP ignores the first line entirely. It is a human-readable tag that ends up in the OUTCAR and IBZKPT, so use it to record what mesh you ran. A clear comment saves you when 50 KPOINTS files clutter a project.

EXECUTION STATE
Convention = Anything you like — formula, mesh, energy cutoff, or a TODO. VASP only reads it back into OUTCAR; it never affects the calculation.
Good example = 'CdSe wurtzite — 8x8x6 MP, no shift, ENCUT 400 eV'
2Number of k-points (0 = automatic mesh)

An integer telling VASP how to interpret the rest of the file. 0 means 'I will give you a generation rule, please build the mesh for me'. A positive number N means 'I am about to list N explicit k-points and weights'.

EXECUTION STATE
📚 Mode = 0 (automatic) = VASP reads the next two lines as scheme + grid spec, generates the Brillouin-zone mesh, applies symmetry, and writes the irreducible list to IBZKPT. This is the standard mode for SCF runs.
Mode > 0 (explicit list) = Used for band-structure paths along high-symmetry lines (Γ → X → M → Γ …). You supply the points yourself; symmetry is not applied.
Mode < 0 (line mode) = |N| points per segment, between explicit endpoints. Most band-structure plots in the literature are produced with this mode.
3Generation scheme: 'Monkhorst-Pack' or 'Gamma'

Tells VASP which centring to use for the uniform mesh. 'Monkhorst-Pack' (or just 'M') applies the half-step shift u_r = (2r−N−1)/(2N). 'Gamma' (or 'G') uses u_r = (r−1)/N, forcing the mesh through the Γ-point.

EXECUTION STATE
📚 'Monkhorst-Pack' = The original 1976 prescription. Even N misses Γ entirely (good for metals — avoids the integrable singularity at the band edge). Odd N still hits Γ. First letter 'M' or 'm' is enough.
📚 'Gamma' = Γ-centred mesh. Always includes k = (0, 0, 0). Recommended for hexagonal lattices (where MP would break the C3 symmetry of the BZ) and for any system where you need a Γ eigenvalue (band-structure interpolation, optical transitions).
→ which one for CdSe? = Wurtzite CdSe is hexagonal → use 'Gamma'. Here we wrote 'Monkhorst-Pack' to illustrate the format; in production we would switch to 'Gamma' to keep the BZ symmetry.
4Mesh dimensions: N₁ N₂ N₃

Three positive integers giving the grid divisions along each reciprocal lattice vector b₁, b₂, b₃. The total number of generated k-points before symmetry is N₁ × N₂ × N₃. The irreducible count printed to IBZKPT is usually 4–48× smaller.

EXECUTION STATE
⬇ N₁ = 8 = Divisions along b₁ (in-plane reciprocal vector). Even → MP misses Γ along this axis.
⬇ N₂ = 8 = Divisions along b₂. Same magnitude as N₁ because |a₁| = |a₂| in this hexagonal cell — k-mesh density should match real-space anisotropy.
⬇ N₃ = 6 = Divisions along b₃ (out-of-plane). |a₃| = c is larger than |a₁| = a, so |b₃| = 2π/c is smaller. Fewer divisions are needed to achieve the same Δk spacing — N · |b| ≈ const.
→ total before symmetry = 8 × 8 × 6 = 384 k-points generated in the full BZ.
→ after C₆ᵥ symmetry = Wurtzite point group (C₆ᵥ) collapses 384 → roughly 30–40 irreducible k-points. VASP's IBZKPT will list the exact set with weights.
5Optional shift: s₁ s₂ s₃ (in units of 1/(2N))

A rigid translation of the entire mesh. Specified in fractions of the basic step 1/(2N). 0 0 0 means 'no extra shift on top of the centring chosen above'. 1 1 1 with 'Gamma' reproduces the unshifted MP scheme.

EXECUTION STATE
⬇ shift = 0 0 0 = Use whatever centring 'Monkhorst-Pack' or 'Gamma' implies, with no further translation. This is the standard, safe choice.
📚 1/(2N) units = The shift is given in units of half the grid spacing. So shift = (1, 1, 1) translates the mesh by exactly half a step along each axis — turning Γ-centred into MP-centred or vice versa.
→ typical use = Almost always 0 0 0. Non-zero shifts are reserved for specialised needs: matching a previous calculation, breaking accidental degeneracies in metals, or sampling band crossings.
⬆ result: VASP builds IBZKPT = After parsing all five lines, VASP generates 384 k-points, applies the C₆ᵥ symmetry of the wurtzite cell, and writes the reduced list of ~30 irreducible (k, weight) pairs to IBZKPT for the SCF cycle.
1K-Points for Mn-doped CdSe primitive cell
20
3Monkhorst-Pack
48 8 6
50 0 0

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 8×8×68 \times 8 \times 6 mesh, the top of IBZKPT looks roughly like this (numbers schematic):

📝text
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            384

The four columns are (k1,k2,k3)(k_1, k_2, k_3) in fractional coordinates of the reciprocal basis (not Cartesian!) and the integer multiplicitywkw_{\mathbf{k}}. The sum of the multiplicities equals N1×N2×N3=384N_1 \times N_2 \times N_3 = 384 — 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 Ni=max(1,bi/KSPACING)N_i = \max(1, \lceil |\mathbf{b}_i| / \text{KSPACING} \rceil) automatically. Setting KSPACING = 0.2 typically gives meshes around 30A˚\ell \approx 30\,\text{Å}.
  • For high-throughput screening, the AFLOW RkR_k convention sets Rk=maxiNiaiR_k = \max_i N_i\,|\mathbf{a}_i| at a single number across a database of structures. This is the same \ell idea, just standardised.

Common Pitfalls

PitfallSymptomFix
MP on a hexagonal cellBands 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 edgeFirst-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 cellsSupercell 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 meshIBZKPT 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 metalGarbage 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 lineVASP 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 ur=(2rN1)/(2N)u_r = (2r - N - 1)/(2N) is the unique uniform mesh whose centroid sits at Γ for any NN. The Γ-centred variant ur=(r1)/Nu_r = (r-1)/N shifts the same mesh by 1/(2N)1/(2N) so that u1=0u_1 = 0.
  • Even NN with MP misses Γ — exactly what you want for metals. Hexagonal cells must use Γ-centring to preserve C3 symmetry.
  • Point-group symmetry folds the N1×N2×N3N_1 \times N_2 \times N_3 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 30A˚\ell \approx 30\,\text{Å} for insulators, 60A˚60\,\text{Å} for metals, N3=1N_3 = 1 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 N1N2N3N_1 N_2 N_3.
Section 3.9 Core Insight
"A Monkhorst–Pack grid is the unique uniform Brillouin-zone sampling whose centroid is exactly at Γ. Pick the parity that suits your physics, the centring that suits your point group, and density by N·|a| ≈ ℓ. The rest is just lookup."
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.
Loading comments...