Calculate conductivity of 3D periodic boundary condition system with disorder

Hello, I am thinking of calculating the conductivity with Kwant's KPM method of a 3D system with disorder and periodic boundary conditions (PBC) in every direction (no leads). Reading some old posts, it seems to be some problem with multiple translational symmetries (or PBCs?). In my case, because of adding disorder potential, I only want PBC rather than translational symmetry. So I presume the wraparound module is irrelevant here. Is that possible and if any problem when further calculating its conductivity? Naively we only need to manually add hoppings that 'wrap around' the lattice. Does this cause any problem in Kwant and is there any good practice/trick for this? Thank you!

Hello Kwant community, I am trying to calculate the conductivity with Kwant's KPM method of a 3D system with disorder and periodic boundary conditions (PBC) in every direction. Because of the onsite disorder potential, we don't have any translational symmetry. As far as I've tried, imposing the PBC doesn't seem to be a problem -- just put hoppings connecting opposite boundaries. And I don't see any error message when applying the KPM density of state/conductivity to this PBC system.
However, I noticed an earlier post mentioning the necessity of periodic velocity operators that Kwant doesn't implement. https://mail.python.org/archives/list/kwant-discuss@python.org/message/JVJWN...
This got me confused and worried. So can Kwant's KPM conductivity method treat such a system or not?
Thank you.

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
participants (2)
-
Jerry xhm
-
pablo.perez.piskunow@gmail.com