---------- Forwarded message ---------
De : Adel Belayadi <[email protected]>
Date: mer. 27 nov. 2019 Γ  20:27
Subject: Re: [Kwant] Tags and sites
To: EUDES THOMAS GOMES DA SILVA <[email protected]>


Dear EUDES,


why  can tags assume only integers values?



In fact, the tight binding approach works like the discretized Schrodinger
equation see Ref [1]. In this context each site is defined by an integer
lattice coordinates (𝑖, 𝑗) which provide the real-space coordinates (π‘₯,
𝑦) as  (a1*n,  a2*m ).



Once you define the primitive vector of the system let’s say *π‘Ž*1 and *π‘Ž*2,
 so the translation to get the whole lattice leads to write  *𝑅* = 𝑛*π‘Ž*1
+ m*π‘Ž*2. Here n and m are integer which refer to the tag in kwant. So
building the whole lattice has nothing to with real space position( since
we use *translation as 𝑅* = 𝑛*π‘Ž*1 + m*π‘Ž*2 ).



Now the most important task is to define the hopping between neighboring
atoms. A hopping is created between the main cell (for instance (0, 0) )
and a neighboring cell specified by relative index such as (0, 1) and (1,
0).

For more explanation, see the enclosed figure ( in case of square lattice )

Additionally, remember that when we use the Bloch theorem. The wave
function for a periodic lattice is defined by a phase factor: For instance
let as say Ο† (nβˆ“q, mβˆ“q ). =exp(Β±iqakx)*exp(Β±iqaky) Ο† (n, m). Where q in an
integer that way we deal with integer not with space positions.

Ps: Ref[1]: Timothy B. Boykin. The discretized Schrodinger equation and
simplemodels for semiconductor quantum wells
best, Adel

Le mar. 26 nov. 2019 Γ  20:29, EUDES THOMAS GOMES DA SILVA <
[email protected]> a Γ©crit :

> Hi Dears,
>
> why  can tags assume only integers values?
>
> For example:
>
> lat = kwant.lattice.Polyatomic([(1, 0, 0), (0, 1, 0),(0, 0, 1)], [(1, 0,
> 0), (0.0, 1, 0.0),(0.0, 0.0, 1)],norbs=1)
> syst = kwant.Builder()
>
> # it is possible:
> syst[a(1,0,0)]=4
>
> and syst[a(1.5,0,0)]=4
>
> gives me the same result as before?
>
> Both of them says:
>
> >>> a(1,0,0)
>
> Site(kwant.lattice.Monatomic([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0,
> 1.0]], [0.0, 0.0, 0.0], '0', 1), array([1, 0, 0]))
>
> >>> a(1.5,0,0)
>
> Site(kwant.lattice.Monatomic([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0,
> 1.0]], [0.0, 0.0, 0.0], '0', 1), array([1, 0, 0]))
>
> The later should be:
>
> Site(kwant.lattice.Monatomic([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0,
> 1.0]], [0.0, 0.0, 0.0], '0', 1), array([1.5, 0, 0]))
>
> best regards.
>
> Eudes.
>
>
>
>
>
>
>
>
>
>

Reply via email to