Dear Zhao, Instead of doing the Peierls substitution, did you try to use the minimal coupling [1] directly in the kp Hamiltonian? Just change k----> k-eA , where A is the vector potential. (Make sure that you choose the correct gauge that fits the translational symmetry of the lead.)
I hope this helps, Adel [1] https://ocw.tudelft.nl/course-readings/landau-levels-microscopic-model-quantum-hall-effect/#:~:text=These%20quantized%20energy%20levels%20of,the%20area%20of%20the%20sample . On Sat, Jan 14, 2023 at 3:37 AM <dielectric_hjz...@126.com> wrote: > Dear kwanters, > I am using kwant for handle a k.p Hamiltonian, for the conductance > calculations. I start from a k.p model, and transform it to a tight-binding > model using kwant.continuum tools [procedures listed here > https://kwant-project.org/doc/1/tutorial/discretize]. Now I want to study > the conductance of the system under magnetic field. I try to do Peierls > substitution for hoppings between site i and site j (i-j being parallel to > the lead). However, I find that using the kwant.continuum scheme, there are > no information regarding the lattice information such as "lat = > kwant.lattice.honeycomb() ". This prevents the application of Peierls > substitution by the following way: > > _____________________________ > def hopx(site1, site2, B): > y = site1.pos[1] > return - np.exp(-1j * B * y) > > syst[kwant.builder.HoppingKind((1, 0), lat.a, lat.b)] = hopx > ____________________________ > > My question is how to add magnetic field during the calculations for > the systems generated from a continuum model by kwant.continuum? > Thank you very much! > -- Abbout Adel