Hi Everyone, I am searching for a way to calculate the energy spectrum of a system without translational invariance using Kwant. I am familiar with how to calculate Ek relationships for systems with translational invariance (such as a lead) using Kwant's infinite systems. What is unclear to me is how to approach doing this for a system which breaks this invariance, by for example, applying an electric field via a gate or sourcedrain bias. In the tutorial section I have gone through the tutorial for calculating the magnetic flux vs. energy spectrum for a quantum dot, but it is unclear to me how one would modify this example to investigate the Ek relationship. I have seen a few examples of this type of calculation performed in the literature, but often the numerical details are left to the reader. A few of these are below: (1) http://arxiv.org/abs/condmat/0610237  This paper shows several figures for differently shaped quantum wells formed along the transport direction in a graphene ribbon. (2) http://arxiv.org/abs/1512.02144  It appears to me that the lower panel of Fig. 1 essentially has an electric field, although I could be wrong. This example was actually done with Kwant. (3) http://arxiv.org/abs/condmat/0603594  Their Fig. 1 shows the spectrum in the quantum hall regime w/o an electric field applied (this I am able to reproduce w/Kwant). In their Fig. 2 an electric field is applied in the xdirection of a graphene ribbon this in particular I would like to be able to implement in general, not necessarily for graphene. I have attached a code I am working on which generates a square lattice ribbon with leads on the left/right sides. A potential well is formed in the ribbon in a similar fashion to (1) above. I can extract the Hamiltonian of the channel and calculate its eigenvalues, but it is unclear to me how to get the Ek relationship. I believe I need to add some phase factor across the Hamiltonian which accounts for different k values. I apologize if this is more of a physics question than a Kwant question. Indeed, Kwant trivializes what I imagine is the hard part generating the lattice and turning that into a tight binding Hamiltonian. Hopefully this topic is of interest to the readers of the mailing list I believe it would be an interesting addition to the Kwant tutorials in the future! Thanks so much! Sam LaGasse
Hi Sam, There is no meaningful band structure if an electric field is applied parallel to the wire (and none of the references introduces such an electric field). If the field is actually perpendicular to the wire, you can just add it to the Hamiltonian. Best, Anton On Thu, Jun 9, 2016 at 10:47 PM, LaGasse, Samuel <SLaGasse@sunypoly.edu> wrote:
Hi Everyone,
I am searching for a way to calculate the energy spectrum of a system without translational invariance using Kwant.
I am familiar with how to calculate Ek relationships for systems with translational invariance (such as a lead) using Kwant's infinite systems. What is unclear to me is how to approach doing this for a system which breaks this invariance, by for example, applying an electric field via a gate or sourcedrain bias. In the tutorial section I have gone through the tutorial for calculating the magnetic flux vs. energy spectrum for a quantum dot, but it is unclear to me how one would modify this example to investigate the Ek relationship.
I have seen a few examples of this type of calculation performed in the literature, but often the numerical details are left to the reader. A few of these are below:
(1) http://arxiv.org/abs/condmat/0610237  This paper shows several figures for differently shaped quantum wells formed along the transport direction in a graphene ribbon.
(2) http://arxiv.org/abs/1512.02144  It appears to me that the lower panel of Fig. 1 essentially has an electric field, although I could be wrong. This example was actually done with Kwant.
(3) http://arxiv.org/abs/condmat/0603594  Their Fig. 1 shows the spectrum in the quantum hall regime w/o an electric field applied (this I am able to reproduce w/Kwant). In their Fig. 2 an electric field is applied in the xdirection of a graphene ribbon this in particular I would like to be able to implement in general, not necessarily for graphene.
I have attached a code I am working on which generates a square lattice ribbon with leads on the left/right sides. A potential well is formed in the ribbon in a similar fashion to (1) above. I can extract the Hamiltonian of the channel and calculate its eigenvalues, but it is unclear to me how to get the Ek relationship. I believe I need to add some phase factor across the Hamiltonian which accounts for different k values.
I apologize if this is more of a physics question than a Kwant question. Indeed, Kwant trivializes what I imagine is the hard part generating the lattice and turning that into a tight binding Hamiltonian. Hopefully this topic is of interest to the readers of the mailing list I believe it would be an interesting addition to the Kwant tutorials in the future!
Thanks so much!
Sam LaGasse
Hi Anton, Thank you for your quick response! In the paper by Lukose et al (http://arxiv.org/abs/condmat/0603594) it seems that the electric field in their Fig. 2 is applied along the xdirection, which appears in the diagonal of the Hamiltonian as an xdependent shift in the onsite energy, resulting in the shifted Ek spectrum. Am I misunderstanding this? I guess I am also still unclear even if I wanted to look at a potential energy shift caused perpendicular electric field, such as the potential well in (1) below. I understand how to generate that Hamiltonian using Kwant, but not how to calculate the Ek spectrum of the well itself. I apologize again that this is more of a physics question than the mechanics of Kwant. I must admit that some of my interest in this calculation stems from some of the Ek relationships in two of your own papers, Anton! (http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.98.157003 and http://journals.aps.org/prb/abstract/10.1103/PhysRevB.76.035411) Thanks you again, Sam ________________________________________ From: anton.akhmerov@gmail.com <anton.akhmerov@gmail.com> on behalf of Anton Akhmerov <anton.akhmerov+kd@gmail.com> Sent: Thursday, June 9, 2016 4:52 PM To: LaGasse, Samuel Cc: kwantdiscuss@kwantproject.org Subject: Re: [Kwant] Energy spectrum w/o translational invariance Hi Sam, There is no meaningful band structure if an electric field is applied parallel to the wire (and none of the references introduces such an electric field). If the field is actually perpendicular to the wire, you can just add it to the Hamiltonian. Best, Anton On Thu, Jun 9, 2016 at 10:47 PM, LaGasse, Samuel <SLaGasse@sunypoly.edu> wrote:
Hi Everyone,
I am searching for a way to calculate the energy spectrum of a system without translational invariance using Kwant.
I am familiar with how to calculate Ek relationships for systems with translational invariance (such as a lead) using Kwant's infinite systems. What is unclear to me is how to approach doing this for a system which breaks this invariance, by for example, applying an electric field via a gate or sourcedrain bias. In the tutorial section I have gone through the tutorial for calculating the magnetic flux vs. energy spectrum for a quantum dot, but it is unclear to me how one would modify this example to investigate the Ek relationship.
I have seen a few examples of this type of calculation performed in the literature, but often the numerical details are left to the reader. A few of these are below:
(1) http://arxiv.org/abs/condmat/0610237  This paper shows several figures for differently shaped quantum wells formed along the transport direction in a graphene ribbon.
(2) http://arxiv.org/abs/1512.02144  It appears to me that the lower panel of Fig. 1 essentially has an electric field, although I could be wrong. This example was actually done with Kwant.
(3) http://arxiv.org/abs/condmat/0603594  Their Fig. 1 shows the spectrum in the quantum hall regime w/o an electric field applied (this I am able to reproduce w/Kwant). In their Fig. 2 an electric field is applied in the xdirection of a graphene ribbon this in particular I would like to be able to implement in general, not necessarily for graphene.
I have attached a code I am working on which generates a square lattice ribbon with leads on the left/right sides. A potential well is formed in the ribbon in a similar fashion to (1) above. I can extract the Hamiltonian of the channel and calculate its eigenvalues, but it is unclear to me how to get the Ek relationship. I believe I need to add some phase factor across the Hamiltonian which accounts for different k values.
I apologize if this is more of a physics question than a Kwant question. Indeed, Kwant trivializes what I imagine is the hard part generating the lattice and turning that into a tight binding Hamiltonian. Hopefully this topic is of interest to the readers of the mailing list I believe it would be an interesting addition to the Kwant tutorials in the future!
Thanks so much!
Sam LaGasse
In the paper by Lukose et al (http://arxiv.org/abs/condmat/0603594) it seems that the electric field in their Fig. 2 is applied along the xdirection, which appears in the diagonal of the Hamiltonian as an xdependent shift in the onsite energy, resulting in the shifted Ek spectrum. Am I misunderstanding this?
But then they study dispersion as a function of k_y, so the field is perpendicular to the momentum.
I guess I am also still unclear even if I wanted to look at a potential energy shift caused perpendicular electric field, such as the potential well in (1) below. I understand how to generate that Hamiltonian using Kwant, but not how to calculate the Ek spectrum of the well itself.
Do you mean something like this: import kwant lat = kwant.lattice.square() syst = kwant.Builder(kwant.TranslationalSymmetry((1, 0))) syst[(lat(0, i) for i in range(10))] = lambda site: 0.1 * site.pos[1]  3 syst[lat.neighbors()] = 1 kwant.plotter.bands(syst.finalized()) here I plot the dispersion of an infinite system with Efield applied in its transverse direction. Or do you want to do something else?
I apologize again that this is more of a physics question than the mechanics of Kwant. I must admit that some of my interest in this calculation stems from some of the Ek relationships in two of your own papers, Anton! (http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.98.157003 and http://journals.aps.org/prb/abstract/10.1103/PhysRevB.76.035411)
Heh, cool :) Should be doable. Cheers, Anton
Thanks you again,
Sam ________________________________________ From: anton.akhmerov@gmail.com <anton.akhmerov@gmail.com> on behalf of Anton Akhmerov <anton.akhmerov+kd@gmail.com> Sent: Thursday, June 9, 2016 4:52 PM To: LaGasse, Samuel Cc: kwantdiscuss@kwantproject.org Subject: Re: [Kwant] Energy spectrum w/o translational invariance
Hi Sam,
There is no meaningful band structure if an electric field is applied parallel to the wire (and none of the references introduces such an electric field). If the field is actually perpendicular to the wire, you can just add it to the Hamiltonian.
Best, Anton
On Thu, Jun 9, 2016 at 10:47 PM, LaGasse, Samuel <SLaGasse@sunypoly.edu> wrote:
Hi Everyone,
I am searching for a way to calculate the energy spectrum of a system without translational invariance using Kwant.
I am familiar with how to calculate Ek relationships for systems with translational invariance (such as a lead) using Kwant's infinite systems. What is unclear to me is how to approach doing this for a system which breaks this invariance, by for example, applying an electric field via a gate or sourcedrain bias. In the tutorial section I have gone through the tutorial for calculating the magnetic flux vs. energy spectrum for a quantum dot, but it is unclear to me how one would modify this example to investigate the Ek relationship.
I have seen a few examples of this type of calculation performed in the literature, but often the numerical details are left to the reader. A few of these are below:
(1) http://arxiv.org/abs/condmat/0610237  This paper shows several figures for differently shaped quantum wells formed along the transport direction in a graphene ribbon.
(2) http://arxiv.org/abs/1512.02144  It appears to me that the lower panel of Fig. 1 essentially has an electric field, although I could be wrong. This example was actually done with Kwant.
(3) http://arxiv.org/abs/condmat/0603594  Their Fig. 1 shows the spectrum in the quantum hall regime w/o an electric field applied (this I am able to reproduce w/Kwant). In their Fig. 2 an electric field is applied in the xdirection of a graphene ribbon this in particular I would like to be able to implement in general, not necessarily for graphene.
I have attached a code I am working on which generates a square lattice ribbon with leads on the left/right sides. A potential well is formed in the ribbon in a similar fashion to (1) above. I can extract the Hamiltonian of the channel and calculate its eigenvalues, but it is unclear to me how to get the Ek relationship. I believe I need to add some phase factor across the Hamiltonian which accounts for different k values.
I apologize if this is more of a physics question than a Kwant question. Indeed, Kwant trivializes what I imagine is the hard part generating the lattice and turning that into a tight binding Hamiltonian. Hopefully this topic is of interest to the readers of the mailing list I believe it would be an interesting addition to the Kwant tutorials in the future!
Thanks so much!
Sam LaGasse
But then they study dispersion as a function of k_y, so the field is
Hi Anton, perpendicular to the momentum. This is a very good point... I guess that I had the wrong picture in my head as to how the paper by Lukose et al was set up. I went ahead and modified one of my graphene calculations (code attached below for anyone interested) to be similar to the code snippet you attached, except w/a magnetic field applied in the zdirection. To my surprise, this immediately shows the result of Lukose et al. Upon closer inspection of the Pereira et al paper I realize the method to implement their problem is nearly identical. That answers part of my question I guess my question is developing alongside my understanding. What I would also like to figure out is how to approach Fig. 4 in http://journals.aps.org/prb/abstract/10.1103/PhysRevB.76.035411. I believe I understand the analytical methods used in http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.98.157003 for the analogous Andreev reflection problem and have plotted several of the results for myself, but I do not see how you would numerically implement this type of problem (NS or pn interface) using Kwant. I would really appreciate any advice you have to offer regarding this! Perhaps these papers would have been better examples to start with, although I am very happy to have been able to capture the result in the Lukose paper! It is kind of amazing to me how easy Kwant can make it to replicate results in PRL. Thanks so much! Sam Code (note it is not too big of a problem but those on laptops may have memory issues): from __future__ import division import kwant import numpy as np from matplotlib import pyplot as plt from numpy import pi, exp class SimpleNamespace(object): def __init__(self, **kwargs): self.__dict__.update(kwargs) # System creation def make_lead(a, t0, S): # (lattice constant in nm, hopping parameter in eV, square size in nm) lat = kwant.lattice.honeycomb(a) # Create a honeycomb lattice def leadshape0(pos): # Left lead x, y = pos return 0 <= y <= 5 * S def onsite_lead0(site): # Left lead xi, yi = site.pos return 0 + par.E_field*yi # + #par.disorder*kwant.digest.uniform(repr(site),salt = par.salt) def hopping(sitei, sitej): xi, yi = sitei.pos xj, yj = sitej.pos # convert to meters # conv = 1e9 conv = 1e9 xi *= conv yi *= conv xj *= conv yj *= conv return t0 * exp(1j * (pi / phi_0) * par.B * (xi  xj) * (yi + yj) * 0.5) sym0 = kwant.TranslationalSymmetry((a, 0)) sym0.add_site_family(lat.sublattices[0], other_vectors=[(1, 2)]) sym0.add_site_family(lat.sublattices[1], other_vectors=[(1, 2)]) lead0 = kwant.Builder(sym0) lead0[lat.shape(leadshape0, (0.5, 0.5))] = onsite_lead0 lead0[lat.neighbors()] = hopping lead0.eradicate_dangling() #kwant.plot(lead0,num_lead_cells=4) return lead0 a_s = 0.142 t_s = 3.0 S = 10 # square size h = 1.05457173e34 # plancks constant e_charge = 1.602e19 phi_0 = h / e_charge par = SimpleNamespace(B=40., E_field=0.01) # disorder = 0.15 lead = make_lead(a_s, t_s, S).finalized() kwant.plotter.bands(lead,momenta = np.linspace(1.8,5.7,200), show=False,dpi=150,) plt.xlabel("momentum [(lattice constant)^1]") plt.ylabel("energy (eV)") plt.ylim((0.4,0.8)) plt.show() ________________________________________ From: anton.akhmerov@gmail.com <anton.akhmerov@gmail.com> on behalf of Anton Akhmerov <anton.akhmerov+kd@gmail.com> Sent: Thursday, June 9, 2016 5:30 PM To: LaGasse, Samuel Cc: kwantdiscuss@kwantproject.org Subject: Re: [Kwant] Energy spectrum w/o translational invariance
In the paper by Lukose et al (http://arxiv.org/abs/condmat/0603594) it seems that the electric field in their Fig. 2 is applied along the xdirection, which appears in the diagonal of the Hamiltonian as an xdependent shift in the onsite energy, resulting in the shifted Ek spectrum. Am I misunderstanding this?
But then they study dispersion as a function of k_y, so the field is perpendicular to the momentum.
I guess I am also still unclear even if I wanted to look at a potential energy shift caused perpendicular electric field, such as the potential well in (1) below. I understand how to generate that Hamiltonian using Kwant, but not how to calculate the Ek spectrum of the well itself.
Do you mean something like this: import kwant lat = kwant.lattice.square() syst = kwant.Builder(kwant.TranslationalSymmetry((1, 0))) syst[(lat(0, i) for i in range(10))] = lambda site: 0.1 * site.pos[1]  3 syst[lat.neighbors()] = 1 kwant.plotter.bands(syst.finalized()) here I plot the dispersion of an infinite system with Efield applied in its transverse direction. Or do you want to do something else?
I apologize again that this is more of a physics question than the mechanics of Kwant. I must admit that some of my interest in this calculation stems from some of the Ek relationships in two of your own papers, Anton! (http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.98.157003 and http://journals.aps.org/prb/abstract/10.1103/PhysRevB.76.035411)
Heh, cool :) Should be doable. Cheers, Anton
Thanks you again,
Sam ________________________________________ From: anton.akhmerov@gmail.com <anton.akhmerov@gmail.com> on behalf of Anton Akhmerov <anton.akhmerov+kd@gmail.com> Sent: Thursday, June 9, 2016 4:52 PM To: LaGasse, Samuel Cc: kwantdiscuss@kwantproject.org Subject: Re: [Kwant] Energy spectrum w/o translational invariance
Hi Sam,
There is no meaningful band structure if an electric field is applied parallel to the wire (and none of the references introduces such an electric field). If the field is actually perpendicular to the wire, you can just add it to the Hamiltonian.
Best, Anton
On Thu, Jun 9, 2016 at 10:47 PM, LaGasse, Samuel <SLaGasse@sunypoly.edu> wrote:
Hi Everyone,
I am searching for a way to calculate the energy spectrum of a system without translational invariance using Kwant.
I am familiar with how to calculate Ek relationships for systems with translational invariance (such as a lead) using Kwant's infinite systems. What is unclear to me is how to approach doing this for a system which breaks this invariance, by for example, applying an electric field via a gate or sourcedrain bias. In the tutorial section I have gone through the tutorial for calculating the magnetic flux vs. energy spectrum for a quantum dot, but it is unclear to me how one would modify this example to investigate the Ek relationship.
I have seen a few examples of this type of calculation performed in the literature, but often the numerical details are left to the reader. A few of these are below:
(1) http://arxiv.org/abs/condmat/0610237  This paper shows several figures for differently shaped quantum wells formed along the transport direction in a graphene ribbon.
(2) http://arxiv.org/abs/1512.02144  It appears to me that the lower panel of Fig. 1 essentially has an electric field, although I could be wrong. This example was actually done with Kwant.
(3) http://arxiv.org/abs/condmat/0603594  Their Fig. 1 shows the spectrum in the quantum hall regime w/o an electric field applied (this I am able to reproduce w/Kwant). In their Fig. 2 an electric field is applied in the xdirection of a graphene ribbon this in particular I would like to be able to implement in general, not necessarily for graphene.
I have attached a code I am working on which generates a square lattice ribbon with leads on the left/right sides. A potential well is formed in the ribbon in a similar fashion to (1) above. I can extract the Hamiltonian of the channel and calculate its eigenvalues, but it is unclear to me how to get the Ek relationship. I believe I need to add some phase factor across the Hamiltonian which accounts for different k values.
I apologize if this is more of a physics question than a Kwant question. Indeed, Kwant trivializes what I imagine is the hard part generating the lattice and turning that into a tight binding Hamiltonian. Hopefully this topic is of interest to the readers of the mailing list I believe it would be an interesting addition to the Kwant tutorials in the future!
Thanks so much!
Sam LaGasse
participants (2)

Anton Akhmerov

LaGasse, Samuel