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, erfcandgaussian. Theinput_filesfolder contains:-
si.scfThepwscfinput file for the ground state calculation -
si_4bands.nscfThepwscfinput file to obtain Bloch states on a uniform grid for 4 bands. -
si_12bands.nscfThepwscfinput file to obtain Bloch states on a uniform grid for 12 bands.
-
-
Whereas the three subfolders
isolated, erfcandgaussiancontain thesi.winwannier90input files andsi.pw2wanpw2wannier90input 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.scfandsi_4bands.nscffrom theinput_filesdirectory into theisolatedfolder -
Run
pwscfto obtain the ground state charge of bulk Silicon. -
Run
pwscfto obtain the Bloch states on a uniform k-point grid of 4x4x4 for 4 bands. -
Inspect the
si.wininput file and make sure that theauto_projectionsflag is set to.true.. Also, make sure that no projections block is present. -
Run
wannier90to generate a list of the required overlaps and also info on the SCDM method (written into thesi.nnkpfile). -
Inspect the
si.nnkpfile and make sure you find theauto_projectionsblock and that no projections have been written in theprojectionsblock. -
Inspect the
.pw2waninput file. You will find two new keywords, i.e.scdm_projandscdm_entanglement. The former, will instructpw2wannier90.xto 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
pw2wannier90to compute the overlap between Bloch states and the projections via the SCDM method (written in thesi.mmnandsi.amnrespectively). -
Run
wannier90to 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.scfandsi_12bands.nscffrom theinput_filesfolder into theerfcfolder -
Run
pwscfto obtain the ground state charge of bulk Silicon. -
Run
pwscfto obtain the Bloch states on a uniform k-point grid of 4x4x4 for 12 bands this time. -
Inspect the
si.wininput file and make sure that theauto_projectionsflag is set to.true.. Also, make sure that no projection block is present. -
Run
wannier90to generate a list of the required overlaps and also info on the SCDM method (written into thesi.nnkpfile). -
Inspect the
si.nnkpfile and make sure you find theauto_projectionsblock and that no projections have been written in theprojectionsblock. -
Inspect the
.pw2waninput file. You will find other two new keywords, i.e.scdm_muandscdm_sigma. These are the values in eV of \(\mu\) and \(\sigma\) in \(f(\varepsilon_{n,\mathbf{k}})\), respectively. -
Run
pw2wannier90to compute the overlap between Bloch states and the projections via the SCDM method (written in thesi.mmnandsi.amnrespectively). -
Run
wannier90to 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.scfandsi_12bands.nscffrom theinput_filesdirectory into thegaussianfolder -
Run
pwscfto obtain the ground state charge of bulk Silicon. -
Run
pwscfto obtain the Bloch states on a uniform k-point grid of 4x4x4 for 12 bands this time. -
Inspect the
si.wininput file and make sure that theauto_projectionsflag is set to.true.. Also, make sure that no projections block is present. -
Run
wannier90to generate a list of the required overlaps and also info on the SCDM method (written into thesi.nnkpfile). -
Inspect the
si.nnkpfile and make sure you find theauto_projectionsblock and that no projections have been written in theprojectionsblock. -
Run
pw2wannier90to compute the overlap between Bloch states, the projections for the starting guess via the SCDM method (written in thesi.mmnandsi.amnrespectively). -
Run
wannier90to 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. ↩↩↩↩