wannier-developers / wannier90

Official repository of the Wannier90 code
http://www.wannier.org
GNU General Public License v2.0
239 stars 141 forks source link

interband matrix elements of velocity operator in geninterp.f90 #372

Closed phibeck closed 3 years ago

phibeck commented 3 years ago

Dear All,

this is a feature request - not an issue - which was first discussed in the mailing list: https://lists.quantum-espresso.org/pipermail/wannier/2021-July/001920.html

In summary: it would be great to have an option to compute both intra- and interband elements of the velocity operator on a user-defined list of k-points. Currently, this is only possible for the diagonal intraband elements in geninterp.f90. As was pointed out by @ivosouza0, it probably makes sense to keep intra- and interband separated, though. From my limited overview it seems that geninterp.f90 would be a good place to add this functionality. As for the input file it probably makes senes to just add a flag like "geninterp_alsofirstder_offdiag" or the like?

If you have any suggestions or concerns about the feature or its location I'd appreciate your feedback. Otherwise I'll go forward implementing this and making a pull request at some point.

Thanks, Sophie

phibeck commented 3 years ago

Thanks to information by @stepan-tsirkin I learned that the full velocity operator can be obtained with little to no effort in the WannierBerri code. Since Python is ideal for my application I will go with that for now. If in the future I discover any reason why it would make more sense to implement it in Wannier90 after all I might reopen this feature request.