Hello,
I was calculating the Hall conductivity for the QWZ model of the Chern
insulator using kwant.kpm.conductivity as shown in the tutorial and the result
shows that the Hall conductivity within the energy gap is 0.5 when it should
have been 1 if it was scaled by the conductance quantum. Is the result scaled
by some other factor? I am providing my code below,
L = 21; W = 21
M = -1.0
def ChernIns(L,W,M):
lat = kwant.lattice.square(norbs=2)
sys = kwant.Builder()
for i in range(L):
for j in range(W):
sys[lat(i,j)] = (2+M)*sz
if i>0:
sys[lat(i,j),lat(i-1,j)] = -0.5*sz+0.5j*sx
if j>0:
sys[lat(i,j),lat(i,j-1)] = -0.5*sz+0.5j*sy
return lat, sys.finalized()
where = lambda s: np.linalg.norm(s.pos-np.array([L/2,W/2]))<2
lat, syst_topo = ChernIns(L,W,M)
s_factory = kwant.kpm.LocalVectors(syst_topo,where)
cond_xy = kwant.kpm.conductivity(syst_topo,
alpha='y',beta='x',mean=True,num_vectors=None,vector_factory=s_factory,rng=0)#,mean=True,num_vectors=None,vector_factory=s_factory,rng=0)
energies = cond_xy.energies
Sigma_xy = np.array([cond_xy(mu=e,temperature=0.01).real for e in energies])
area_per_site = np.linalg.norm(np.cross(*lat.prim_vecs))/len(lat.sublattices)
Sigma_xy = Sigma_xy/area_per_site
fig = plt.figure(dpi=150)
plt.plot(energies,Sigma_xy,'-k')
plt.xlabel('Energy')
plt.ylabel(r'$\sigma_{xy}$')
plt.show()
Any help is appreciated.
Best,
Adipta.