Hello All,

I am trying to calculate the band structure of my system in the presence of
an external electric field. From what I understand, I need to add the
electric field as a potential in the onsite energy for the Hamiltonian.

Now when I calculate the band structure, I have to use
kwant.plotter.bands(sys.leads[0]) to avoid the code throwing up an error.
Whereas what I want to be plotting is kwant.plotter.bands(sys), i.e. the
band structure of the system and not the leads. The latter method gives an
error (code pasted below) of the following kind.
TypeError: Expecting an instance of InfiniteSystem.

I have also gone through the answer at
https://mailman-mail5.webfaction.com/pipermail/kwant-discuss/2016-June/000906.html
.
That code by Anton changes the band structure for different values of
electric fields (which is what one would expect), whereas the band
structure of sys.leads[0] (in my code) does not change at all even on
significantly changing the field.

I have a few questions if someone can help me with them.

1) What is the difference between plotting a band structure for sys and
sys.leads[0]?
2) How can I plot the band structure of my system (and not its leads) from
the code below? Where am I going wrong? How do I avoid the error?

*import kwant*

*a = 2.46*
*lat = kwant.lattice.honeycomb(a = a)*
*p, q = lat.sublattices*

*def hopping(sitei, sitej):*
*    return -2.8*

*def onsite(site):*
*    x, y = site.pos*
*    return -0 + 1*(y)*

*def central_region(pos):*
*    x, y = pos*
*    return abs(x) < 5*a + 1e-8 and abs(y) < 5*a + 1e-8*

*sys = kwant.Builder()*

*sys[lat.shape(central_region, (0, 0))] = onsite*
*sys[lat.neighbors()] = hopping*

*sym = kwant.TranslationalSymmetry((-a, 0))*
*lead = kwant.Builder(sym)*
*lead[lat.shape(lambda s: abs(s[1]) < 5*a + 1e-8, (0, 0))] = 0*
*lead[lat.neighbors()] = hopping*

*sys.attach_lead(lead)*
*sys.attach_lead(lead.reversed())*

*kwant.plotter.bands(sys.finalized().leads[1])     # This works fine*
*#kwant.plotter.bands(sys.finalized())   # This throws up an error*


Any help would be greatly appreciated!

Shivang Agarwal

Reply via email to