According to the example ab_ring.py , the AB flux is introduced as the phi
parameter of the hopping.
In presence of a SOC the hoppings are matrices (spin_orbit.py).
# hoppings in x-direction
sys[kwant.builder.HoppingKind((1, 0), lat, lat)] = \
-t * sigma_0 - 1j * alpha * sigma_y
# hoppings in y-directions
sys[kwant.builder.HoppingKind((0, 1), lat, lat)] = \
-t * sigma_0 + 1j * alpha * sigma_x
How can I modify the hoppings for such case.
I can only figure out that sys[hops_across_cut] has to be a matrix but I
don't know which part should be modified for that !
------------------------------------------------
def fluxphase(site1, site2, phi):
return exp(1j * phi)
def crosses_branchcut(hop):
ix0, iy0 = hop[0].tag
# builder.HoppingKind with the argument (1, 0) below
# returns hoppings ordered as ((i+1, j), (i, j))
return iy0 < 0 and ix0 == 1 # ix1 == 0 then implied
# Modify only those hopings in x-direction that cross the branch cut
def hops_across_cut(sys):
for hop in kwant.builder.HoppingKind((1, 0), lat, lat)(sys):
if crosses_branchcut(hop):
yield hop
sys[hops_across_cut] = fluxphase
--------------------------------------------------
Sumit
--
Sumit Ghosh
Spintronics Theory Group
PSE Division
KAUST
--
------------------------------
This message and its contents, including attachments are intended solely
for the original recipient. If you are not the intended recipient or have
received this message in error, please notify me immediately and delete
this message from your computer system. Any unauthorized use or
distribution is prohibited. Please consider the environment before printing
this email.