Category:Wannier functions: Difference between revisions
m (Huebsch moved page Wannier Functions to Category:Wannier Functions) |
m (Typo) |
||
(7 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
Wannier functions <math>|w_{m\mathbf{R}}\rangle</math> are constructed by a linear combination of Bloch states <math>|\psi_{n\mathbf{k}}\rangle</math>, i.e., the computed Kohn-Sham (KS) orbitals, as follows: | Wannier functions <math>|w_{m\mathbf{R}}\rangle</math> are constructed by a linear combination of Bloch states <math>|\psi_{n\mathbf{k}}\rangle</math>, i.e., the computed Kohn-Sham (KS) orbitals, as follows: | ||
<math> | ::<math> | ||
|w_{m\mathbf{R}}\rangle = | |w_{m\mathbf{R}}\rangle = | ||
\sum_{n\mathbf{k}} | \sum_{n\mathbf{k}} | ||
Line 10: | Line 10: | ||
Here, <math>U_{mn\mathbf{k}}</math> is a unitary matrix which can be generated using different approaches discussed below, <math>m</math> is an index enumerating Wannier functions with position <math>\mathbf{R}</math>, <math>n</math> is the band index, and <math>\mathbf{k}</math> is the Bloch vector. | Here, <math>U_{mn\mathbf{k}}</math> is a unitary matrix which can be generated using different approaches discussed below, <math>m</math> is an index enumerating Wannier functions with position <math>\mathbf{R}</math>, <math>n</math> is the band index, and <math>\mathbf{k}</math> is the Bloch vector. | ||
Generally, one starts with an initial guess for <math>U_{mn\mathbf{k}}</math> that is | Generally, one starts with an initial guess for <math>U_{mn\mathbf{k}}</math> that is built from <math>A_{mn\mathbf{k}}</math>. The latter can be built from projections onto some localized-orbital basis. | ||
== One-shot | Comprehensive instructions on how to construct Wannier orbitals in VASP can be found [[Constructing_Wannier_orbitals|here]]. | ||
== One-shot singular-value decomposition (SVD)== | |||
In one-shot SVD, <math>A_{mn\mathbf{k}}</math> is computed by projecting the KS orbitals onto localized orbitals basis <math>\phi_{m\mathbf{k}}</math> that is specified by the {{TAG|LOCPROJ}} tag: | In one-shot SVD, <math>A_{mn\mathbf{k}}</math> is computed by projecting the KS orbitals onto localized orbitals basis <math>\phi_{m\mathbf{k}}</math> that is specified by the {{TAG|LOCPROJ}} tag: | ||
<math> | ::<math> | ||
A_{mn\mathbf{k}} = | A_{mn\mathbf{k}} = | ||
\langle \psi_{n\mathbf{k}} | S |\phi_{m\mathbf{k}}\rangle, | \langle \psi_{n\mathbf{k}} | S |\phi_{m\mathbf{k}}\rangle, | ||
Line 23: | Line 25: | ||
where | where | ||
<math> | ::<math> | ||
\phi_{i\mathbf{k}}(\mathbf{r}) = e^{\mathrm{i}\mathbf{k}\cdot\mathbf{r}} Y_{lm}(\hat{r})R_n(r). | \phi_{i\mathbf{k}}(\mathbf{r}) = e^{\mathrm{i}\mathbf{k}\cdot\mathbf{r}} Y_{lm}(\hat{r})R_n(r). | ||
</math> | </math> | ||
Line 31: | Line 33: | ||
Then, VASP performs one-shot SVD for each k point | Then, VASP performs one-shot SVD for each k point | ||
<math> | ::<math> | ||
A_{mn\mathbf{k}} = [D \Sigma V^*]_{mn\mathbf{k}} | A_{mn\mathbf{k}} = [D \Sigma V^*]_{mn\mathbf{k}} | ||
</math> | </math> | ||
Line 37: | Line 39: | ||
to obtain the unitary matrix | to obtain the unitary matrix | ||
<math> | ::<math> | ||
U_{mn\mathbf{k}} = [DV^*]_{mn\mathbf{k}}. | U_{mn\mathbf{k}} = [DV^*]_{mn\mathbf{k}}. | ||
</math> | </math> | ||
Line 43: | Line 45: | ||
== Selected columns of the density matrix (SCDM) == | == Selected columns of the density matrix (SCDM) == | ||
The SCDM method {{cite| | The SCDM method {{cite|damle:mms:2018}} is switched on using {{TAG|LSCDM}}. It has the advantage that the specification of a local basis in terms of atomic quantum numbers is omitted. | ||
== Maximally localized Wannier functions using Wannier90 == | == Maximally localized Wannier functions using Wannier90 == | ||
The interface of VASP with the Wannier90 code is mainly controlled by {{TAG|LWANNIER90}} and {{TAG|LWANNIER90_RUN}}. First, the initial guess for <math>A_{mn\mathbf{k}}</math> can be created by providing the ''projections block'' in the '''wannier90.win''' file (also see {{TAG|WANNIER90_WIN}}) and setting {{TAG|LWANNIER90}}=True. | The interface of VASP with the Wannier90 code{{cite|mostofi:cpc:2014}}{{cite|pizzi:jpcm:2020}} is mainly controlled by {{TAG|LWANNIER90}} and {{TAG|LWANNIER90_RUN}}. First, the initial guess for <math>A_{mn\mathbf{k}}</math> can be created by providing the ''projections block'' in the '''wannier90.win''' file (also see {{TAG|WANNIER90_WIN}}) and setting {{TAG|LWANNIER90}}=True. | ||
In order to obtain maximally localized Wannier functions, <math>U_{mn\mathbf{k}}</math> is constructed in a second step. For this, <math>A_{mn\mathbf{k}}</math> could be created using any projection method in the first step, i.e., single-shot SVD method ({{TAG|LOCPROJ}}), SCDM method ({{TAG|LSCDM}}), or Wannier90 ({{TAG|LWANNIER90}}). Then, Wannier90 can be executed directly or through VASP with the {{TAG|LWANNIER90_RUN}} tag. | In order to obtain maximally localized Wannier functions, <math>U_{mn\mathbf{k}}</math> is constructed in a second step. For this, <math>A_{mn\mathbf{k}}</math> could be created using any projection method in the first step, i.e., single-shot SVD method ({{TAG|LOCPROJ}}), SCDM method ({{TAG|LSCDM}}), or Wannier90 ({{TAG|LWANNIER90}}). Then, Wannier90 can be executed directly or through VASP with the {{TAG|LWANNIER90_RUN}} tag. |
Latest revision as of 08:48, 20 August 2024
Wannier functions are constructed by a linear combination of Bloch states , i.e., the computed Kohn-Sham (KS) orbitals, as follows:
Here, is a unitary matrix which can be generated using different approaches discussed below, is an index enumerating Wannier functions with position , is the band index, and is the Bloch vector. Generally, one starts with an initial guess for that is built from . The latter can be built from projections onto some localized-orbital basis.
Comprehensive instructions on how to construct Wannier orbitals in VASP can be found here.
One-shot singular-value decomposition (SVD)
In one-shot SVD, is computed by projecting the KS orbitals onto localized orbitals basis that is specified by the LOCPROJ tag:
where
Note that encodes the quantum numbers , , and . Thus, in , is not the magnetic quantum number.
Then, VASP performs one-shot SVD for each k point
to obtain the unitary matrix
Selected columns of the density matrix (SCDM)
The SCDM method [1] is switched on using LSCDM. It has the advantage that the specification of a local basis in terms of atomic quantum numbers is omitted.
Maximally localized Wannier functions using Wannier90
The interface of VASP with the Wannier90 code[2][3] is mainly controlled by LWANNIER90 and LWANNIER90_RUN. First, the initial guess for can be created by providing the projections block in the wannier90.win file (also see WANNIER90_WIN) and setting LWANNIER90=True.
In order to obtain maximally localized Wannier functions, is constructed in a second step. For this, could be created using any projection method in the first step, i.e., single-shot SVD method (LOCPROJ), SCDM method (LSCDM), or Wannier90 (LWANNIER90). Then, Wannier90 can be executed directly or through VASP with the LWANNIER90_RUN tag.
References
- ↑ A. Damle and L. Lin, Multiscale Model. Simul., 16(3), 1392–1410 (2018).
- ↑ A. A. Mostofi, J. R. Yates, G. Pizzi, Y.-S. Lee, I. Souza, D. Vanderbilt, and N. Marzari, An Updated Version of Wannier90: A Tool for Obtaining Maximally-Localised Wannier Functions, Computer Physics Communications 185, 2309 (2014).
- ↑ G. Pizzi et al., Wannier90 as a community code: new features and applications, J. Phys.: Condens. Matter 32, 165902 (2020).
Pages in category "Wannier functions"
The following 19 pages are in this category, out of 19 total.