Category:Crystal momentum: Difference between revisions

From VASP Wiki
(Fix "1. BZ" → "first BZ" in prose; "Mind that" → "Note that"; "w.r.t." → "with respect to"; remove duplicate n-index sentence; fix irred math label; add k-point mesh subsection with KSPACING_OPT/KPOINTS_OPT links)
(Link both SCF calculation mentions to Setting up an electronic minimization)
Line 32: Line 32:
<math display="block">\mathbf{a}_i\cdot \mathbf{b}_j = 2\pi \delta_{ij}</math>
<math display="block">\mathbf{a}_i\cdot \mathbf{b}_j = 2\pi \delta_{ij}</math>


Based on the reciprocal lattice vectors <math>\mathbf{b}_i</math>, we can identify a ''primitive cell in reciprocal space''; this is the so-called first Brillouin zone (first BZ). For an [[Electronic minimization|SCF calculation]], in practice the <math>\mathbf{k}</math> points are defined on a regular mesh with evenly spaced <math>\mathbf{k}</math> points in the first BZ. These are specified in the {{FILE|KPOINTS}} file or by using {{TAG|KSPACING}}.
Based on the reciprocal lattice vectors <math>\mathbf{b}_i</math>, we can identify a ''primitive cell in reciprocal space''; this is the so-called first Brillouin zone (first BZ). For a [[Setting up an electronic minimization|self-consistent field (SCF) calculation]], in practice the <math>\mathbf{k}</math> points are defined on a regular mesh with evenly spaced <math>\mathbf{k}</math> points in the first BZ. These are specified in the {{FILE|KPOINTS}} file or by using {{TAG|KSPACING}}.


To get a deeper understanding, consider an integration over all of real space (as is frequently required to compute properties): The connection between real space and reciprocal space is a Fourier transformation. That is, the integral over all of space can be expressed in terms of an integral over the first BZ:
To get a deeper understanding, consider an integration over all of real space (as is frequently required to compute properties): The connection between real space and reciprocal space is a Fourier transformation. That is, the integral over all of space can be expressed in terms of an integral over the first BZ:
Line 50: Line 50:
== k-point mesh ==
== k-point mesh ==


The <math>\mathbf{k}</math>-point mesh for the self-consistent field (SCF) calculation can be specified either via the {{FILE|KPOINTS}} file or via the {{TAG|KSPACING}} and {{TAG|KGAMMA}} tags in the {{FILE|INCAR}} file. To compute band structures or densities of states on a finer mesh non-self-consistently, use the {{TAG|KPOINTS_OPT}} driver controlled by {{TAG|KSPACING_OPT}} or a {{FILE|KPOINTS_OPT}} file. Reading of the {{FILE|KPOINTS_OPT}} file can be disabled with {{TAG|LKPOINTS_OPT}}.
The <math>\mathbf{k}</math>-point mesh for the [[Setting up an electronic minimization|SCF calculation]] can be specified either via the {{FILE|KPOINTS}} file or via the {{TAG|KSPACING}} and {{TAG|KGAMMA}} tags in the {{FILE|INCAR}} file. To compute band structures or densities of states on a finer mesh non-self-consistently, use the {{TAG|KPOINTS_OPT}} driver controlled by {{TAG|KSPACING_OPT}} or a {{FILE|KPOINTS_OPT}} file. Reading of the {{FILE|KPOINTS_OPT}} file can be disabled with {{TAG|LKPOINTS_OPT}}.




[[Category:Symmetry]]
[[Category:Symmetry]]

Revision as of 15:58, 20 March 2026

A crystal is characterized by the fact that it obeys translational symmetry. In many calculations, we only consider the primitive crystal unit cell to save computational time. However in a realistic bulk material, interactions go beyond the primitive unit cell. The concept of crystal momentum is crucial in order to take into account interactions that go beyond the primitive unit cell during the simulation and it is a consequence of translational invariance.

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 index that goes over all KS orbitals. 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. The figure illustrates a periodic potential and the blue box is a possible unit cell.

This means, 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 }[/math] [math]\displaystyle{ \mathbf{b}_2 = \frac{2\pi}{\Omega} \mathbf{a}_3 \times \mathbf{a}_1 }[/math] [math]\displaystyle{ \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{ a_i }[/math] (POSCAR). [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 actually 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). For a self-consistent field (SCF) calculation, in practice the [math]\displaystyle{ \mathbf{k} }[/math] points are defined on a regular mesh with evenly spaced [math]\displaystyle{ \mathbf{k} }[/math] points in the first BZ. These are specified in the KPOINTS file or by using KSPACING.

To get a deeper understanding, consider an integration over all of real space (as is frequently required to compute properties): The connection between real space and reciprocal space is a Fourier transformation. That is, the integral over all of space can be expressed in terms of an integral over the first BZ:

[math]\displaystyle{ \int_{-\infty}^{\infty} \text{d}^3 r\, f(\mathbf{r}) =\frac{1}{\Omega_{BZ}}\int_{1.\,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 in the first BZ to describe interactions with periodic replica of the unit cell. In practice, the [math]\displaystyle{ \mathbf{k} }[/math] points are defined on a regular [math]\displaystyle{ \mathbf{k} }[/math] mesh and beyond a certain [math]\displaystyle{ \mathbf{k} }[/math]-point density the result (i.e., some quantity of interest) will not change (i.e., it converges with respect to the number of [math]\displaystyle{ \mathbf{k} }[/math] points). This is because crystal momentum vectors that are close together are almost identical. Hence, we obtain

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

With a closer look at the first Brillouin zone, we notice that it also has a certain symmetry. As a consequence, some [math]\displaystyle{ \mathbf{k} }[/math] points on the regular mesh are equivalent. So, we only have to compute the KS orbitals on an irreducible set of [math]\displaystyle{ \mathbf{k} }[/math] points. VASP automatically finds these irreducible [math]\displaystyle{ \mathbf{k} }[/math] points and applies an appropriate weight [math]\displaystyle{ w_\mathbf{k} }[/math] in the sum over k points.

[math]\displaystyle{ \int_{-\infty}^{\infty} \text{d}^3 r\, f(\mathbf{r}) =\frac{1}{\Omega_{BZ}}\int_{1.\,BZ} \text{d}^3 k\, \tilde{f}(\mathbf{k}) = \sum_{\mathbf k \in \text{1st BZ}} \tilde{f}(\mathbf{k}) \Delta^3k= \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 during the calculation, look at the OUTCAR and IBZKPT files.

k-point mesh

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.