---------- Forwarded message ---------

De :**Adel Belayadi** <adelphys@gmail.com>

Date: mer. 27 nov. 2019 à 20:27

Subject: Re: [Kwant] Tags and sites

To: EUDES THOMAS GOMES DA SILVA <eudes.gomes@ufrpe.br>

De :

Date: mer. 27 nov. 2019 à 20:27

Subject: Re: [Kwant] Tags and sites

To: EUDES THOMAS GOMES DA SILVA <eudes.gomes@ufrpe.br>

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 <eudes.gomes@ufrpe.br> 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)]=4and syst[a(1.5,0,0)]=4gives 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.