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

# Category:Wannier functions

Wannier functions ${\displaystyle |w_{m\mathbf {R} }\rangle }$ are constructed by a linear combination of Bloch states ${\displaystyle |\psi _{n\mathbf {k} }\rangle }$, i.e., the computed Kohn-Sham (KS) orbitals, as follows:

${\displaystyle |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 .}$

Here, ${\displaystyle U_{mn\mathbf {k} }}$ is a unitary matrix which can be generated using different approaches discussed below, ${\displaystyle m}$ is an index enumerating Wannier functions with position ${\displaystyle \mathbf {R} }$, ${\displaystyle n}$ is the band index, and ${\displaystyle \mathbf {k} }$ is the Bloch vector. Generally, one starts with an initial guess for ${\displaystyle U_{mn\mathbf {k} }}$ that is build from ${\displaystyle A_{mn\mathbf {k} }}$. The latter can be build from projections onto some localized-orbital basis.

## One-shot single value decomposition (SVD)

In one-shot SVD, ${\displaystyle A_{mn\mathbf {k} }}$ is computed by projecting the KS orbitals onto localized orbitals basis ${\displaystyle \phi _{m\mathbf {k} }}$ that is specified by the LOCPROJ tag:

${\displaystyle A_{mn\mathbf {k} }=\langle \psi _{n\mathbf {k} }|S|\phi _{m\mathbf {k} }\rangle ,}$

where

${\displaystyle \phi _{i\mathbf {k} }(\mathbf {r} )=e^{\mathrm {i} \mathbf {k} \cdot \mathbf {r} }Y_{lm}({\hat {r}})R_{n}(r).}$

Note that ${\displaystyle i}$ encodes the quantum numbers ${\displaystyle n}$, ${\displaystyle l}$, and ${\displaystyle m}$. Thus, in ${\displaystyle A_{mn\mathbf {k} }}$, ${\displaystyle m}$ is not the magnetic quantum number.

Then, VASP performs one-shot SVD for each k point

${\displaystyle A_{mn\mathbf {k} }=[D\Sigma V^{*}]_{mn\mathbf {k} }}$

to obtain the unitary matrix

${\displaystyle U_{mn\mathbf {k} }=[DV^{*}]_{mn\mathbf {k} }.}$

## 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 ${\displaystyle A_{mn\mathbf {k} }}$ 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, ${\displaystyle U_{mn\mathbf {k} }}$ is constructed in a second step. For this, ${\displaystyle A_{mn\mathbf {k} }}$ 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.

## Pages in category "Wannier functions"

The following 17 pages are in this category, out of 17 total.