32: Tungsten SCDM parameters from projectability¶
-
Outline: Compute the Wannier interpolated band structure of tungsten (W) using the SCDM method to calculate the initial guess (see Tutorial 27 for more details). The free parameters in the SCDM method, i.e., \(\mu\) and \(\sigma\), are obtained by fitting a complementary error function to the projectabilities. The number of MLWFs is given by the number of pseudo-atomic orbitals (PAOs) in the pseudopotential, \(21\) in this case. All the steps shown in this tutorial have been automated in the AiiDA1 workflow that can be downloaded from the MaterialsCloud website2.
-
Directory:
tutorials/tutorial32/Files can be downloaded from here -
Input files
-
W.scfThepwscfinput file for ground state calculation -
W.nscfThepwscfinput file to obtain Bloch states on a uniform grid -
W.pw2wanThe input file forpw2wannier90 -
W.projThe input file forprojwfc -
generate_weights.shThe bash script to extract the projectabilities from the output ofprojwfc -
W.winThewannier90input file
-
-
Run
pwscfto obtain the ground state of tungsten -
Run
pwscfto obtain the Bloch states on a \(10\times10\times10\) uniform \(k\)-point grid -
Run
wannier90to generate a list of the required overlaps (written into theW.nnkpfile) -
Run
projwfcto compute the projectabilities of the Bloch states onto the Bloch sums obtained from the PAOs in the pseudopotential -
Run
generate_weightsto extract the projectabilitites fromproj.outin a format suitable to be read byXmgraceor gnuplot -
Plot the projectabilities and fit the data with the complementary error function
\[ f(\epsilon;\mu,\sigma) = \frac{1}{2} \mathrm{erfc}(-\frac{\mu - \epsilon}{\sigma}). \]We are going to use
Xmgraceto plot the projectabilities and perform the fitting. OpenXmgraceTo Import the
p_vs_e.datfile, click onDatafrom the top bar and thenImport -> ASCII.... At this point a new windowGrace: Read setsshould pop up. Selectp_vs_e.datin theFilessection, clickOkat the bottom and close the window. You should now be able to see a quite noisy function that is bounded between 1 and 0. You can modify the appearance of the plot by clicking onPlotin the top bar and thenSet appearance.... In theMainsection of the pop-up window change the symbol type fromNonetoCircle. Change the line type from straight to none, since the lines added by default by Xmgrace are not meaningful. For the fitting, go toData -> Transformations -> Non-linear curve fitting. In this window, select the source from theSetbox and in theFormulabox insert the followingSelect 2 as number of parameters, give 40 as initial condition for
A0and 7 forA1. ClickApply. A new window should pop up with the stats of the fitting. In particular you should find aCorrelation coefficientof 0.96 and a value of \(39.9756\) forA0and \(6.6529\) forA1. These are the value of \(\mu_{fit}\) and \(\sigma_{fit}\) we are going to use for the SCDM method. In particular, \(\mu_{SCDM} = \mu_{fit} - 3\sigma_{fit} = 20.0169\) eV and \(\sigma_{SCDM} = \sigma_{fit} = 6.6529\) eV. The motivation for this specific choice of \(\mu_{fit}\) and \(\sigma_{fit}\) may be found in Ref. 3, where the authors also show validation of this approach on a dataset of 200 materials. You should now see the fitting function, as well as the projectabilities, in the graph below.
Each blue dot represents the projectability as defined in Eq. (22) of Ref. 3 of the state \(\vert n\mathbf{k} \rangle\) as a function of the corresponding energy \(\epsilon_{n\mathbf{k}}\) for tungsten. The yellow line shows the fitted complementary error function. The vertical red line represents the value of \(\sigma_{fit}\) while the vertical green line represents the optimal value of \(\mu_{SCDM}\), i.e. \(\mu_{SCDM} = \mu_{fit} - 3\sigma_{fit}\). -
Open
W.pw2wanand append the following lines -
Run
pw2wannier90to compute the overlaps between Bloch states and the projections for the starting guess (written in theW.mmnandW.amnfiles) -
Run
wannier90to obtain the interpolated bandstructure (see the band structure plot).Please cite Ref. 3 in any publication employing the procedure outlined in this tutorial to obtain \(\mu\) and \(\sigma\).
-
Giovanni Pizzi, Andrea Cepellotti, Riccardo Sabatini, Nicola Marzari, and Boris Kozinsky. Aiida: automated interactive infrastructure and database for computational science. Computational Materials Science, 111:218 – 230, 2016. ↩
-
V. Vitale, G. Pizzi, A. Marrazzo, J. R. Yates, N. Marzari, and A. A. Mostofi. Automated high-throughput wannierisation. Materials Cloud Archive, 2019. doi:\href http://doi.org/10.24435/materialscloud:2019.0044/v210.24435/materialscloud:2019.0044/v2. ↩
-
Valerio Vitale, Giovanni Pizzi, Antimo Marrazzo, Jonathan Yates, Nicola Marzari, and Arash Mostofi. Automated high-throughput wannierisation. 2019. arXiv:1909.00433. ↩↩↩