Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Energy in Bond currents using SISL #477

Closed
harshiiiiiii opened this issue Jul 26, 2022 · 4 comments · Fixed by #479
Closed

Energy in Bond currents using SISL #477

harshiiiiiii opened this issue Jul 26, 2022 · 4 comments · Fixed by #479

Comments

@harshiiiiiii
Copy link

Whenever I try to extract bond currents from .nc file, A energy is required to fill in "bond_current(elec, E, kavg=True, isc=None, only='out', orbitals=None, uc=False)" I don't understand what this Energy means? Please help me resolve it.
Additional information about the system - The system has a 0.65 eV band gap. When plotting transmission, the first peak on the right side of transmission lies at E = 0.075 eV and the second peak at E = 0.405 eV.
Thanks in advance

@zerothi
Copy link
Owner

zerothi commented Jul 26, 2022

Bond currents is an energy resolved quantity, just like the transmission and the density of states. The energies corresponds to the same in all cases.

@zerothi
Copy link
Owner

zerothi commented Jul 26, 2022

Bond currents is a bad customary wording, a better name would be bond transmission as they reflect the transmission at the given energy.

I'll close this as resolved in a week if I don't hear from you :)

@anshugaur
Copy link

Dear Nick,
I have a follow-up query:
As per sisl documentation, we can convert "bond currents" or "bond transmission" to vector currents. I assume that these would also be energy resolved. Do we also integrate these over the bias window to get actual vector currents that would sum up to give the total current at any applied bias?
Also, when performing the integration over the bias window, do we consider zero-bias transmission or transmission at the applied bias? (transmission at applied bias shows a positive shift in energy (by half the value of applied bias).

Thanks and regards,
Anshu

@zerothi
Copy link
Owner

zerothi commented Jul 27, 2022

Dear Nick, I have a follow-up query: As per sisl documentation, we can convert "bond currents" or "bond transmission" to vector currents. I assume that these would also be energy resolved. Do we also integrate these over the bias window to get actual vector currents that would sum up to give the total current at any applied bias? Also, when performing the integration over the bias window, do we consider zero-bias transmission or transmission at the applied bias? (transmission at applied bias shows a positive shift in energy (by half the value of applied bias).

I don't follow your question in the last part? What is your line of thought?
Also, note I will change to follow #478

zerothi added a commit that referenced this issue Jul 29, 2022
The orbital_current was confusing for end-users as it
signalled it was a bias-window integrated quantity.

Now the routines have changed names and additional ones
have been added.

*_transmission: are the orbital/atom/... resolved
  transmissions (they have `E` as argument)
*_current: are the orbital/atom/... bias window
  integrated quantities that reflects the total
  current (they don't have `E` as argument)

This will break old users scripts as the interfaces
has also changed.
Now all electrode arguments defaults to the 1st electrode
and energy arguments are generally the first ones (except DOS).

This *should* be more what users want as for 2 electrode systems
they'll generally only calculate one orbital_current for the first
electrode.

For old users one can accommodate these settings by using this
small snippet:

if sisl.__version_tuple__[:3] >= (0, 13, 0):
   tbt.orbital_transmission(0.1, "Left")
else:
   tbt.orbital_current("Left", 0.1)

Same goes for the other equivalent routines.
@zerothi zerothi closed this as completed in 3292308 Aug 3, 2022
zerothi added a commit that referenced this issue Aug 11, 2022
The orbital_current was confusing for end-users as it
signalled it was a bias-window integrated quantity.

Now the routines have changed names and additional ones
have been added.

*_transmission: are the orbital/atom/... resolved
  transmissions (they have `E` as argument)
*_current: are the orbital/atom/... bias window
  integrated quantities that reflects the total
  current (they don't have `E` as argument)

This will break old users scripts as the interfaces
has also changed.
Now all electrode arguments defaults to the 1st electrode
and energy arguments are generally the first ones (except DOS).

This *should* be more what users want as for 2 electrode systems
they'll generally only calculate one orbital_current for the first
electrode.

For old users one can accommodate these settings by using this
small snippet:

if sisl.__version_tuple__[:3] >= (0, 13, 0):
   tbt.orbital_transmission(0.1, "Left")
else:
   tbt.orbital_current("Left", 0.1)

Same goes for the other equivalent routines.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants