<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">Hello wannier90 community,</span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<br>
</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
I'm a bit new here, but to give some background, I'm currently analyzing different polymorphs of MgO from an electrostatic lens, and I'd like to use wannier90 to partition the electrons which are treated by density-functional calculations in quantum-espresso. </div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<br>
</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<span style="margin:0px">Now my questions today are regarding the wannier functions (WFs) which are printed to the xsf files. In particular, I'm wondering about things I should keep in mind when building charge distributions out of these wannier functions,
 so that I may use them for later calculations. </span></div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<span style="margin:0px"><br>
</span></div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<span style="margin:0px">So far, just to check things out, I've tried to calculate the total charge within a single WF, but I'm obtaining some strange results that I can't really make sense of (more on this below).</span></div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<br>
</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
In my current understanding, the square of a WF provides partial charge densities for the associated orbital, and integrating this in position space across the supercell in which it lives should produce its total charge -- this should come out to 1 if norm-conserved
 pseudopotentials are implemented (see <a href="https://lists.quantum-espresso.org/pipermail/wannier/2012-July/000545.html" target="_blank" rel="noopener noreferrer" data-auth="NotApplicable" style="margin:0px">https://lists.quantum-espresso.org/pipermail/wannier/2012-July/000545.html</a>). </div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<span style="margin:0px"><br>
</span></div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<span style="margin:0px">With this in mind, I tried applying this to the discrete WF data sets found in my xsf files. Summing over the squares of each WF data point, I multiplied this result by the volume element that should belong to each point (volume of
 the supercell divided by total number of data points). However, in one example polymorph, I obtain something like 150 electrons instead of the 1 I expected.</span></div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<br>
</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
After seeing this, I guess the first most obvious question that may help me troubleshoot my results and understanding are: <span style="margin:0px">what units are the xsf data sets written in? I know quantum-espresso's pp.x writes charge-density files in electrons/bohr^3,
 but I haven't found much concerning wannier90 in the documentation... I'll note that I've been pretty consistently writing input files using angstrom, and in the above-mentioned example, I assumed wannier90 picked up on this and returned the WF in sqrt(electrons/angstrom^3).  </span></div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<span style="margin:0px"><br>
</span></div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<span style="margin:0px">Another question might be whether the default position-space grid is fine enough to carry out an integral-to-sum conversion as I've used above, and whether there's any option to increase the grid density</span></div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<span style="margin:0px"><br>
</span></div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<span style="margin:0px">Aside from this, if anyone has any additional advice, comments, or information concerning the data/procedure or any gaps in my understanding, they'll be greatly appreciated.</span></div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<br>
</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
Thanks in advance,</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
Wai-Ga David Ho @ FSU and NHMFL</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<br>
</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<br>
</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
------------------------------------------------------------------------------------------------------------------------------------------------------------</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<br>
</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
P.S. in case this helps anyone, below I provide some additional details surrounding my procedure/specs for the basic quantum-espresso and wannier90 calculations. The example I used in the main body of this email is for MgO in a CsCl-type arrangement, which
 I'll continue to use in the description below.</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<br>
</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
1) In quantum-espresso (v.6.0), I build a 16-atom unit cell for MgO in a CsCl-type arrangement and run a DFT calculation using pw.x<span> </span><span style="margin:0px;background-color:white">on a 5x5x5 kgrid. </span>I used<span style="margin:0px"> the following
 norm-conserved pseudopotentials: </span></div>
<blockquote style="color:rgb(32, 31, 30);font-family:"Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif;font-size:15px;background-color:rgb(255, 255, 255);margin-top:0px;margin-bottom:0px">
<div style="margin:0px;font-size:12pt;font-family:Calibri, Arial, Helvetica, sans-serif;color:black">
<span style="margin:0px">Mg_ONCV_PBE-1.2.upf</span><br>
</div>
</blockquote>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<blockquote style="margin-top:0px;margin-bottom:0px">
<div style="margin:0px">O_ONCV_PBE-1.2.upf</div>
</blockquote>
<div style="margin:0px">The input file for this calculation is provided under the "pw.x input" header at the end of this email </div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px">2) Examining the output of my DFT calculation, I notice there is a composite group of 24 valence bands which sit right underneath the Fermi energy. This corresponds to 3 bands or 6 electrons per Mg-O pair. Now MgO is quite ionic, and
 Mg/O ions have nominal charges of +2/-2 respectively, which translates to an empty s-shell on Mg and a full p-shell on O. Thus I decide to get symmetry-adapted wannier functions using oxygen-centered p states in my wannier90 projections block.</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px">3) After the final wannier90.x run <span style="margin:0px;background-color:white">(v3.0.0; input file provided below) </span>on a reduced 3x3x3kgrid (where quantum-espresso is still decently converged), I obtain WFs that are real (Im/Re
 ratios of order 10^-5) and well-localized (individual spreads < 1 angstrom^2). Moreover, I find that the wannierized bands are able to adequately reproduce the quantum-espresso band structure. So these should be a good set of WFs for general purposes.</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px">4) Picking one of the xsf files that were produced by wannier90, I go to the DATAGRID_3D block at the bottom, and from this I extract the grid dimensionality (n1,n2,n3) to get </div>
