<div dir="ltr">Hello Wien2k Community,<br><br>I am seeking advice on the best approach for extracting/using information about the eigenvectors that is not available within the current Wien2k code (as far as I know).  <br><br><div>For a custom k-point mesh (e.g. a 2D grid), I want to calculate the band-diagonal overlaps of the cell-periodic Bloch functions between neighbouring k-points; i.e. <u_{m,k}|u_{m,k+dk}>.  I then want to adjust the k-dependent phases of the Bloch functions so that the overlaps become real and positive.  This is a method for obtaining a smooth k-space gauge for isolated (non-degenerate) bands. Once the smooth gauge is obtained, it should then be possible to calculate Berry connections (interband+intraband) with well-defined phase. This is the overall goal.<br></div><div><br></div><div>(ASIDE: in this approach the cell periodic functions remain eigenfunctions of the k.p Hamiltonian, unlike the smooth k-space gauge produced by Wannier90 which does not suit my needs)  </div><div><br></div><div>In short, I want to write a program that does the following for a specified list of bands:<br></div><div>- choose an initial k-point (k0) having arbitrary Bloch phase</div><div>- compute overlap with a neighbouring k-point (k0+dk) <br></div><div>- adjust phase at (k0+dk) to give real overlap with (k0)</div><div>- Use (k0+dk) as the next starting point; repeat above steps to obtain real overlaps throughout the entire k-mesh</div><div></div><div><br></div><div>Once this is completed, the final step would be to compute the Berry connections between bands.  The intraband connections can be obtained from the overlaps.  The interband connections can be obtained from the momentum matrix elements (as calculated by optic).  <br></div><br>I think the w2w program performs the first step of this calculation (computing overlaps) in preparation for a Wannier90 calculation.  The w2w source code does not have much documentation so it is a bit difficult for me to follow.  At a glance, it looks like the overlaps are calculated in the "planew_m" module contained in "modules_rc.F".  <br><br><div>It would be helpful if someone with more familiarity could confirm if I am on the right track, and perhaps offer a bit of guidance on how to adapt this part of the w2w module to suit my task.  I would also want to adapt code from the optic program in order to calculate the interband momentum matrix elements at the end.  Finally, it is important to be able to include spin-orbit coupling in this calculation.  I haven't been able to find much information on how the eigenvectors are stored and used in calculations, but this seems important.  The information I need is obviously present; the issue is learning how the code is structured so I can work with it.  </div><div><br></div><div>Apologies for the long email, but this is a rather specific task I am working on.  Any help would be appreciated.  <br></div><div><br></div>Thanks,<br><br>Andrew Parks<br>PhD Candidate<br>Department of Physics<br>University of Ottawa<br></div>