Dear Xiao-Xiao Zhang,

To compute the conductivity tensor of systems with PBC you do need periodic 
velocity operators.
However, if you compute the conductivity locally in the bulk, away from the 
edges you will get a correct result.

You can obtain the local value of the conductivity or any other spectral 
density, by restricting the extent of the vectors
used in the KPM expansion to a finite region of space.

The need for periodic velocity operators comes from the fact that those are 
computed using the distance in real space
between sites that are connected with a hopping.
When a site at the boundary connects the with the opposite boundary through the 
translational symmetry,
then the distance and velocity has a sudden jump in magnitude, which creates 
spurious boundary effects.

To overcome this issue, I've created a module to construct periodic velocity 
operators and other utilities in general
Bloch Hamiltonians (that is, Kwant systems with all translational symmetries 
"wrapped-around").

Please check this repository, and the example therein:
https://gitlab.com/kpm-tools/bloch

Best regards,
Pablo

Reply via email to