Requests for technical support from the VASP group should be posted in the VASP-forum.

Category:Wannier functions

From Vaspwiki
Jump to navigation Jump to search

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:


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