<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=utf-8">
<meta name="Generator" content="Microsoft Word 15 (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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
tt
        {mso-style-priority:99;
        font-family:"Courier New";}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.E-MailFormatvorlage18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.E-MailFormatvorlage19
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
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="DE" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Hello Barry,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">The complex wavefunction coefficients are stored in the .dat files. You got one complex coefficient per reciprocal lattice vector. The reciprocal lattice vectors have a radial cut-off
 defined by the ecutwfc input parameter. For gamma-only calculations only half of the coefficients are stored, for the positive half-sphere of reciprocal lattice vectors. The other half can be obtained by complex conjugating, (see here
<a href="https://docs.abinit.org/theory/wavefunctions/#plane-wave-basis-set-sphere">
https://docs.abinit.org/theory/wavefunctions/#plane-wave-basis-set-sphere</a>).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Additionally, the .dat files contain information about the reciprocal lattice vectors, miller indices, number of bands. So the .dat files contain more than just the wavefunction.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Here (<a href="https://mattermodeling.stackexchange.com/questions/9149/how-to-read-qes-wfc-dat-files-with-python">https://mattermodeling.stackexchange.com/questions/9149/how-to-read-qes-wfc-dat-files-with-python</a>)
 you can find python code to read the data stored in the .dat files.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Alternatively, you can compile QE with HDF5 (</span><tt><span lang="EN-US" style="font-size:10.0pt">–with-hdf5
</span></tt><span lang="EN-US" style="mso-fareast-language:EN-US">compile flag), then the .dat files are .hdf5 files and can be read easily with a HDF5 data viewer.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Best regards<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Erik<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><b>Von:</b> users <users-bounces@lists.quantum-espresso.org>
<b>Im Auftrag von </b>Barry (Yangtao) Li<br>
<b>Gesendet:</b> Montag, 26. August 2024 03:58<br>
<b>An:</b> users@lists.quantum-espresso.org<br>
<b>Betreff:</b> [QE-users] About Gridding Complex-Valued Wavefunctions for Spectroscopy Calculations<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">I am writing to seek your guidance on generating and properly gridding complex-valued wavefunctions. Our goal is to obtain 3D complex wavefunctions, fully gridded on their defined FFT grid, which we intend to use for advanced spectroscopy
 simulations as an added feature to Quantum Espresso.<br>
<br>
For instance, with a system defined by 2×2×2 k-points and no symmetry, we expect to have 8 k-vectors (and therefore, we will obtain 8 wavefunctions binaries stored in .save after SCF). If we desire 40 bands and an FFT grid of (20, 20, 20), our expectation is
 that 8 wavefunction files (binaries or texts) would be written, each with the same size of 16×20×20×20×40 = 5,120.000 bytes as we are aiming for each wavefunction to be stored as complex*16 data, separated by bands looping from 1 to 40, and in each band block
 its (1:20, 1:20, 1:20) a row of 3D complex wavefunction data.<br>
<br>
We would greatly appreciate any advice or documentation you can provide on how to achieve this, especially how to ensure the wavefunctions are accurately gridded on their FFT grid in the desired complex format, we tried to count the bytes of the QE-generated .dat
 files, the bytes are far away from the expected, so we don't know how to grid them. We also tried pp.x postprocessing, however, since it is mainly designed for orbital visualization, the phase information, i.e., the complex nature of wavefunction is not stored
 after the post-processing. For Gamma-only, we can do a square-root transformation, however, for non-Gamma cases, the square-root won't work anymore.<o:p></o:p></p>
<div>
<div>
<p class="MsoNormal"><br>
We believe this capability could be highly beneficial for users interested in extending QE's functionality into advanced spectroscopy, and we would be more than happy to contribute to its development.<br>
<br>
Thank you for your support and any assistance you can offer.<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Sincerely<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Barry<o:p></o:p></p>
</div>
</div>
</div>
</body>
</html>