27: Silicon Selected columns of density matrix algorithm for automated MLWFs¶
Note: This tutorial requires a recent version of the pw2wannier90.x
post-processing code of Quantum ESPRESSO
(v6.4 or above).
-
Outline: For bulk crystalline Silicon, generate the \(A_{mn}\) matrices via the selected columns of density matrix (SCDM) algorithm and the corresponding MLWFs for 1) Valence bands 2) Valence bands and 4 low-lying conduction bands 3) Conduction bands only. To better understand the input files and the results of these calculations, it is crucial that the Reader has familiarized with the concepts and methods explained in Ref. 1. More info on the keywords related to the SCDM method may be found in the user_guide.
-
Directory:
tutorials/tutorial27/
Files can be downloaded from here -
Input Files:
input_files
, and in the three subfoldersisolated, erfc
andgaussian
. Theinput_files
folder contains:-
si.scf
Thepwscf
input file for the ground state calculation -
si_4bands.nscf
Thepwscf
input file to obtain Bloch states on a uniform grid for 4 bands. -
si_12bands.nscf
Thepwscf
input file to obtain Bloch states on a uniform grid for 12 bands.
-
-
Whereas the three subfolders
isolated, erfc
andgaussian
contain thesi.win
wannier90
input files andsi.pw2wan
pw2wannier90
input files each corresponding to one of the scenarios listed in the outline.
Valence bands¶
In this case we will compute 4 localized WFs corresponding to the 4 valence bands of Silicon. These 4 bands constitute a manifold that is separated in energy from other bands. In this case the columns of the density matrix are already localized in real space and no extra parameter is required.
-
Copy the input files
si.scf
andsi_4bands.nscf
from theinput_files
directory into theisolated
folder -
Run
pwscf
to obtain the ground state charge of bulk Silicon. -
Run
pwscf
to obtain the Bloch states on a uniform k-point grid of 4x4x4 for 4 bands. -
Inspect the
si.win
input file and make sure that theauto_projections
flag is set to.true.
. Also, make sure that no projections block is present. -
Run
wannier90
to generate a list of the required overlaps and also info on the SCDM method (written into thesi.nnkp
file). -
Inspect the
si.nnkp
file and make sure you find theauto_projections
block and that no projections have been written in theprojections
block. -
Inspect the
.pw2wan
input file. You will find two new keywords, i.e.scdm_proj
andscdm_entanglement
. The former, will instructpw2wannier90.x
to use the SCDM method when generating the \(A_{mn}\) matrix. The latter, defines which formula to adopt for the function \(f(\varepsilon_{n\mathbf{k}})\) (see 1 and point below). -
Run
pw2wannier90
to compute the overlap between Bloch states and the projections via the SCDM method (written in thesi.mmn
andsi.amn
respectively). -
Run
wannier90
to compute the MLWFs.
At this point, you should have obtained 4 Wannier functions and
the interpolated valence bands for Silicon. Inspect the output
file si.wout
. In particular, look at the geometric centres of
each WF, do they lie at the centre of the Si-Si bond as for the
MLWFs computed from user-defined initial \(s\)-like projections
(see Tutorial 11)? Plot these WFs using Vesta. Do they show the
\(\sigma\) character one would expect from chemical arguments?
Valence bands + conduction bands¶
In this case we will compute 8 localized WFs corresponding to the 4 valence bands and 4 low-lying conduction bands. Here, we don't have a separate manifold, since the conduction bands are entangled with other high-energy bands and the columns of the density matrix are not exponentially localized by construction. A modified density matrix is required in this case1, and it is defined as:
where \(\psi_{n\mathbf{k}}\) and \(\varepsilon_{n,\mathbf{k}}\) are the energy eigestates and eigenvalues from the first-principle calculation respectively. The function \(f(\varepsilon_{n,\mathbf{k}})\) contains two free parameters \(\mu\) and \(\sigma\) and is defined as a complementary error function:
-
Copy the input files
si.scf
andsi_12bands.nscf
from theinput_files
folder into theerfc
folder -
Run
pwscf
to obtain the ground state charge of bulk Silicon. -
Run
pwscf
to obtain the Bloch states on a uniform k-point grid of 4x4x4 for 12 bands this time. -
Inspect the
si.win
input file and make sure that theauto_projections
flag is set to.true.
. Also, make sure that no projection block is present. -
Run
wannier90
to generate a list of the required overlaps and also info on the SCDM method (written into thesi.nnkp
file). -
Inspect the
si.nnkp
file and make sure you find theauto_projections
block and that no projections have been written in theprojections
block. -
Inspect the
.pw2wan
input file. You will find other two new keywords, i.e.scdm_mu
andscdm_sigma
. These are the values in eV of \(\mu\) and \(\sigma\) in \(f(\varepsilon_{n,\mathbf{k}})\), respectively. -
Run
pw2wannier90
to compute the overlap between Bloch states and the projections via the SCDM method (written in thesi.mmn
andsi.amn
respectively). -
Run
wannier90
to compute the MLWFs.
At this point, you should have obtained 8 localized Wannier functions and the interpolated valence and conduction bands for Silicon. Again, compare the results for the geometric centres and the individual spreads with the ones from Tutorial 11. Is the final value of total spread bigger or smaller than the one from Tutorial 11? Look at the WFs with Vesta. Can you explain what you see? Where do the major lobes of the \(sp3\)-like WFs point in this case?
Conduction bands only¶
In this case we will compute 4 localized WFs corresponding to the 4 low-lying conduction bands only. As for the previous point, we need to define a modified density matrix1. Since we are only interested in a subset of the conduction states, within a bounded energy region, a good choice for \(f(\varepsilon_{n,\mathbf{k}})\) is:
-
Copy the input files
si.scf
andsi_12bands.nscf
from theinput_files
directory into thegaussian
folder -
Run
pwscf
to obtain the ground state charge of bulk Silicon. -
Run
pwscf
to obtain the Bloch states on a uniform k-point grid of 4x4x4 for 12 bands this time. -
Inspect the
si.win
input file and make sure that theauto_projections
flag is set to.true.
. Also, make sure that no projections block is present. -
Run
wannier90
to generate a list of the required overlaps and also info on the SCDM method (written into thesi.nnkp
file). -
Inspect the
si.nnkp
file and make sure you find theauto_projections
block and that no projections have been written in theprojections
block. -
Run
pw2wannier90
to compute the overlap between Bloch states, the projections for the starting guess via the SCDM method (written in thesi.mmn
andsi.amn
respectively). -
Run
wannier90
to compute the MLWFs.
At this point, you should have obtained 4 localized Wannier functions and the interpolated conduction bands for Silicon. From chemical intuition, we would expect these functions to be similar to anti-bonding orbitals of molecules with tetrahedral symmetry. Plot the WFs and check if this is confirmed.
-
A. Damle and L. Lin. Disentanglement via entanglement: A unified method for Wannier localization. ArXiv e-prints, March 2017. URL: http://adsabs.harvard.edu/abs/2017arXiv170306958D, arXiv:1703.06958. ↩↩↩↩