wannier90: A tool for obtaining maximally-localised Wannier functions
We present wannier90, a program for calculating maximally-localised Wannier functions (MLWF) from a set of Bloch energy bands that may or may not be attached to or mixed with other bands. The formalism works by minimising the total spread of the MLWF in real space. This is done in the space of unitary matrices that describe rotations of the Bloch bands at each k-point. As a result, wannier90 is independent of the basis set used in the underlying calculation to obtain the Bloch states. Therefore, it may be interfaced straightforwardly to any electronic structure code. The locality of MLWF can be exploited to compute band-structure, density of states and Fermi surfaces at modest computational cost. Furthermore, wannier90 is able to output MLWF for visualisation and other post-processing purposes. Wannier functions are already used in a wide variety of applications. These include analysis of chemical bonding in real space; calculation of dielectric properties via the modem theory of polarisation; and as an accurate and minimal basis set in the construction of model Hamiltonians for large-scale systems, in linear-scaling quantum Monte Carlo calculations, and for efficient computation of material properties, such as the anomalous Hall coefficient. wannier90 is freely available under the GNU General Public License from http://www.wannier.org/. Program summary Program title: wannier90 Catalogue identifier: AEAK_v1_0 Program summary URL: http://cpc.cs.qub.ac.uk/summaries/AEAK_v1_0.html Program obtainable from: CPC Program Library, Queen's University, Belfast, N. Ireland Licensing provisions: Standard CPC licence, http://cpc.cs.qub.ac.uk/licence/licence.html No. of lines in distributed program, including test data, etc.: 556 495 No. of bytes in distributed program, including test data, etc.: 5 709 419 Distribution format: tar.gz Programming language: Fortran 90, perl Computer: any architecture with a Fortran 90 compiler Operating system: Linux, Windows, Solaris, AIX, Tru64 Unix, OSX RAM: 10 MB Word size: 32 or 64 Classification: 7.3 External routines: BLAS (http://www/netlib.oi-g/blas). LAPACK (http://www.netlib.org/lapack). Both available under open-source licenses. Nature of problem: Obtaining maximally-localised Wannier functions from a set of Bloch energy bands that may or may not be entangled. Solution method: In the case of entangled bands, the optimally-connected subspace of interest is determined by minimising a functional which measures the subspace dispersion across the Brillouin zone. The maximally-localised Wannier functions within this subspace are obtained by subsequent minimisation of a functional that represents the total spread of the Wannier functions in real space. For the case of isolated energy bands only the second step of the procedure is required. Unusual features: Simple and user-friendly input system. Wannier functions and interpolated band structure output in a variety of file formats for visualisation. Running time: Test cases take 1 minute. References:  N. Marzari, D. Vanderbilt, Maximally localized generalized Wannier functions for composite energy bands, Phys. Rev. B 56 (1997) 12847.  I. Souza, N. Marzari, D. Vanderbilt, Maximally localized Wannier functions for entangled energy bands, Phys. Rev. B 65 (2001) 035109. (C) 2007 Elsevier B.V. All rights reserved.