Outline: Obtain and plot MLWF for the 4 bands around the fermi level of lead
Input Files

The four lowest valence bands in lead are separated in energy from the higher conduction states. The MLWF of these states have partial occupancy. MLWF describing only the occupied states would be poorly localised.

We need to run a series of calculations to obtain the MLWF. The ex2 directory contains a suitable submission script, note that it does the following

  1. Run an scf calculation to obtain the ground-state charge density
  2. Run an nscf calculation to obtain the bloch states on a uniform grid of kpoints
  3. Run Wannier90 in pre-processing mode to determine which overlaps are needed
  4. Run pw2wannier90 to compute the overlaps (M) and projections (A)
  5. Run wannier90 to obtain the wannier functions

Fermi Surface Use Wannier interpolation to obtain the Fermi surface of lead. Rather than re-running the whole calculation we can use the unitary transformations obtained in the first calculation and restart from the plotting routine. Add the following keywords to the file:

restart = plot
fermi_energy = x.xxxx
fermi_surface_plot = true

and re-run wannier90. You should take the value of the fermi energy from the scf output. wannier90 calculates the band energies, through wannier interpolation, on a dense mesh of k-points in the Brillouin zone. The density of this grid is controlled by the keyword fermi_surface_num_points. The default value is 50 (i.e., 503 points). The Fermi surface file lead.bxsf can be viewed using XCrySDen, e.g.,

xcrysden --bxsf lead.bxsf

Further Exercises

Spinor Wannier Function
The spin orbit coupling strength is large in lead. We can compute spinor wannier orbitals. Make a copy of the lead input files in a new directory. Make the following changes. Add these lines to the system namelist in the scf and nscf input

starting_magnetization = 0.0 

In the wannier90 input file add or change the following

spinors : T
num_wann : 8

Compute the MLWF.
Now compare the bandstructures for the calculations with, and without spin orbit. To compute the bandstructure add the following lines to the win file:

begin kpoint_path
L 0.50000  0.50000 0.5000 G 0.00000  0.00000 0.0000
G 0.00000  0.00000 0.0000 X 0.50000  0.00000 0.5000
X 0.50000 -0.50000 0.0000 K 0.37500 -0.37500 0.0000 
K 0.37500 -0.37500 0.0000 G 0.00000  0.00000 0.0000
end kpoint_path 

bands_plot : T

This produces a script lead_bands.gnu which you can open with gnuplot (or you can set bands_plot_format = xmgrace to get it in xmgrace style) . The script is easily modified to show both band structures.

Lead has a small unit cell, so the 2x2x2 kpoint sampling is far from convergence. Repeat the calculation with larger meshes (eg 4x4x4) and see how the spread and band-structures change. You will find a script called in utilities. This will generate the appropriate kpoint grids

../utilities/ 4 4 4         (in pwscf format)
../utilities/ 4 4 4 w       (in wannier90 format)

You can compare against the full PW bands. To help you wannier90 writes out the kpoints in the file lead_bands.kpt. There is a small fortran program to help with this. To save you time you can download the bands