beyond effective mass (limiting kwant to a range of k)
Hello, I’m interested in using kwant to look at transport beyond the effective mass approximation. To that end, I’ve entered a Hamiltonian that reproduces silicon’s band structure [specifically, the k.p Hamiltonian from M. Cardona and F. H. Pollak, Phys. Rev. 142, 530 (1966)] into a 1D kwant lattice. When I plot the bands in the leads using kwant.plotter.bands, at first it looks nothing like Si’s band structure (see lead_bands.pdf, attached). However, when zoomed in to an appropriate k range for Si, Si’s band structure is there as expected (see lead_bands_zoom.pdf, attached). To be more specific, this is Si’s band structure in the (100) direction, which is what I was aiming for. However, this is still useless for transport because kwant calculates transmission as a function of energy for all k values – including k values that are meaningless for Si and need to be excluded from the calculation. So, I think that my question boils down to: is there a reasonably simple way to restrict the range of k values that kwant considers? If not, can you think of another way to hack a full band structure into kwant? Thanks. -Leon PS. Just to preempt some non-helpful answers: I am not interested in replies along the lines of “You couldn’t possibly need to include the full band structure. Just use an effective mass.” I have good reasons to want to include the full band structure.
Hi Leon, Using more advance models like k.p is definitely a good and reasonable idea when one want to get more details about the system. More advance models like k.p should work without problems with Kwant, you are not restricted to one band effective mass models. What Kwant cannot do however is to use continuous model to calculate transport properties. You always need to have a tight-binding model. Kwant’s continuum <https://kwant-project.org/doc/1/tutorial/discretize> module that was introduced in version 1.3 can be helpful here. When you do a transport calculations with Kwant you only need to take care that in desire energy window your tight-binding dispersion agrees with continuous k.p dispersion. So to answer to your question is there a reasonably simple way to restrict the range of k values that kwant considers? would be: you don’t need to restrict the range of k values, you need to make sure that your model is correct at the energy you are interested in. If I missed something I believe core developers will correct me. Best, Rafal -- Rafał Skolasiński WebPage: https://quantumtinkerer.tudelft.nl/members/rafal/ GitHub: https://github.com/RafalSkolasinski Kwant GitLab: https://gitlab.kwant-project.org/r-j-skolasinski On 2 September 2017 at 00:40, Maurer, Leon <lmaurer@sandia.gov> wrote:
Hello,
I’m interested in using kwant to look at transport beyond the effective mass approximation. To that end, I’ve entered a Hamiltonian that reproduces silicon’s band structure [specifically, the k.p Hamiltonian from M. Cardona and F. H. Pollak, Phys. Rev. 142, 530 (1966)] into a 1D kwant lattice.
When I plot the bands in the leads using kwant.plotter.bands, at first it looks nothing like Si’s band structure (see lead_bands.pdf, attached). However, when zoomed in to an appropriate k range for Si, Si’s band structure is there as expected (see lead_bands_zoom.pdf, attached). To be more specific, this is Si’s band structure in the (100) direction, which is what I was aiming for.
However, this is still useless for transport because kwant calculates transmission as a function of energy for all k values – including k values that are meaningless for Si and need to be excluded from the calculation.
So, I think that my question boils down to: is there a reasonably simple way to restrict the range of k values that kwant considers? If not, can you think of another way to hack a full band structure into kwant?
Thanks.
-Leon
PS. Just to preempt some non-helpful answers: I am not interested in replies along the lines of “You couldn’t possibly need to include the full band structure. Just use an effective mass.” I have good reasons to want to include the full band structure.
Hi Leon, Rafal's got it right, I'm afraid. The easiest way to solve this problem is probably to modify your model so as to "push away" the modes with large momentum so that they have energies outside of the relevant window that you are concerned with. Unfortunately you can't just "throw away" the modes at large momenta, because this would make the scattering problem under-determined. Although one could maybe find the "best" solution to this under-determined problem using least squares or something, this is quite awkward and I'm not even sure it's valid. In order to properly "throw away" the unwanted modes, you would instead have to make them evanescent. Doing this is essentially the same as modifying your model so as to "push the modes away". Happy Kwanting, Joe
Hi Rafal and Joseph, Thank you for your replies. “Tight binding” can have multiple meanings in this context, so I could use a little clarification. The dispersion that I showed is already a tight-binding model in the sense that the spin example<https://kwant-project.org/doc/1/tutorial/spin_potential_shape#matrix-structure-of-on-site-and-hopping-elements> in the tutorial is a tight-binding model: I set up a lattice in kwant (kwant.lattice.chain in my case) and define the Cardona and Pollak Hamiltonian matrix at each site, and the momentum operators are turned into finite differences between the sites. I believe this is equivalent to using kwant’s continuum module. The other meaning I can think of is to calculate the band structure using the tight-binding method directly in kwant: making a proper Si lattice in kwant, connecting the sites with the proper tight-binding matrix elements, etc. I’m sure that’s doable, but doing calculations with a 3D lattice sounds expensive. What meaning of “tight-binding model” are you thinking of? Do you have any ideas for how to make the modes that I don’t want become evanescent or otherwise get out of the energy range that I care about? The standard k.p method generates the band structure by perturbing free-particle electron states. As a consequence, at high enough ‘k’, all the modes look like parabolas, and I don’t think it’s possible to get the unwanted bands “out of the way”; the only way they can go is “up”. (I think that I’ve seen some funky k.p method that uses free-particle electron and “hole” states, so there are parabolas that face both up and down, which would allow a band-gap to exist even at large k. That could at least get the unwanted modes out of the band gap.) -Leon From: Rafal Skolasinski <r.j.skolasinski@gmail.com> Date: Saturday, September 2, 2017 at 7:12 AM To: "Maurer, Leon" <lmaurer@sandia.gov> Cc: "kwant-discuss@kwant-project.org" <kwant-discuss@kwant-project.org> Subject: [EXTERNAL] Re: [Kwant] beyond effective mass (limiting kwant to a range of k) Hi Leon, Using more advance models like k.p is definitely a good and reasonable idea when one want to get more details about the system. More advance models like k.p should work without problems with Kwant, you are not restricted to one band effective mass models. What Kwant cannot do however is to use continuous model to calculate transport properties. You always need to have a tight-binding model. Kwant’s continuum<https://kwant-project.org/doc/1/tutorial/discretize> module that was introduced in version 1.3 can be helpful here. When you do a transport calculations with Kwant you only need to take care that in desire energy window your tight-binding dispersion agrees with continuous k.p dispersion. So to answer to your question is there a reasonably simple way to restrict the range of k values that kwant considers? would be: you don’t need to restrict the range of k values, you need to make sure that your model is correct at the energy you are interested in. If I missed something I believe core developers will correct me. Best, Rafal -- Rafał Skolasiński WebPage: https://quantumtinkerer.tudelft.nl/members/rafal/ GitHub: https://github.com/RafalSkolasinski Kwant GitLab: https://gitlab.kwant-project.org/r-j-skolasinski On 2 September 2017 at 00:40, Maurer, Leon <lmaurer@sandia.gov<mailto:lmaurer@sandia.gov>> wrote: Hello, I’m interested in using kwant to look at transport beyond the effective mass approximation. To that end, I’ve entered a Hamiltonian that reproduces silicon’s band structure [specifically, the k.p Hamiltonian from M. Cardona and F. H. Pollak, Phys. Rev. 142, 530 (1966)] into a 1D kwant lattice. When I plot the bands in the leads using kwant.plotter.bands, at first it looks nothing like Si’s band structure (see lead_bands.pdf, attached). However, when zoomed in to an appropriate k range for Si, Si’s band structure is there as expected (see lead_bands_zoom.pdf, attached). To be more specific, this is Si’s band structure in the (100) direction, which is what I was aiming for. However, this is still useless for transport because kwant calculates transmission as a function of energy for all k values – including k values that are meaningless for Si and need to be excluded from the calculation. So, I think that my question boils down to: is there a reasonably simple way to restrict the range of k values that kwant considers? If not, can you think of another way to hack a full band structure into kwant? Thanks. -Leon PS. Just to preempt some non-helpful answers: I am not interested in replies along the lines of “You couldn’t possibly need to include the full band structure. Just use an effective mass.” I have good reasons to want to include the full band structure.
Hi Leon,
“Tight binding” can have multiple meanings in this context, so I could use a little clarification.
The dispersion that I showed is already a tight-binding model in the sense that the spin example <https://kwant-project.org/doc/1/tutorial/spin_potential_shape#matrix-structure-of-on-site-and-hopping-elements> in the tutorial is a tight-binding model: I set up a lattice in kwant (kwant.lattice.chain in my case) and define the Cardona and Pollak Hamiltonian matrix at each site, and the momentum operators are turned into finite differences between the sites. I believe this is equivalent to using kwant’s continuum module.
The other meaning I can think of is to calculate the band structure using the tight-binding method directly in kwant: making a proper Si lattice in kwant, connecting the sites with the proper tight-binding matrix elements, etc. I’m sure that’s doable, but doing calculations with a 3D lattice sounds expensive.
What meaning of “tight-binding model” are you thinking of?
We were both talking about the former, i.e. a tight binding model as a discretization of the k.p (continuum) Hamiltonian. The procedure you describe in the first paragraph is indeed what 'kwant.continuum' does for you.
Do you have any ideas for how to make the modes that I don’t want become evanescent or otherwise get out of the energy range that I care about? The standard k.p method generates the band structure by perturbing free-particle electron states. As a consequence, at high enough ‘k’, all the modes look like parabolas, and I don’t think it’s possible to get the unwanted bands “out of the way”; the only way they can go is “up”. (I think that I’ve seen some funky k.p method that uses free-particle electron and “hole” states, so there are parabolas that face both up and down, which would allow a band-gap to exist even at large k. That could at least get the unwanted modes out of the band gap.)
I personally don't really have any experience with k.p models, so I don't think I will be much help; hopefully someone else on the mailing list will be better able to. That being said, these high-k modes are surely present even in the continuum, no? They are a consequence of the k.p model you are using, *not* the discretization, so I would agree with what Rafal said: that you need to make sure your model is valid at the energies you care about first before discretizing. The idea of adding "dummy" degrees of freedom and a coupling to open up a gap seems reasonable. You could also just calculate the scattering matrix *with* the high-k modes included and see whether there is any scattering to/from the low-k modes. If there's not you might be able to get away with not doing anything about them at all? Happy Kwanting, Joe
Hi Joe, I personally don't really have any experience with k.p models, so I don't think I will be much help; hopefully someone else on the mailing list will be better able to. That being said, these high-k modes are surely present even in the continuum, no? They are a consequence of the k.p model you are using, *not* the discretization, so I would agree with what Rafal said: that you need to make sure your model is valid at the energies you care about first before discretizing. I see what you’re saying. Yes, The high-k modes are present in the continuum; they’re just ignored because they’re outside the Brillouin zone. The idea of adding "dummy" degrees of freedom and a coupling to open up a gap seems reasonable. You could also just calculate the scattering matrix *with* the high-k modes included and see whether there is any scattering to/from the low-k modes. If there's not you might be able to get away with not doing anything about them at all? I was also wondering if there was much coupling between the high- and low-k modes. How would I extract that info from the scattering matrix? Thanks. -Leon
Dear Leon, I would tend to agree with Rafal and Joe: if your discretized k.p model has the correct dispersion relation in the energy window you are interested it, every thing should be find. The only counter example I am aware of is fermion doubling with Dirac point, but Sillicon should be free of that. As a sanity check, run a couple of simulations with different discretization parameters and check that you get the same answers. Kind regards, Xavier
Le 5 sept. 2017 à 23:45, Maurer, Leon <lmaurer@sandia.gov> a écrit :
Hi Joe,
I personally don't really have any experience with k.p models, so I don't think I will be much help; hopefully someone else on the mailing list will be better able to. That being said, these high-k modes are surely present even in the continuum, no? They are a consequence of the k.p model you are using, *not* the discretization, so I would agree with what Rafal said: that you need to make sure your model is valid at the energies you care about first before discretizing.
I see what you’re saying. Yes, The high-k modes are present in the continuum; they’re just ignored because they’re outside the Brillouin zone.
The idea of adding "dummy" degrees of freedom and a coupling to open up a gap seems reasonable. You could also just calculate the scattering matrix *with* the high-k modes included and see whether there is any scattering to/from the low-k modes. If there's not you might be able to get away with not doing anything about them at all?
I was also wondering if there was much coupling between the high- and low-k modes. How would I extract that info from the scattering matrix?
Thanks. -Leon
Hi all, After my failure with k.p, I successfully used Kwant to implement a tight binding model of Si’s band structure -- specifically the first nearest-neighbor sp3s* model of Vogl et al., J. Phys. Chem Sol. 44, 365 (1983). I’ve attached a rough implementation (jupyter notebook attached – just run all). I’d appreciate any feedback about how to simplify the Kwant part of the code (especially setting up the lattice, adding hopping terms, etc.). The nitty-gritty parts of kwant are new to me. Anyhow, I’ll probably have questions in the near future about how to integrate this model into structures with leads and other translational symmetries (specifically, with structures that don’t have translational symmetries in the directions of the Si primitive vectors). -Leon From: "Maurer, Leon" <lmaurer@sandia.gov> Date: Tuesday, September 5, 2017 at 3:45 PM To: "kwant-discuss@kwant-project.org" <kwant-discuss@kwant-project.org> Subject: Re: [Kwant] [EXTERNAL] Re: beyond effective mass (limiting kwant to a range of k) Hi Joe, I personally don't really have any experience with k.p models, so I don't think I will be much help; hopefully someone else on the mailing list will be better able to. That being said, these high-k modes are surely present even in the continuum, no? They are a consequence of the k.p model you are using, *not* the discretization, so I would agree with what Rafal said: that you need to make sure your model is valid at the energies you care about first before discretizing. I see what you’re saying. Yes, The high-k modes are present in the continuum; they’re just ignored because they’re outside the Brillouin zone. The idea of adding "dummy" degrees of freedom and a coupling to open up a gap seems reasonable. You could also just calculate the scattering matrix *with* the high-k modes included and see whether there is any scattering to/from the low-k modes. If there's not you might be able to get away with not doing anything about them at all? I was also wondering if there was much coupling between the high- and low-k modes. How would I extract that info from the scattering matrix? Thanks. -Leon
participants (4)
-
Joseph Weston
-
Maurer, Leon
-
Rafal Skolasinski
-
Xavier Waintal