28: Diamond plotting of MLWFs using Gaussian cube format and VESTA¶
-
Outline: Obtain MLWFs for the valence bands of diamond and output them in Gaussian cube format
-
Directory:
tutorials/tutorial28/
The input files for this tutorials are the same as the ones in Tutorial 5 and can be downloaded here -
Input Files
-
diamond.scf
Thepwscf
input file for ground state calculation -
diamond.nscf
Thepwscf
input file to obtain Bloch states on a uniform grid -
diamond.pw2wan
The input file forpw2wannier90
-
diamond.win
Thewannier90
input file
-
-
Run
pwscf
to obtain the ground state of diamond -
Run
pwscf
to obtain the Bloch states on a uniform k-point grid -
Run
wannier90
to generate a list of the required overlaps (written into thediamond.nnkp
file). -
Run
pw2wannier90
to compute the overlap between Bloch states and the projections for the starting guess (written in thediamond.mmn
anddiamond.amn
files). -
When the lattice vectors are non-orthogonal, not all the visualisation programs are capable to plot volumetric data in the Gaussian cube format. One program that can read volumetric data for these systems is VESTA. To instruct
wannier90
to output the MLWFs data in Gaussian cube format you need to add the following lines to the.win
fileInput filewannier_plot = .true. wannier_plot_supercell = 3 wannier_plot_format = cube wannier_plot_mode = crystal wannier_plot_radius = 2.5 wannier_plot_scale = 1.0
Run
wannier90
to compute the MLWFs and output them in the Gaussian cube file. -
Plot the first MLWF with VESTA
vesta diamond_00001.cube
Extra: Instead of using wannier_plot_mode = crystal
try to use the
molecule mode as wannier_plot_mode = molecule
(see the user guide for
the definition of this keyword). Add the following line to the .win
file:
and re-run wannier90
. Use VESTA to plot the resulting MLWFs, do you
see any difference from the crystal
mode case? Can you explain why?
Try to change the size of the supercell from 3 to 5, do you expect the
results to be different? (Hint: When using the Gaussian cube format
the code outputs the WF on a grid that is smaller than the super
unit-cell. The size of the grid is specified by wannier_plot_scale
and
wannier_plot_radius
.)