Category:Wannier functions: Difference between revisions

From VASP Wiki
(Created blank page)
 
No edit summary
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:


<math>
|w_{m\mathbf{R}}\rangle =
\sum_{n\mathbf{k}}
e^{-i\mathbf{k}\cdot\mathbf{R}}
U_{mn\mathbf{k}}
|\psi_{n\mathbf{k}}\rangle.
</math>
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 build from <math>A_{mn\mathbf{k}}</math>. The latter can be build from projections onto some localized-orbital basis.
== One-shot single 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:
<math>
A_{mn\mathbf{k}} =
\langle \psi_{n\mathbf{k}} | S |\phi_{m\mathbf{k}}\rangle,
</math>
where
<math>
\phi_{i\mathbf{k}}(\mathbf{r}) = e^{\mathrm{i}\mathbf{k}\cdot\mathbf{r}} Y_{lm}(\hat{r})R_n(r).
</math>
Note that <math>i</math> encodes the quantum numbers <math>n</math>, <math>l</math>, and <math>m</math>. Thus, in <math>A_{mn\mathbf{k}}</math>, <math>m</math> is not the magnetic quantum number.
Then, VASP performs one-shot SVD for each k point
<math>
A_{mn\mathbf{k}} = [D \Sigma V^*]_{mn\mathbf{k}}
</math>
to obtain the unitary matrix
<math>
U_{mn\mathbf{k}} = [DV^*]_{mn\mathbf{k}}.
</math>
== Selected columns of the density matrix (SCDM) ==
The SCDM method {{cite|dale: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 ==
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.
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.
== References ==
<references/>
[[Category:VASP|Wannier Functions]]

Revision as of 14:45, 1 April 2022

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 build from . The latter can be build from projections onto some localized-orbital basis.

One-shot single 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 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 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