Category:Wannier functions

From VASP Wiki

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


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