<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Dear Hongze Xia,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Maybe someone can suggest an easier way to extract he individual c(n,k), but I have done this by using pw_export.x to export the wave function information and then I wrote a pythonscript to pull pull them out of the exported xml file. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Here is an example input file I use for pw_export.x that works<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&INPUTPP<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>        prefix='Si',<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>        pseudo_dir='./',<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>        outdir ='./tmp',<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>        single_file=.true. ,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>        ascii=.true.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>/<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Out of this I get a subdirectory in my outdir called Si.export which contains a single xml file. <br><br>I then processed the file using “import xml.etree.ElementTree as etree” for the xml library in python. <br><br>This file contains all of the information needed to reconstruct the wave function. Someone please correct me if I am wrong in my following description as I had to do a bit of guess work to get it to work.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>So first in the file <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> The node Kmesh can be used to give you the number of k points stored as nk<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>And the weights stored as a text list called weights. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>There is also a subnode called k which will contain the actual kpoints. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Then in the node Wfc_grid there are subnodes for each kpoint which contain a subnode grid which contains the indices of each C(n,G,K) in the where psi_n,k = sum_G C(n,G,K)exp(-i(k+g)*r)<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>And the indices refer to the multiplicative factor on each of the reciprocal lattice vectors. For example if we have 3 reciprocal latticevectors v1,v2,v3 and the grid specifies a point 1 2 3 then we reconstruct  our G vector as   G=1*v1+2*v2+3*v3<br><br>After this the eigenvalues node  and subnodes should be rather self explanatory. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Finally comes the eigenvectors node<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>It is divided into subnodes of the form Eigenvectors->Kpoint.#k->Wfc.#n<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Here #k is the index of the kpoint. Can get the coordinate of this in crystal coordinates from Wfc_grid->Kpoint.#k->Kcrys<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The #n is the band index. Then under Wfc.#n is another text list This list is the complex coefficient C(#n,G,#k) and the coefficients are listed in the same order as the grid indicies I mentioned for Wfc_grid. So to give an example of what I mean. In one of my files  I have the Kpoint.1 at the gamma point 0.000000d+000 0.000000d+000 0.000000d+000.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The first two lines I have listed in the Wfc_grid for kpoint.1 text is <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>    0    0    0<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>   -1   -1   -1<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>And the first two coefficients I have listed for kpoint.1  and wfc.1 are<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>-7.287747620844023E-001, 6.805607924738541E-001<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>-1.270428376371229E-001,-4.334151291990817E-003<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>So that tells me that C(1,(0,0,0),(0,0,0))= -7.287747620844023E-001+i* 6.805607924738541E-001 at k = (0,0,0), G=(0,0,0) and n=1<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The next coefficient is at C(1,(-1,-1,-1), (0,0,0)) = -1.270428376371229E-001+i*-4.334151291990817E-003 at k=(0,0,0), G=(-1,-1,-1) and n=1 <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>And so on like that. Check through the output file and all of the information you should need make sense of my longwinded explanation is there.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>There may be an easier way using pp, but I don’t know it. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I hope it helps<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Robert Hembree<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> pw_forum-bounces@pwscf.org [mailto:pw_forum-bounces@pwscf.org] <b>On Behalf Of </b>Hongze Xia<br><b>Sent:</b> Friday, April 05, 2013 8:00 PM<br><b>To:</b> PWSCF Forum<br><b>Subject:</b> Re: [Pw_forum] using pp.x to calculate psi^2<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Dear Paolo,<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Thanks so much for your kind help. Currently we are looking for the eigenvectors from diagonalizing the Hermitian matrix which gives the electron band structure. It seems to me now tha |psi(r)|^2 does not contain information about individual c(n,k) but only the sum of that. It is also true for the charge density at r.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Can I ask: is that possible to extract individual c(n,k) out from the calculations or is that possible that I could print the Hermitian matrix which yields the electron band structure?<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Thank you for your time and effort.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Best Regards,<br><i><u>Hongze Xia</u></i><br>PhD candidate in Photovoltaics Engineering<br>University of New South Wales<br>Sydney 2052 Australia <o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On 03/04/2013, at 11:45 PM, Paolo Giannozzi <<a href="mailto:paolo.giannozzi@uniud.it">paolo.giannozzi@uniud.it</a>> wrote:<o:p></o:p></p></div><p class=MsoNormal><br><br><o:p></o:p></p><p class=MsoNormal>On Wed, 2013-04-03 at 22:32 +1100, Hongze Xia wrote:<br><br><br><o:p></o:p></p><p class=MsoNormal>As far as I know, psi can be defined as psi = c(n,k)*exp(-i r*k)<br>where c(n,k) is not a function of position r<o:p></o:p></p><p class=MsoNormal><br>No: psi(r) = \sum_k c(n,k)*exp(-i r*k)<br><br><br><o:p></o:p></p><p class=MsoNormal>By this definition, psi^2 = c*(n,k)c(n,k) is a real number <br>independent of r. <o:p></o:p></p><p class=MsoNormal><br>No: what is calculated is |psi(r)|^2, not what you have written.<br><br><br><o:p></o:p></p><p class=MsoNormal>Can anyone tell me what is the unit of psi (or c(n,k)) in QE? <o:p></o:p></p><p class=MsoNormal><br>all quantities are in atomic (Rydberg) units unless explicitly<br>specified, so psi(r) is in (bohr radii)^(-3/2)<br><br><br><o:p></o:p></p><p class=MsoNormal>Another question is that if I plot a 1D plot of the spherical average<br>of psi^2, does it matter if choosing a different starting point and<br>plotting line?<o:p></o:p></p><p class=MsoNormal><br>the starting point matters, the plotting line doesn't<br><br><br><o:p></o:p></p><p class=MsoNormal>The last question is that where I can find the total number of kband<br>and kpoint? <o:p></o:p></p><p class=MsoNormal><br>in the output of pw.x<br><br><br><o:p></o:p></p><p class=MsoNormal>If kpoint is manually set up in pwscf input file instead of using a k<br>mesh-grid, does it have the same sequence as the one in that input<br>file?<o:p></o:p></p><p class=MsoNormal><br>the index "kpoint" refers to the sequence of k-points as it appears in<br>the output<br><br>P.<br>-- <br>Paolo Giannozzi, Dept. Chemistry&Physics&Environment, <br>Univ. Udine, via delle Scienze 208, 33100 Udine, Italy<br>Phone +39-0432-558216, fax +39-0432-558222 <br><br>_______________________________________________<br>Pw_forum mailing list<br><a href="mailto:Pw_forum@pwscf.org">Pw_forum@pwscf.org</a><br><a href="http://pwscf.org/mailman/listinfo/pw_forum">http://pwscf.org/mailman/listinfo/pw_forum</a><o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p></div></div></body></html>