Category:Crystal momentum: Difference between revisions

From VASP Wiki
(Link both SCF calculation mentions to Setting up an electronic minimization)
(Restructure into intro / theoretical background / k-point mesh setup; indent equations with ::; add cite|marietherese:2024 and cite|symmetry:martin:2022; add References section)
 
Line 1: Line 1:
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.
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.


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


<math display="block">[T_{\mathbf R},H]=0 </math>
Formally, translational invariance can be written as a translation operator that commutes with the Hamiltonian:


For the [[Projector-augmented-wave formalism|KS orbitals]] this implies that each translation can only add a phase factor:
::<math>[T_{\mathbf R},H]=0</math>


<math display="block">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>
For the [[Projector-augmented-wave formalism|KS orbitals]] this implies that each translation can only add a phase factor:


where <math>n</math> is the index that goes over all [[Projector-augmented-wave formalism|KS orbitals]].
::<math>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>
Performing two consecutive translations should yield the sum of the individual translations:


<math display="block">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>  
where <math>n</math> is the band index. Performing two consecutive translations should yield the sum of the individual translations:


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.
::<math>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>


This means, by virtue of the ''Bloch theorem'', we can separate each KS orbital into
For a system with translational invariance, we obtain a periodic potential and, hence, it is most convenient to use periodic boundary conditions.


<math display="block"> \psi_{n\mathbf{k}}(\mathbf{r})=u_{n\mathbf{k}}(\mathbf{r})\text{e}^{\text{i}\mathbf{k}\cdot\mathbf{r}} </math>
By virtue of the ''Bloch theorem'', we can separate each KS orbital into
 
::<math>\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>u</math> and a phase factor <math>\phi = \mathbf{k}\cdot\mathbf{r}</math>. The phase <math>\phi</math> is called Bloch factor and <math>\mathbf{k}</math> is the '''crystal momentum''' which lives in reciprocal space. Note that <math>u_{n\mathbf{k}}</math> depends on <math>\mathbf{k}</math>.
a cell-periodic part <math>u</math> and a phase factor <math>\phi = \mathbf{k}\cdot\mathbf{r}</math>. The phase <math>\phi</math> is called Bloch factor and <math>\mathbf{k}</math> is the '''crystal momentum''' which lives in reciprocal space. Note that <math>u_{n\mathbf{k}}</math> depends on <math>\mathbf{k}</math>.
Line 24: Line 25:
The reciprocal space is spanned by reciprocal lattice vectors <math>\mathbf{b}_i</math>:
The reciprocal space is spanned by reciprocal lattice vectors <math>\mathbf{b}_i</math>:


<math display="block">\mathbf{b}_1 = \frac{2\pi}{\Omega} \mathbf{a}_2 \times \mathbf{a}_3</math>
::<math>\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>
<math display="block">\mathbf{b}_2 = \frac{2\pi}{\Omega} \mathbf{a}_3 \times \mathbf{a}_1</math>
<math display="block">\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>a_i</math> ({{FILE|POSCAR}}). <math>\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:
These are defined in terms of the real-space lattice vectors <math>\mathbf{a}_i</math> ({{FILE|POSCAR}}), where <math>\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 display="block">\mathbf{a}_i\cdot \mathbf{b}_j = 2\pi \delta_{ij}</math>
::<math>\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 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}}.
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). 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:


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>\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>


<math display="block"> \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>\mathbf{k}</math> points to converge this integral. In practice, the integral is approximated by a sum on a finite regular <math>\mathbf{k}</math> mesh. Beyond a certain <math>\mathbf{k}</math>-point density the result converges because crystal momentum vectors that are close together are almost identical:


In principle one has to include an infinite number of <math>\mathbf{k}</math> points in the first BZ to describe interactions with periodic replica of the unit cell. In practice, the <math>\mathbf{k}</math> points are defined on a regular <math>\mathbf{k}</math> mesh and beyond a certain <math>\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>\mathbf{k}</math> points). This is because crystal momentum vectors that are close together are almost identical. Hence, we obtain
::<math>\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>


<math display="block"> \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>
The first BZ itself has a certain symmetry, so some <math>\mathbf{k}</math> points on the regular mesh are equivalent. VASP automatically reduces the mesh to the irreducible <math>\mathbf{k}</math> points and applies appropriate weights <math>w_\mathbf{k}</math>:


With a closer look at the first Brillouin zone, we notice that it also has a certain symmetry. As a consequence, some <math>\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>\mathbf{k}</math> points. VASP automatically finds these irreducible <math>\mathbf{k}</math> points and applies an appropriate weight <math> w_\mathbf{k} </math> in the sum over k points.
::<math>\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>


<math display="block"> \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>\mathbf{k}</math> points are used, look at the {{FILE|OUTCAR}} and {{FILE|IBZKPT}} files.


To see which [[symmetry]] VASP identified and which irreducible <math>\mathbf{k}</math> points are used during the calculation, look at the {{FILE|OUTCAR}} and {{FILE|IBZKPT}} files.
For an introduction to crystal momentum and PAW formalism, see {{cite|marietherese:2024}}. For a detailed discussion of <math>\mathbf{k}</math>-point sampling, see {{cite|symmetry:martin:2022}}.


== k-point mesh ==
== k-point mesh setup ==


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}}.
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}}.


== References ==
<references/>


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

Latest revision as of 16:00, 20 March 2026

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