Dear Gusthavo, The script ldos = kwant.ldos(syst, energy=0.8, params=dict(k_x = 1.7)), provides you the ldos for a given energy but not for specific kpoint. To do so you need to get the indices for those allowed_kpoints you are looking for (condictions). For instance, you might use prop_modes, _ = flead.modes(energy=0.8, args=[params]) momentas_allowed = prop_modes.momenta[np.where(condictions)[0]] inco_wf = kwant.wave_function(fsyst, energy=0.8, args=[params])(0) wf_for_related_allowed_kpoints = inco_wf[momentas_allowed, :] kwant.plotter.density(fsyst, wf_for_related_allowed_kpoints, cmap='gist_heat_r')
As Abbout said, If you share the script, it would be better. I hope this help best Le mer. 14 févr. 2024 à 22:18, Gusthavo Miranda < gusthavomsbrizo...@gmail.com> a écrit : > Dear Kwant users, > > I am trying to compute localized density of states and the wavefunction > for a specific energy and kpoint. > > Looking at the tutorials, I understand that the LDOS can be computed as > > ldos = kwant.ldos(syst, energy=0.8) > > However, when I try to compute for a specific kpoint in the following > manner > > ldos = kwant.ldos(syst, energy=0.8, params=dict(k_x = 1.7)) > > the plot of the LDOS looks the same. Am I missing something? Is this the > correct way of plotting for a specific kpoint? > > Thanks in advance > > Gusthavo >