Hi Adel, Please check the documentation [1]. Since you have multiple site families, you need to specify the conservation law as a dictionary, so {metal_like_sub: -np.kron(sigma_z, np.eye(3)), C_like_sub1: -sigma_z, C_like_sub2: -sigma_z}.
Best, Anton https://kwant-project.org/doc/1/reference/generated/kwant.builder.Builder#kwant.builder.Builder On Sat, 14 Aug 2021 at 16:08, Adel Belayadi <adelp...@gmail.com> wrote: > > Dear Kwant user, > Good day and I hope this email finds you well. > Using conservation law was fully explained, in the Kwant mailing list, while > we are having sublattices with the same degree of freedom (same number of > orbitals). For instance, if we have two sites with 3 orbitals in the case of > a spin full Hamiltonian, the onsite matrix is (onsite_matrix(6*6) for each > site ). So in this case, the conservation law will be straightforward: > conservation_law=-np.kron(sigma_z, np.eye(3)).But what would be the case if > we are dealing with sublattices which have different numbers of orbitals? > > In my case, I am interested in spin conductance. I am using 3 sublattices > with different orbitals. Let us say for instance > sublattice0 has (6-orbitals), sublattice1 with (2-orbitals) and sublattice2 > with (2-orbitals). In fact I am working on hetero-structure with two sites of > C-like(pz with spin up and down) and one site of metal-like(3d-orbitals with > spin up and down). I can resume my lattice as follow > > lat = kwant.lattice.general(prim_vecs, basis=[ [...], [...], [...]] , > norbs=[6, 2, 2]) > metal-like_sub, C-like_sub1, C-like_sub2 = lat.sublattices > > According to my understanding the conservation law would be something like > conservation_law=-np.kron(sigma_z, np.eye(5)). However Kwant raises an error > with my choice of the conservation law. > > Is there something missing with my understanding of the conservation law!. Or > in the case of different orbitals per site, we need to define two lattices > (lattice1 for spin up and lattice2 for spindown). > Thanks in advance, > Best > > >