Category:Wannier functions: Difference between revisions

From VASP Wiki
No edit summary
 
(4 intermediate revisions by 2 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 12: Line 12:
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.
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)==
== 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 23:
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 31:
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 37:
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 43:
== Selected columns of the density matrix (SCDM) ==
== 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.  
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 ==

Latest revision as of 21:20, 8 February 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 build from . The latter can be build from projections onto some localized-orbital basis.

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