Category:Crystal momentum

From VASP Wiki
Revision as of 16:00, 20 March 2026 by Huebsch (talk | contribs) (Restructure into intro / theoretical background / k-point mesh setup; indent equations with ::; add cite|marietherese:2024 and cite|symmetry:martin:2022; add References section)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

A crystal is characterized by the fact that it obeys translational symmetry. The concept of crystal momentum is crucial in order to take into account interactions that go beyond the primitive unit cell during a simulation. It arises as a direct consequence of translational invariance and allows one to work with a finite unit cell while capturing the physics of the infinite periodic solid.

Theoretical background

Formally, translational invariance can be written as a translation operator that commutes with the Hamiltonian:

[math]\displaystyle{ [T_{\mathbf R},H]=0 }[/math]

For the KS orbitals this implies that each translation can only add a phase factor:

[math]\displaystyle{ T_\mathbf{R} \psi_{n\mathbf{k}}(\mathbf{r}) = \text{e}^{\text{i}\mathbf{k}\cdot\mathbf{R}}\psi_{n\mathbf{k}}(\mathbf{r}), }[/math]

where [math]\displaystyle{ n }[/math] is the band index. Performing two consecutive translations should yield the sum of the individual translations:

[math]\displaystyle{ T_{\mathbf{R}_1}T_{\mathbf{R}_2} \psi_{n\mathbf k}(\mathbf{r})=T_{\mathbf{R}_1+\mathbf{R}_2}\psi_{n\mathbf k}(\mathbf{r}). }[/math]

For a system with translational invariance, we obtain a periodic potential and, hence, it is most convenient to use periodic boundary conditions.

By virtue of the Bloch theorem, we can separate each KS orbital into

[math]\displaystyle{ \psi_{n\mathbf{k}}(\mathbf{r})=u_{n\mathbf{k}}(\mathbf{r})\text{e}^{\text{i}\mathbf{k}\cdot\mathbf{r}} }[/math]

a cell-periodic part [math]\displaystyle{ u }[/math] and a phase factor [math]\displaystyle{ \phi = \mathbf{k}\cdot\mathbf{r} }[/math]. The phase [math]\displaystyle{ \phi }[/math] is called Bloch factor and [math]\displaystyle{ \mathbf{k} }[/math] is the crystal momentum which lives in reciprocal space. Note that [math]\displaystyle{ u_{n\mathbf{k}} }[/math] depends on [math]\displaystyle{ \mathbf{k} }[/math].

The reciprocal space is spanned by reciprocal lattice vectors [math]\displaystyle{ \mathbf{b}_i }[/math]:

[math]\displaystyle{ \mathbf{b}_1 = \frac{2\pi}{\Omega} \mathbf{a}_2 \times \mathbf{a}_3, \quad \mathbf{b}_2 = \frac{2\pi}{\Omega} \mathbf{a}_3 \times \mathbf{a}_1, \quad \mathbf{b}_3 = \frac{2\pi}{\Omega} \mathbf{a}_1 \times \mathbf{a}_2 }[/math]

These are defined in terms of the real-space lattice vectors [math]\displaystyle{ \mathbf{a}_i }[/math] (POSCAR), where [math]\displaystyle{ \Omega = \mathbf{a}_1 \cdot \mathbf{a}_2 \times \mathbf{a}_3 }[/math] is the volume of the unit cell. Note that a short real-space direction yields a long direction in reciprocal space:

[math]\displaystyle{ \mathbf{a}_i\cdot \mathbf{b}_j = 2\pi \delta_{ij} }[/math]

Based on the reciprocal lattice vectors [math]\displaystyle{ \mathbf{b}_i }[/math], we can identify a primitive cell in reciprocal space; this is the so-called first Brillouin zone (first BZ). The connection between real space and reciprocal space is a Fourier transformation, so the integral over all of real space (as is frequently required to compute properties) can be expressed as an integral over the first BZ:

[math]\displaystyle{ \int_{-\infty}^{\infty} \text{d}^3 r\, f(\mathbf{r}) =\frac{1}{\Omega_{BZ}}\int_{\text{1st BZ}} \text{d}^3 k\, \tilde{f}(\mathbf{k}) }[/math]

In principle one has to include an infinite number of [math]\displaystyle{ \mathbf{k} }[/math] points to converge this integral. In practice, the integral is approximated by a sum on a finite regular [math]\displaystyle{ \mathbf{k} }[/math] mesh. Beyond a certain [math]\displaystyle{ \mathbf{k} }[/math]-point density the result converges because crystal momentum vectors that are close together are almost identical:

[math]\displaystyle{ \int_{-\infty}^{\infty} \text{d}^3 r\, f(\mathbf{r}) \approx \sum_{\mathbf k \in \text{1st BZ}} \tilde{f}(\mathbf{k})\, \Delta^3k }[/math]

The first BZ itself has a certain symmetry, so some [math]\displaystyle{ \mathbf{k} }[/math] points on the regular mesh are equivalent. VASP automatically reduces the mesh to the irreducible [math]\displaystyle{ \mathbf{k} }[/math] points and applies appropriate weights [math]\displaystyle{ w_\mathbf{k} }[/math]:

[math]\displaystyle{ \int_{-\infty}^{\infty} \text{d}^3 r\, f(\mathbf{r}) \approx \sum_{\mathbf{k} \in \text{irred. BZ}} w_\mathbf{k}\, \tilde{f}(\mathbf{k}) }[/math]

To see which symmetry VASP identified and which irreducible [math]\displaystyle{ \mathbf{k} }[/math] points are used, look at the OUTCAR and IBZKPT files.

For an introduction to crystal momentum and PAW formalism, see . For a detailed discussion of [math]\displaystyle{ \mathbf{k} }[/math]-point sampling, see .

k-point mesh setup

The [math]\displaystyle{ \mathbf{k} }[/math]-point mesh for the SCF calculation can be specified either via the KPOINTS file or via the KSPACING and KGAMMA tags in the INCAR file. To compute band structures or densities of states on a finer mesh non-self-consistently, use the KPOINTS_OPT driver controlled by KSPACING_OPT or a KPOINTS_OPT file. Reading of the KPOINTS_OPT file can be disabled with LKPOINTS_OPT.

References