I want to plot the the Charge density using kwant.plot method, I want to know how to plot the Charge density in a system with multiple orbitals per site.
Here is some pesuo codes:
..... syst = kwant.Builder() ..... model= kwant.wraparound.wraparound(syst).finalized() ham=model.hamiltonian_submatrix
(eigen,evecs) = la.eigh(ham)
def site_size(i): return 2 * wf[i] / wf.max()
kwant.plot(model, site_size=site_size, site_color=(0, 0, 1, 0.3),fig_size=(10,10)); ********* In my codes, I just found len(model.sites)=6, that is the number of sites in the unit cell, however, due to there are multiple orbitals per site, the len(evecs[:,i])=22 orbitals. So I want to know the real infortion when using kwant.plot? Like what I just posted, it only plot evecs[:6,i]**2 functions?
I think I want to know what is the basis of model.hamiltonian_submatrix?
Is there a way the check the order of basis?
Maybe I figured out the order of basis in model.hamiltonian_submatrix,
It follows the order of model.sites with the corresponding orbitals
Xiangru Kong wrote:
Maybe I figured out the order of basis in model.hamiltonian_submatrix, It follows the order of model.sites with the corresponding orbitals
Yes, the degrees of freedom of a Hamiltonian as used by hamiltonian_submatrix (but also elsewhere in Kwant) are grouped by site. The sites appear in the same order as in the ‘sites’ attribute of a finalized builder.
For example, if there are two sites and site 0 has 3 orbitals and site 1 has 2, the 5 degrees of freedom are indexed as follows:
Index 0: Orbital 0 of site 0 Index 1: Orbital 1 of site 0 Index 2: Orbital 2 of site 0 Index 3: Orbital 0 of site 1 Index 4: Orbital 1 of site 1
Thank you for your clarify.