Hi,
You might test it with Wilson correction.
### ----------------- Wilson correction ------------------------
def onsite_Wilson(site, A):
return -(2*A)*sigma_z
def hopping_Wilson(site_1, site_2, A):
d_projection_xy = site_2.pos - site_1.pos
d_12 =d_projection_xy/np.linalg.norm(d_projection_xy)
return 1j*A/2*(τ*sigma_x*d_12[0] + sigma_y*d_12[1]) + (A/2)*sigma_z
In my case 1j d_12[0] stands for "kx" in *kwant**.**continuum**.*
*discretize* and 1j d_12[1] stands for "ky".
Ham_wilson = ("A/2 * (k_x * sigma_x + k_y * sigma_y)""+ (-2*A) * sigma_z"
You have also to adjust it to your case (A=! depending on your
Hamiltonian). See ref1.
I don't know what would happen if we used a honeycomb lattice. For sure if
you want to test it, we will do it without kwant.continuum.discretize
modules.
ref1*. Beenakker,et al. Ann. Phys. *(*Berlin*) *2023*, 2300081. *DOI:
10.1002/andp.202300081*
I hope this will help.
best
Le jeu. 20 juin 2024 à 06:45, <[email protected]> a écrit :
> Thank you for your answer. If we use a honeycomb lattice to discretize the
> Hamiltonian, can this solve the problem? How should we modify
> landau_levels.py accordingly? I would appreciate your general suggestions
> on this matter. Best regards.
>