<blockquote style="margin-top:0px;margin-bottom:0px">
<div style="margin:0px">n = n1*n2*n3 = total # data points.</div>
</blockquote>
<div style="margin:0px"><span style="margin:0px;background-color:white"><br>
</span></div>
<div style="margin:0px"><span style="margin:0px;background-color:white">The DATAGRID_3D block also contains the WF data set, whose elements I square and sum (<span style="margin:0px;background-color:white">sum(WF^2)</span>). </span></div>
<div style="margin:0px"><span style="margin:0px;background-color:white"><br>
</span></div>
<div style="margin:0px"><span style="margin:0px;background-color:white">Lastly, I obtain the volume of my original 16-atom cell by going to the PRIMVEC block at the top of the file. I multiply their triple-scalar-product/volume by 3^3=27 to get the entire 3x3x3
 supercell volume (V) where the WF data set should live. <span style="margin:0px;background-color:white">I do not use the data-translation vectors that are written in the <span style="margin:0px;background-color:white">DATAGRID_3D<span style="margin:0px"> block
 as they do not span the entire 3x3x3 supercell.</span></span></span></span><br>
</div>
<div style="margin:0px"><span style="margin:0px;background-color:white"><br>
</span></div>
<div style="margin:0px"><span style="margin:0px;background-color:white">With all of this, I take (r=position and ÄV assumed to be the same for each data point)</span></div>
<blockquote style="margin-top:0px;margin-bottom:0px">
<div style="margin:0px"><span style="margin:0px;background-color:white">integral(WF(r)^2 d^3r)  ---> sum(WF(r)^2 ÄV) = sum(WF^2)ÄV </span></div>
</blockquote>
<div style="margin:0px">where ÄV=V/n. The result is about 150.4... electrons if V is in cubic angstroms and WF(r) is in sqrt(electrons/angstrom^3)</div>
<div style="margin:0px"></div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px">I may have skipped a few steps in this outline (nscf, band calculations, etc) but if anyone needs to see any of the input files I've excluded, or any output results, please let me know.</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px"><span style="margin:0px">--------------------------------------------------------------------- pw.x input --------------------------------------------------------------------------</span><br>
</div>
</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<br>
</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
&CONTROL
<div style="margin:0px">    calculation = "scf"</div>
<div style="margin:0px">    max_seconds =  8.64000e+04</div>
<div style="margin:0px">    pseudo_dir  = "/home/wai-ga/.burai/.pseudopot"</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px">    tstress = .true.</div>
<div style="margin:0px">    tprnfor = .true.</div>
<div style="margin:0px">    prefix = 'MgO_CsCl'</div>
<div style="margin:0px">    outdir='./work/'</div>
<div style="margin:0px">    disk_io='low'</div>
<div style="margin:0px">    wf_collect=.true.</div>
<div style="margin:0px">/</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px">&SYSTEM</div>
<div style="margin:0px">    a           =  5.31810e+00</div>
<div style="margin:0px">    degauss     =  1.00000e-02</div>
<div style="margin:0px">    ecutrho     =  2.00000e+03</div>
<div style="margin:0px">    ecutwfc     =  2.00000e+02</div>
<div style="margin:0px">    ibrav       = 1</div>
<div style="margin:0px">    nat         = 16</div>
<div style="margin:0px">    ntyp        = 2</div>
<div style="margin:0px">    occupations = "fixed"</div>
<div style="margin:0px">    smearing    = "gaussian"</div>
<div style="margin:0px">/</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px">&ELECTRONS</div>
<div style="margin:0px">    conv_thr         =  1.00000e-10</div>
<div style="margin:0px">    electron_maxstep = 200</div>
<div style="margin:0px">    mixing_beta      =  7.00000e-01</div>
<div style="margin:0px">    startingpot      = "atomic"</div>
<div style="margin:0px">    startingwfc      = "atomic+random"</div>
<div style="margin:0px">/</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px">K_POINTS {automatic}</div>
<div style="margin:0px"> 5  5  5  0 0 0</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px"></div>
ATOMIC_SPECIES
<div style="margin:0px">Mg     24.30500  Mg_ONCV_PBE-1.2.upf</div>
<div style="margin:0px">O      15.99940  O_ONCV_PBE-1.2.upf</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px">ATOMIC_POSITIONS {angstrom}</div>
<div style="margin:0px">Mg      0.000000   0.000000   0.000000</div>
<div style="margin:0px">O       1.329525   1.329525   1.329525</div>
<div style="margin:0px">Mg      0.000000   0.000000   2.659051</div>
<div style="margin:0px">O       1.329525   1.329525   3.988576</div>
<div style="margin:0px">Mg      0.000000   2.659051   0.000000</div>
<div style="margin:0px">O       1.329525   3.988576   1.329525</div>
<div style="margin:0px">Mg      0.000000   2.659051   2.659051</div>
<div style="margin:0px">O       1.329525   3.988576   3.988576</div>
<div style="margin:0px">Mg      2.659051   0.000000   0.000000</div>
<div style="margin:0px">O       3.988576   1.329525   1.329525</div>
<div style="margin:0px">Mg      2.659051   0.000000   2.659051</div>
<div style="margin:0px">O       3.988576   1.329525   3.988576</div>
<div style="margin:0px">Mg      2.659051   2.659051   0.000000</div>
<div style="margin:0px">O       3.988576   3.988576   1.329525</div>
<div style="margin:0px">Mg      2.659051   2.659051   2.659051</div>
<div style="margin:0px">O       3.988576   3.988576   3.988576</div>
<div style="margin:0px"><br>
</div>
</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<br>
</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<span style="margin:0px"><span style="margin:0px">----------------------------------------------------<span style="margin:0px;background-color:white">----</span>-------- wannier90.x input ----------------<span style="margin:0px;background-color:white">-</span><span style="margin:0px;background-color:white">-</span>--------------------------------------------------</span></span><br>
</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<br>
</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<span style="margin:0px">!CsCl-type MgO:</span><br>
</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
<div style="margin:0px"><br>
</div>
<div style="margin:0px"> num_wann    =  24</div>
<div style="margin:0px"> num_iter    = 100</div>
<div style="margin:0px"> exclude_bands = 1-40</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px">!===========  additional input for symmetry-adapted mode</div>
<div style="margin:0px">site_symmetry = .true.</div>
<div style="margin:0px">!===========</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px">! SYSTEM</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px">begin unit_cell_cart</div>
<div style="margin:0px">angstrom</div>
<div style="margin:0px">5.31810  0.00000  0.00000</div>
<div style="margin:0px">0.00000  5.31810  0.00000</div>
<div style="margin:0px">0.00000  0.00000  5.31810</div>
<div style="margin:0px">end unit_cell_cart</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px">begin atoms_cart</div>
<div style="margin:0px">angstrom</div>
<div style="margin:0px">Mg      0.000000   0.000000   0.000000</div>
<div style="margin:0px">O       1.329525   1.329525   1.329525</div>
<div style="margin:0px">Mg      0.000000   0.000000   2.659051</div>
<div style="margin:0px">O       1.329525   1.329525   3.988576</div>
<div style="margin:0px">Mg      0.000000   2.659051   0.000000</div>
<div style="margin:0px">O       1.329525   3.988576   1.329525</div>
<div style="margin:0px">Mg      0.000000   2.659051   2.659051</div>
<div style="margin:0px">O       1.329525   3.988576   3.988576</div>
<div style="margin:0px">Mg      2.659051   0.000000   0.000000</div>
<div style="margin:0px">O       3.988576   1.329525   1.329525</div>
<div style="margin:0px">Mg      2.659051   0.000000   2.659051</div>
<div style="margin:0px">O       3.988576   1.329525   3.988576</div>
<div style="margin:0px">Mg      2.659051   2.659051   0.000000</div>
<div style="margin:0px">O       3.988576   3.988576   1.329525</div>
<div style="margin:0px">Mg      2.659051   2.659051   2.659051</div>
<div style="margin:0px">O       3.988576   3.988576   3.988576</div>
<div style="margin:0px">end atoms_cart</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px">begin projections</div>
<div style="margin:0px">angstrom</div>
<div style="margin:0px">c = 1.329525,1.329525,1.329525: p</div>
<div style="margin:0px">c = 1.329525,1.329525,3.988576: p</div>
<div style="margin:0px">c = 1.329525,3.988576,1.329525: p</div>
<div style="margin:0px">c = 1.329525,3.988576,3.988576: p</div>
<div style="margin:0px">c = 3.988576,1.329525,1.329525: p</div>
<div style="margin:0px">c = 3.988576,1.329525,3.988576: p</div>
<div style="margin:0px">c = 3.988576,3.988576,1.329525: p</div>
<div style="margin:0px">c = 3.988576,3.988576,3.988576: p</div>
<div style="margin:0px">end projections</div>
<div style="margin:0px"><br>
</div>
<br>
</div>
<div style="margin:0px;font-size:12pt;color:black;background-color:rgb(255, 255, 255)">
wannier_plot = true   #uncomment these blocks for the second
<div style="margin:0px">restart = plot        #(wannier90.x) execution (not including -pp flag</div>
<div style="margin:0px">bands_plot = true     #for postprocessing)</div>
<div style="margin:0px">wannier_plot_supercell = 3</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px">write_xyz=.true. #write WF centers in xyz format</div>
<div style="margin:0px">use_ws_distance = .true. #improve band interpolation</div>
<div style="margin:0px">!translate_home_cell = true</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px">begin kpoint_path</div>
<div style="margin:0px">G 0.00 0.00 0.00 X 0.00 0.50 0.00</div>
<div style="margin:0px">X 0.00 0.50 0.00 M 0.50 0.50 0.00</div>
<div style="margin:0px">M 0.50 0.50 0.00 R 0.50 0.50 0.50</div>
<div style="margin:0px">R 0.50 0.50 0.50 G 0.00 0.00 0.00</div>
<div style="margin:0px">G 0.00 0.00 0.00 M 0.50 0.50 0.00</div>
<div style="margin:0px">M 0.50 0.50 0.00 X 0.00 0.50 0.00</div>
<div style="margin:0px">X 0.00 0.50 0.00 R 0.50 0.50 0.50</div>
<div style="margin:0px">end kpoint_path</div>
<div style="margin:0px"><br>
</div>
! KPOINTS
<div style="margin:0px"><br>
</div>
<div style="margin:0px">mp_grid : 3 3 3</div>
<div style="margin:0px"><br>
</div>
<div style="margin:0px">begin kpoints</div>
<div style="margin:0px">  0.00000000  0.00000000  0.00000000</div>
<div style="margin:0px">  0.00000000  0.00000000  0.33333333</div>
<div style="margin:0px">  0.00000000  0.00000000  0.66666667</div>
<div style="margin:0px">  0.00000000  0.33333333  0.00000000</div>
<div style="margin:0px">  0.00000000  0.33333333  0.33333333</div>
<div style="margin:0px">  0.00000000  0.33333333  0.66666667</div>
<div style="margin:0px">  0.00000000  0.66666667  0.00000000</div>
<div style="margin:0px">  0.00000000  0.66666667  0.33333333</div>
<div style="margin:0px">  0.00000000  0.66666667  0.66666667</div>
<div style="margin:0px">  0.33333333  0.00000000  0.00000000</div>
<div style="margin:0px">  0.33333333  0.00000000  0.33333333</div>
<div style="margin:0px">  0.33333333  0.00000000  0.66666667</div>
<div style="margin:0px">  0.33333333  0.33333333  0.00000000</div>
<div style="margin:0px">  0.33333333  0.33333333  0.33333333</div>
<div style="margin:0px">  0.33333333  0.33333333  0.66666667</div>
<div style="margin:0px">  0.33333333  0.66666667  0.00000000</div>
<div style="margin:0px">  0.33333333  0.66666667  0.33333333</div>
<div style="margin:0px">  0.33333333  0.66666667  0.66666667</div>
<div style="margin:0px">  0.66666667  0.00000000  0.00000000</div>
<div style="margin:0px">  0.66666667  0.00000000  0.33333333</div>
<div style="margin:0px">  0.66666667  0.00000000  0.66666667</div>
<div style="margin:0px">  0.66666667  0.33333333  0.00000000</div>
<div style="margin:0px">  0.66666667  0.33333333  0.33333333</div>
<div style="margin:0px">  0.66666667  0.33333333  0.66666667</div>
<div style="margin:0px">  0.66666667  0.66666667  0.00000000</div>
<div style="margin:0px">  0.66666667  0.66666667  0.33333333</div>
<div style="margin:0px">  0.66666667  0.66666667  0.66666667</div>
<span style="margin:0px">end kpoints</span></div>
<br>
</div>
</body>
</html>