Skip to content

Fix wraparound logic

Dániel Varjas requested to merge dvarjas/kwant:issue_114 into stable

#114 (closed) The new logic is:

First keep sites in the fundamental domain of the original symmetry builder.symmetry. Every site that is stored and every a site of hoppings (a, b) should already be there. Wrapping back of b from a hopping is done by b_dom = builder.symmetry.which(b), then the part of b_dom that is in the remaining keep translation direction is discarded, resulting in a translation purely in the wrapped directions. The wrapped back b_wa = sym.act(-b_dom, b) is guaranteed to be an image of a site in the original FD under a kept translation.

In the end we shift everything to the FD of the remaining 1D translational symmetry.

Closes #114 (closed)

Edited by Joseph Weston

Merge request reports