wannier90
wannier90 copied to clipboard
band-resolved AHC
Dear all,
Wannier90 (W90) has been able to calculate anomalous Hall conductivity (AHC) for some time and the HOWTO of this calculation is well documented in the W90 tutorial. However, as far as seen, the current AHC calculation is performed by summing over all occupied bands, and therefore I am concerned whether the W90 code can calculate and output the contribution from individual bands to the total AHC. Any suggestion or help is much appreciated.
Best regards, Leon
Hi Leon,
As far as I know this is not implemented, but should be easy to implement. For that one has to call the subroutine berry_get_imf_klist with the occ parameter, where occ=1 for the band of interest (if it is occupied at that k-point) and zero for the rest.
However, note that such calculations will be hard to converge with respect to the number of k-points, because near the points of degeneracies between the occupied bands the Berry curvature diverges. This does not show up in the sum-over-states, if the degeneracy is far enough from the Fermi level. If you are interested, I we might implement it in wannier-berri , where I have implemented an improved algorithm of treating such special points. For that please contact me on that repository.
Regards, Stepan.
Hi Leon, Hi Stepan,
As far as I know this is not implemented, but should be easy to implement. For that one has to call the subroutine berry_get_imf_klist with the occ parameter, where occ=1 for the band of interest (if it is occupied at that k-point) and zero for the rest. I read this part of the code. However, could you explicitly show a short example to call this subroutine ? I was thinking of recompiling the W90 code to incorporate this user-customized option.
However, note that such calculations will be hard to converge with respect to the number of k-points, because near the points of degeneracies between the occupied bands the Berry curvature diverges. This does not show up in the sum-over-states, if the degeneracy is far enough from the Fermi level. If you are interested, I we might implement it in wannier-berri , where I have implemented an improved algorithm of treating such special points. For that please contact me on that repository. Frankly i am not a big fun of developing codes from scratch but would be happy to employ them for different purposes (of course some minor code modifications might be in need for customization). I just quickly walked around your repository and did find sth interested for me, i.e., wannier-berri can speed up the AHC calculation very a lot. I shall look into it deeply in the near future.
Regards, Stepan. Best, Leon
There are examples in the gyrotropic module, which works in the "band-resolved mode", but uses the "fermisurface distribution function" rather than "fermi sea". There is also a parameter "gyrotropic_band_list" which allows to restrict summation only to specific bands (e.g. one band). If you want to stay with w90, you may implement it in that module.
But I think whith wannier-berri we can make it more efficient, and it is not a deep modification, to discuss that you may open a separate issue on wannier-berri repository.
The reason that I did not implement that, is that I do not see much physical reasoning for such separation by bands. If it is not a secret, can you tell why you want to do it?
Thanks. At moment i would stay with w90 as i used to be familiar with it.
Definitely if it is a high demand for me, why not to use wannier-berri. And i think might need it in the near future.
To be honest at moment i can not think of any physics tied to that. Its just some intuitive thoughts, stemming from the attached equation below:
Apparently the total AHC can be decomposed into the different band contributions for a given fermi energy.