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 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



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.