LDOS and Wave function for a specific kpoint

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

Dear Gusthavo, Can you share your code? Regards, Adel On Thu, Feb 15, 2024 at 12:18 AM Gusthavo Miranda < gusthavomsbrizolla@gmail.com> wrote:
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
-- Abbout Adel

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 < 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
participants (3)
-
Abbout Adel
-
Adel Belayadi
-
Gusthavo Miranda