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]]

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')

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 <gusthavomsbrizolla@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