Dear Sir. Your system is not well organized. If you follow the link you
provided you can make it easily. One thing wrong in your system is you have
defined the lat and lat from zero to a certain limit. You have to be
careful the end of lat sould be the beginning of latt not both start from
zero as was explained in the link you have provided. I urge you to plot
both systems lat and latt separately and then you would a just the
beginning of the second system based on the plot of the fist one. Also your
notation lat and latt is not good for us to follow your code. Please try to
be objectif in your notation
Hop will help

Le sam. 22 févr. 2020 à 11:48, tavakkolidjawad <tavakkolidja...@ut.ac.ir> a
écrit :

> On 2020-02-15 14:25, tavakkolidjawad wrote:
>
> Hello everyone
>
> I want to use different lattices structure (honeycomb and diamond) for the
> scattering region. if I have a honeycomb structure, is it possible in Kwant
> to add sites from the diamond structure to the system and add hoppings from
> these sites to the sites from the honeycomb lattice?
>
> I have already read Section 2.11 (
> https://kwant-project.org/doc/1/tutorial/faq#how-to-use-different-lattices-for-the-scattering-region-and-a-lead)
> in the documentation but this is challenging for me and I have no idea
> how to solve it.
>
> Thanks
>
> Hi
>
> In the previous email attachment, the code is as follows and I got this
> error: (ValueError: Input has irregular shape).
>
> If possible please help me to fix the error
>
> Thanks.
>
> ##########
>
> import kwant
>
>
> latt = kwant.lattice.honeycomb()
> A , B = latt.sublattices
>
>
> lat = kwant.lattice.general([(0, 0.5, 0.5), (0.5, 0, 0.5), (0.5, 0.5, 0)],
> [(0, 0, 0), (0.25, 0.25, 0.25)], name=['a1', 'a2'])
> a1, a2 = lat.sublattices
>
> def make_systems(a=10, b=10, c=15, W=20, L=20):
>
> syst = kwant.Builder()
> syst[(A(i,j) for i in range(L) for j in range(W))] = 4
> syst[(B(i,j) for i in range(L) for j in range(W))] = 4
> syst[latt.neighbors()] = -1
>
> def lead_shape(pos):
> x,y,z = pos
> return 0 <= x < a and 0 <= y < b and 0 <= z < c
>
> lead = kwant.Builder(kwant.TranslationalSymmetry((0,0,1)))
> lead[lat.shape(lead_shape, (0, 0, 0))] = 1
> lead[lat.neighbors()] = 1
>
> def cuboid_shape(pos):
> x, y, z = pos
> return 0 <= x < a and 0 <= y < b and 0 <= z < c
>
> syst[a1.shape(cuboid_shape, (0, 0, 0))] = 1
> syst[a2.shape(cuboid_shape, (0, 0, 0))] = 1
> syst[lat.neighbors()] = 1
>
> syst[((a1(i+5,9,0),B(i,15)) for i in range(9))] = -1
>
>
> return syst, lead
>
>
> def main():
>
> syst,lead = make_systems()
>
> kwant.plot(syst)
>
> syst = syst.finalized()
>
> syst,lead = make_systems(a=1.1, b=1.1, c=1.1)
>
> def family_colors(site):
> return 'r' if site.family == a1 else 'g'
>
> syst.attach_lead(lead)
>
>
> kwant.plot(syst, site_size=0.18, site_lw=0.01, hop_lw=0.05,
> site_color=family_colors)
>
> if __name__ == '__main__':
> main()
>
> ################
>

Reply via email to