<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">.Hello <span style="font:small/1.5 Arial,Helvetica,sans-serif;text-align:left;color:rgb(34,34,34);text-transform:none;text-indent:0px;letter-spacing:normal;text-decoration:none;word-spacing:0px;display:inline;white-space:normal;font-size-adjust:none;font-stretch:normal;float:none;background-color:rgb(255,255,255)">Temok,</span></div><div dir="ltr"><br></div><div>I think wannier90 only requires the matrices from an electronic structure code: (i) the overlap matrix between the periodic part of the BLoch function Unk (Mmn), an optional overlap matrix between the Bloch functions and some guessing Gaussian functions, and finally the eigenvalues at the sampling k-points. </div><div>Hence, wannier90 has no idea about the underlying basis set used to generate the wave function and won't be able to provide the information that you need to perform integral on MLWFs to my knowledge.</div><div>However, I suggest these possibilities:</div><div><br></div><div>1/ You can use<a href="https://github.com/pyscf/pyscf"> PySCF</a> to generate a wave function, then <a href="https://github.com/hungpham2017/pyWannier90">pyWannier90</a> (Python interface for wannier90) to generate MLWFs.</div><div>Since PySCF is a GTO-based electronic code, you can straightforwardly obtain any integrals (kinetic, nuclear-electron, electron-electron, overlap) then Fourier-transforms them into the MLWFs basis.</div><div>This is what I did in my implementation of the MLWF-based DMET (see this <a href="https://pubs.acs.org/doi/abs/10.1021/acs.jctc.9b00939">paper</a>). </div><div>I would be happy to further support if needed, </div><div><br></div><div>2/ If you use a plane-wave package like VASP to generate wave function and MLWFs, then this is a bit tricky.</div><div>MLWFs are spaned by a set of plane waves, hence, you need to project these plane waves to some GTOs.</div><div>Or you can just simply do compute the integral directly on the plane wave. </div><div>The pyWannier90 interface for VASP from this package <a href="https://github.com/hungpham2017/mcu/blob/master/mcu/wannier90/pywannier90_vasp.py">mcu</a> allows you to obtain the MLWFs as well as the plane waves that span the u_{nk} from WAVECAR (No source code modification needed) </div><div>The only problem is that the WAVECAR containing only the plane waves that span the pseudo u_{nk} but not the on-site part (the red box):</div><div><div><img width="349" height="39" style="margin-right: 0px;" alt="image.png" src="cid:ii_k5bwqz160"></div><div>So the MWLFs constructed in this way do not span the same space as the total Bloch functions |psi_n > and this is not really physical.</div><div>However, some methods in VASP were actually implemented by either considering only the pseudo orbitals part (GW) or only the on-site part (DMFT).</div><div>I cannot comment further on this direction since it is also an on-going research topic to me.</div> </div><div>Hope this is helpful</div><div>Best,</div><div>Hung</div><div><br></div><div> </div><div>  </div><div>  </div><div><span style="font:small/1.5 Arial,Helvetica,sans-serif;text-align:left;color:rgb(34,34,34);text-transform:none;text-indent:0px;letter-spacing:normal;text-decoration:none;word-spacing:0px;display:inline;white-space:normal;font-size-adjust:none;font-stretch:normal;float:none;background-color:rgb(255,255,255)"><br></span></div><div><span style="font:small/1.5 Arial,Helvetica,sans-serif;text-align:left;color:rgb(34,34,34);text-transform:none;text-indent:0px;letter-spacing:normal;text-decoration:none;word-spacing:0px;display:inline;white-space:normal;font-size-adjust:none;font-stretch:normal;float:none;background-color:rgb(255,255,255)"><br></span></div></div></div></div><br><div class="gmail_quote"><div class="gmail_attr" dir="ltr">On Sun, Jan 12, 2020 at 11:19 AM Cuauhtémoc Salazar <<a href="mailto:temok.salazar@physik.hu-berlin.de">temok.salazar@physik.hu-berlin.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid">Dear Wannier90 Community,<br>
<br>
I wish to find an efficient way to evaluate some physical quantities that involve integrals over one and over two orbital-like functions. For instance, GaussianTypeOrbitals (GTO) or MaximallyLocalizedWannierFunctions (MLWF).<br>
<br>
1) For a set of MLWF’s from Wannier90, is it possible to employ part of the Wannier90 toolkit to perform integrals over one MLWF and also over pairs of MLWF’s? (Or is there a community post-processing tool to do so?)<br>
<br>
2) Alternatively, is there a tool to efficiently/optimally expand Wannier functions in terms of GaussianTypeOrbitals?<br>
<br>
Any suggestions are much appreciated.<br>
Thank you,<br>
Temok<br>
Humboldt Universität zu Berlin<br>
<br>
P.s. Days ago I posted this message using by mistake a non-subscribed email address; understandably the message is not in the archive and I didn’t get a copy of it either. Apologies if this ends up becoming a repost.<br>
_______________________________________________<br>
Wannier mailing list<br>
<a href="mailto:Wannier@lists.quantum-espresso.org" target="_blank">Wannier@lists.quantum-espresso.org</a><br>
<a href="https://lists.quantum-espresso.org/mailman/listinfo/wannier" target="_blank" rel="noreferrer">https://lists.quantum-espresso.org/mailman/listinfo/wannier</a><br>
</blockquote></div><br clear="all"><br>-- <br><div class="gmail_signature" dir="ltr"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div><div>Hung Q. Pham</div><div>Gagliardi Group</div><div>Office: Smith 101</div><div>Email: <a href="mailto:phamx494@umn.edu" target="_blank">phamx494@umn.edu</a></div><div dir="ltr"><br></div><div dir="ltr"><span style="font-size:12.8px">Department of Chemistry</span><br></div><div dir="ltr"><span style="font-size:12.8px">University of Minnesota - Twin Cities, </span><span style="font-size:12.8px">Minneapolis, MN 55455</span></div></div></div></div></div></div></div></div></div></div></div>