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
>

Reply via email to