Dear Adel,

Thank you for your reply and help. It is so useful for me.

Best regards,

Nafise

On Mon, Dec 2, 2019 at 10:12 AM Nafise Nouri <[email protected]> wrote:

>
> Nafise Nouri Tue, Nov 5, 10:37 PM
> Dear Adel,
>
>
> Best regards,
> Nafise
>
> On Wed, Nov 6, 2019 at 1:27 AM Adel Belayadi <[email protected]> wrote:
>
>> Dear nafise. I have seen you have asked the question again. Please state
>> that your query was solved so other might know and benifit. Please sharing
>> is the purpose of mailing list.
>> Know back to your problem. It is better to avoid attach.reversed.Instead
>> create for instance lead2 with -Num.
>> Please state that your problem was solved in mail listing as Josef
>> advised u.
>> Best, Adel
>>
>> Le mar. 5 nov. 2019 à 21:07, Adel Belayadi <[email protected]> a écrit :
>>
>>> You are welcome.
>>>
>>> Le mar. 5 nov. 2019 à 20:08, Nafise Nouri <[email protected]> a
>>> écrit :
>>>
>>>> Dear Adel,
>>>>
>>>> Thank you for your reply and help. It is so useful for me.
>>>>
>>>> Best regards,
>>>>
>>>> Nafise
>>>>
>>>> On Tue, Nov 5, 2019 at 12:03 AM Adel Belayadi <[email protected]>
>>>> wrote:
>>>>
>>>>> Dear nafise,
>>>>> Good day, it seem that you have problem with symmetry.
>>>>> To some up you have to fix the following issues:
>>>>> 1. define the lattice.general correctly
>>>>> 2. provide larger limit along x for the rectangle, so we might avoid
>>>>> isolated atoms(unconnected)
>>>>> 3. chose the symmetry as Num = 8*(a1*sqrt(3)/2) and then use  sym =
>>>>> kwant.TranslationalSymmetry([0, Num])
>>>>> 4. shift the origin of y direction in your delet function by
>>>>> (y-a1*sqrt(3))**2 intead of y**2
>>>>> 5. the boundary in lead_shape is for x not y. If we use y the code
>>>>> will bug (infinity system)
>>>>> Please, you have one thing left to do. kindly make sure that the lead
>>>>> is  100% armchair, perhaps Mrs Josefe or About would be for a help.
>>>>> I have plotted the bands for the lead, it seems armchair but I still
>>>>> do not  muster 100% the source code of  kwant.plotter.bands. Please check
>>>>> this pont.
>>>>> See the code with explanation
>>>>> Happy kwanting
>>>>>
>>>>> Best Adel
>>>>>
>>>>> import kwant
>>>>> from math import sqrt
>>>>> import matplotlib.pyplot as plt
>>>>> import tinyarray
>>>>> import numpy as np
>>>>> import math
>>>>> import cmath
>>>>> #import scipy.linalg as la
>>>>> import matplotlib
>>>>> d=1.42;
>>>>> a1=d*sqrt(3);
>>>>>
>>>>> #on-site energy...................................................
>>>>> t=-2.7;
>>>>>
>>>>> latt = kwant.lattice.general([[a1, 0], [a1/2, a1*sqrt(3)/2]],  #
>>>>> lattice vectors
>>>>>                                  [[0, 0], [0, a1/sqrt(3)]])  #
>>>>> Coordinates of the sites
>>>>> a, b = latt.sublattices
>>>>>
>>>>> syst= kwant.Builder()
>>>>>
>>>>>
>>>>> ## you have to provide quite big boundaries to avoid isolated atoms so
>>>>> abs(x)=4*a1
>>>>> def rectangle(pos):
>>>>>     x, y = pos
>>>>>     z=x**2+y**2
>>>>>     return -4*a1<x<4*a1 and -6*d<y<7*d
>>>>>
>>>>> syst[latt.shape(rectangle,(1,1))]=0
>>>>>
>>>>> ## you have to shift the origine of your diffect by a1*sqrt(3)
>>>>> def delet(pos, shift = a1*sqrt(3)):
>>>>>     x, y = pos
>>>>>     z=x**2+(y-shift)**2
>>>>>     return  z<(2*a1)**2
>>>>>
>>>>> del syst[latt.shape(delet, (1,1))]
>>>>>
>>>>>
>>>>> #nearestneighbors.............................................................
>>>>> syst[[kwant.builder.HoppingKind((0,0),a,b)]]=t
>>>>> syst[[kwant.builder.HoppingKind((0,1),a,b)]]=t
>>>>> syst[[kwant.builder.HoppingKind((-1,1),a,b)]]=t
>>>>>
>>>>> ## using [0, Num] as True
>>>>> Num = 8*(a1*sqrt(3)/2)
>>>>> sym = kwant.TranslationalSymmetry([0, Num])
>>>>>
>>>>> lead = kwant.Builder(sym)
>>>>>
>>>>> ##the lead shape must be lilited in x not y
>>>>> def lead_shape(pos):
>>>>>     x, y = pos
>>>>>     return  -4*a1<x<4*a1
>>>>>
>>>>> lead[latt.shape(lead_shape, (0,0))]=0 ##or use the folowing lambda form
>>>>>
>>>>> ##lead[latt.shape((lambda pos: abs(pos[0]) < 4*a1 ), (0, 0))] = 0
>>>>>
>>>>> def delet_lead(pos, shift = +a1*sqrt(3)):
>>>>>     x, y = pos
>>>>>     z=x**2+(y-shift)**2
>>>>>     return  z<(2*a1)**2
>>>>>
>>>>> del lead[latt.shape(delet_lead, (1,1))]
>>>>>
>>>>> lead[[kwant.builder.HoppingKind((0,0),a,b)]]=t
>>>>> lead[[kwant.builder.HoppingKind((0,1),a,b)]]=t
>>>>> lead[[kwant.builder.HoppingKind((-1,1),a,b)]]=t
>>>>>
>>>>> syst.attach_lead(lead,add_cells=0)
>>>>> kwant.plot(syst);
>>>>> syst.attach_lead(lead.reversed(),add_cells=0)
>>>>> kwant.plot(syst);
>>>>>
>>>>> ### for armchair -pi/3*d<ky<pi/3*d
>>>>> from numpy import pi, linspace
>>>>> momenta = list(linspace(-pi/3, pi/3, 50))
>>>>> kwant.plotter.bands(lead.finalized(), momenta);
>>>>>
>>>>> Le dim. 3 nov. 2019 à 10:55, Nafise Nouri <[email protected]> a
>>>>> écrit :
>>>>>
>>>>>> Dear Joseph
>>>>>>
>>>>>> At first thank you for kwant team. My problem for zigzag nanoribbon
>>>>>> with defect (hole) was solved with your help. Now I have a bit problem 
>>>>>> with
>>>>>> armchair nanoribbon. I have changed zigzag nanoribbon according to making
>>>>>> the armchair nanoribbon. It is OK when we have no defect on the system 
>>>>>> but
>>>>>> when I try to make hole on the scattering region and leads I have a
>>>>>> problem. The shape of holes  on  the scattering region and leads are not
>>>>>> same. My code is as the following. That is very king of you if you help 
>>>>>> me
>>>>>> where is the problem.
>>>>>>
>>>>>> Thanks In advance for your help.
>>>>>>
>>>>>> Beat wishes,
>>>>>> Nafise
>>>>>>
>>>>>> import kwant
>>>>>> from math import sqrt
>>>>>> import matplotlib.pyplot as plt
>>>>>> import tinyarray
>>>>>> import numpy as np
>>>>>> import math
>>>>>> import cmath
>>>>>> #import scipy.linalg as la
>>>>>> import matplotlib
>>>>>> d=1.42;
>>>>>> a1=d*math.sqrt(3);
>>>>>>
>>>>>> #on-site energy...................................................
>>>>>> t=-2.7;
>>>>>>
>>>>>> latt = kwant.lattice.general([(0,a1),(a1*math.sqrt(3)/2,a1*0.5)],
>>>>>>                              [(-d/2,a1/2),(d/2,a1/2)])
>>>>>> a,b = latt.sublattices
>>>>>> syst= kwant.Builder()
>>>>>>
>>>>>> def rectangle(pos):
>>>>>>     x, y = pos
>>>>>>     z=x**2+y**2
>>>>>>     return -2.4*a1<x<2.4*a1 and -5*d<y<5*d
>>>>>>
>>>>>> syst[latt.shape(rectangle,(1,1))]=0
>>>>>>
>>>>>> def delet(pos):
>>>>>>     x, y = pos
>>>>>>     z=x**2+y**2
>>>>>>     return  z<(2*a1)**2
>>>>>>
>>>>>> del syst[latt.shape(delet, (1,1))]
>>>>>>
>>>>>> #nearest
>>>>>> neighbors.............................................................
>>>>>> syst[[kwant.builder.HoppingKind((0,0),a,b)]] =t
>>>>>> syst[[kwant.builder.HoppingKind((0,1),a,b)]] =t
>>>>>> syst[[kwant.builder.HoppingKind((-1,1),a,b)]] =t
>>>>>>
>>>>>> ax=kwant.plot(syst);
>>>>>>
>>>>>> sym = kwant.TranslationalSymmetry(latt.vec((-2,4)))
>>>>>>
>>>>>> lead = kwant.Builder(sym)
>>>>>>
>>>>>> def lead_shape(pos):
>>>>>>     x, y = pos
>>>>>>     return  -5*d<y<5*d
>>>>>>
>>>>>> lead[latt.shape(lead_shape, (1,1))]=0
>>>>>>
>>>>>> def delet_lead(pos):
>>>>>>     x, y = pos
>>>>>>     z=x**2+y**2
>>>>>>     return  z<(2*a1)**2
>>>>>>
>>>>>> del lead[latt.shape(delet_lead, (1,1))]
>>>>>>
>>>>>> lead[[kwant.builder.HoppingKind((0,0),a,b)]]=t
>>>>>> lead[[kwant.builder.HoppingKind((0,1),a,b)]]=t
>>>>>> lead[[kwant.builder.HoppingKind((-1,1),a,b)]]=t
>>>>>>
>>>>>> syst.attach_lead(lead,add_cells=0)
>>>>>> syst.attach_lead(lead.reversed(),add_cells=0)
>>>>>> ax=kwant.plot(syst);
>>>>>>
>>>>>

Reply via email to