Dear all, I made the following snippets to build the structure of zigzag graphene nanoribbon (basically an infinite zigzag lead) and to calculate its band structure. As expected, everything is correct. ### import numpy as np import kwant from math import pi, sqrt import matplotlib.pyplot as plt def make_lead(r): # r is ribbon width sin_30, cos_30 = (1 / 2, sqrt(3) / 2) graphene = kwant.lattice.general([(1, 0), (sin_30, cos_30)], [(0, 0), (0, 1 / sqrt(3))]) a, b = graphene.sublattices hoppings = (((0, 0), a, b), ((0, 1), a, b), ((-1, 1), a, b)) sym = kwant.TranslationalSymmetry(graphene.vec((-1, 0))) def lead_shape(pos): x, y = pos return (-0.5 * r < y < 0.5 * r) lead = kwant.Builder(sym) lead[graphene.shape(lead_shape, (0, 0))] = 0 lead[[kwant.builder.HoppingKind(*hopping) for hopping in hoppings]] = -1 return lead def main(): lead = make_lead(r=10) # r is ribbon width lead = lead.finalized() kwant.plotter.bands(lead, show=False) plt.xlim(-pi, pi) plt.ylim(-2, 2) plt.xlabel("$ka$") plt.ylabel("$E$ [eV]") plt.show() if __name__ == '__main__': main() ### *Now my concern is how to calculate and plot the wave function of the n^th eigenmode at a given wave vector (e.g. k=0) for this nanoribbon with KWANT. *I tried to search the relevant issues through different resources like tutorial and forum but none of these give useful insights. Can someone help to figure out this problem? Thanks and regards, Kuangyia
participants (1)
-
kuangyia lee