Hi again,
>
> But im still confused about some definitions
>
> 1) Alexandre, thank you for you suggestions, but honestly Im not
> pretty sure how to define a "superatom" that reproduces the structure
> im working on. How should i define the sites for each atom in the lattice?
He means that instead of defining a lattice with 3 sites per unit cell
with 3, 6, and 3 orbitals respectively, you should define a lattice with
a *single* site per unit cell, which has 3 + 6 + 3 = 12 orbitals. Of
course, plotting this thing is not so useful, and because you
essentially lose the information about where the "real" atoms are in
space (because you only have a single site representing 3 physical
atoms) it becomes more complicated to do things like define the action
of a position-dependent potential.
I would recommend keeping the physical atoms as separate sites (as you
are doing now).
>
> 2) Joseph, thank you for the detailed explanation, i rewrote that part
> of the code following your instructions and i think is better now, but
> i cant figure a way to describe the interactions that occur "inside"
> the same atom, for example, Re has 6 orbitals, how can i express the
> hoppings that have place in the same site?
If a site on one of your lattices represents a Re atom with 6 orbitals,
then what Kwant calls the "onsite" Hamiltonian terms must be 6x6
matrices: the diagonal contains the actual onsite values, and the
off-diagonal terms are hoppings between orbitals of the *same* Re atom
(this is why Kwant still calls this an "onsite").
Similarly, hoppings between *different* Re atoms must be 6x6 matrices,
and hoppings between Re and C (or N) atoms must be 6x3 matrices, to
match the number of orbitals on each end of the hopping.
In your code example there is a section where you set the onsite and
hoppings for the 3 atoms inside the unit cell. This is nearly correct,
except thatĀ you haveĀ 12x12 matrices for each of the onsite/hopping
values, when you really need matrices with shapes that match the number
of orbitals on the sites.
On the other hand, you then use 'lat.shape' to assign an onsite value of
'4' to all sites, so I think that you are confused about what exactly
you are doing. You will have to use 'C.shape', 'Re.shape', and 'N.shape'
(C, Re and N being your sublattices) to assign the onsite matrices of
the appropriate shape to sites from each of the sublattices in turn,
because sites from each sublattice have different numbers of orbitals.
> P.D. The code so far is giving me an error in the leads apparently
>
> /home/sergio/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:197:
> RuntimeWarning: When finalizing lead 0: Infinite system with disconnected
> cells.
> /home/sergio/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:197:
> RuntimeWarning: When finalizing lead 1: Infinite system with disconnected
> cells.
As the warning illustrates, the unit cells of your leads are not
connected by hoppings, so all elements of the scattering matrix will be
0. Looking at your code I see that you indeed don't add any hoppings to
your leads; you only populate a bunch of sites using 'lat.shape'.
Happy Kwanting,
Joe