INSTRUCTIONS EXERCISE 1
Outline: Obtain and plot MLWF for the four valence bands of GaAs. In this first example we have created the input files from pswscf, so you just need to run wannier90
Generation details: From pwscf, using norm-conserving pseudopotentials and a 2x2x2
k-point grid. Starting guess: four bond-centred Guassians.
Directory: ex1
Input Files
- gaas.win The master input file
- gaas.mmn The overlap matrices M(k,b)
- gaas.amn Projection A(k) of the Bloch states onto a set of trial localised orbitals
- UNK00001.1 The Bloch states in the real space unit cell. For plotting only.
1. Run wannier90 to minimise the MLWF spread
wannier90.x gaas
Inspect the output file gaas.wout. The total spread converges to its minimum value after just a few iterations. Note that the geometric centre of each MLWF lies along a Ga-As bond, slightly closer to As than Ga. Note also that the memory requirement for the minimisation of the spread is very low as the MLWF are defined at each k-point by just the 4x4 unitary matrices U(k)
2. Plot the MLWF by adding the following keywords to the input file gaas.win
wannier plot = true
and re-running wannier90. To visualise the MLWF we must represent them explicitly on a real space grid (see Ref. [1]). As a consequence, plotting the MLWF is slower and uses more memory than the minimisation of the spread. The four files that are created (gaas_00002.xsf, etc.) can be viewed using XCrySDen,1 e.g.,
xcrysden --xsf gaas_00002.xsf
For large systems, plotting the MLWF may be time consuming and require a lot of memory. Use the keyword wannier plot list to plot a subset of the MLWF. E.g., to plot the 1st, 2nd and 7th MLWF use
wannier plot list = 1 2 7
The MLWF are plotted in a supercell of the unit cell. The size of this supercell is set through the keyword wannier_plot_supercell. The default value is 2 (corresponding to a supercell with eight times the unit cell volume). We recommend not using values great than 3 as the memory and computational cost scales cubically with supercell size.
Silicon
Outline: Obtain and plot MLWF for the valence bands of silicon
Input Files
- silicon.scf ground state calculation
- silicon.nscf compute the Bloch states on a regular grid
- silicon.pw2wan compute the overlap and projections
- silicon.win wannier90 input
We need to run a series of calculations to obtain the MLWF. The directory contains a suitable submission script, note that it does the following
- Run an scf calculation to obtain the ground-state charge density
- Run an nscf calculation to obtain the bloch states on a uniform grid of kpoints
- Run Wannier90 in pre-processing mode to determine which overlaps are needed
- Run pw2wannier90 to compute the overlaps (M) and projections (A)
- Run wannier90 to obtain the wannier functions
Now re-run wannier90 and plot the Wannier functions