how to plot the Charge density with multiple orbitals per site
Hi all, 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? Thanks Xiangru
I think I want to know what is the basis of model.hamiltonian_submatrix? Is there a way the check the order of basis? Thanks Xiangru
Maybe I figured out the order of basis in model.hamiltonian_submatrix, It follows the order of model.sites with the corresponding orbitals Xiangru
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
participants (2)
-
Christoph Groth
-
Xiangru Kong