-
-
Notifications
You must be signed in to change notification settings - Fork 60
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
Clarification on Recent Changes to sisl.physics.Hamiltonian #869
Comments
To clarify, what you do is to read an HSX file from SIESTA with sisl and then convert it into sisl? Does that mean that the Hamiltonian was simply not correctly read? I mean, sisl should handle converting from SIESTA to sisl conventions, no? Perhaps the change is that this has been fixed? Just speculating here, I have no facts to back this up😅 |
Hmm... I don't think any of the things you mention have changed. You are changing the sign of One thing, pre 5, I would not trust HSX files... I would at least check whether the What is not clear from the way you do this, is that your Once #861 is in, I think it would make sense to make a BdG hamiltonian a first-class citizen, that would be better, no? |
I guess what I want, is a more minimal example where these things can be more clarified, i.e. a matrix plot of a 16x16 matrix, or something like that? |
Yeah, how is sisl reading a Hamiltonian with 16 indices? Does it work? |
I will be back with a minimal example. In short, the idea is to create a new Hamiltonian object with 8 spin indices but with double the number of orbitals. H and Delta are two independent .HSX files which are merged to create an object like this |
Indeed that is how I also understood it.
|
I found the commit that gives the correct plot. I share a folder with a notebook, files and plot of correct and wrong superconducting bands. I exclude it is related with siesta version before or after 5.0 as I tested for both cases. I share here a minimal example that works with this commit of sisl
and it does not with this specifications
The BdG code is a code that we developed in SIESTA and we are merging it right now with |
I am having difficulties understanding everything. It could be as simple as reading the geometry, because I don't think anything else has changed since that commit. So could you try and get a better understanding of where this happens, i.e. by comparing different values of what you are reading? That would be very helpful to get better at pin-pointing this. You could even do: https://git-scm.com/docs/git-bisect |
You mean that with the next commit it doesn't work anymore? |
I have amended the test suite of sisl, see 443c51f which adds checks for eigenvalue spectrums of sisl and siesta. It basically reads the But I would be interested in knowing how your problem occurs, because it seems that this would be good to have in sisl as well. |
And could you share the |
@rreho have you figured out why this happens?? |
Hi @zerothi , I have not yet figured out the difference, but I suspect is in the |
I know, it was more to align the future sisl version with the delta-matrix that gets written.
|
I made some progress.
Looking at the file changes these lines I can see that, perhaps, a shift to the Fermi level has been added and that nothing changed about |
Yes, that would make sense, because it seems you are reading the delta-matrices from the HSX file format. In this case you should just shift the delta-matrices back before doing anything... Or when writing the HSX file, store Ef=0, so nothing gets shifted. ;) |
Thanks, mistery solved! I think this issue can be closed and create, if needed, a new one about proper implementation. |
Currently, I just need to know what the 16 elements of the HSX file means, and then some additional details needs to be layed out, but again #861 needs to be merged before we can take this further. And possibly, some spin-details needs to be cleaned. Because with BdG we suddently have 4 spinor components (not just 2). So, lets close this, and open a new one with the above details, then we'll take it from there. |
I am encountering some difficulties understanding the recent changes made to the
sisl.physics.Hamiltonian
object in the newer versions of sisl. My script, which was built based on the conventions insisl 0.13.0
, no longer behaves as expected (I cannot diagonalize the new Hamiltonian object or the bands give the wrong results).Specifically, I would like to know if there have been any modifications to how .HSX files are read or how orbitals are specified within the Hamiltonian object. I am working on constructing an HBdG Hamiltonian, which is twice the size of a typical SOC Hamiltonian, and I suspect there might have been changes to either the spin or orbital indexing.
I have attached the relevant portion of my script below for your reference. Any insights or general information about the updates to these objects would be greatly appreciated.
Thank you very much for your help!
The text was updated successfully, but these errors were encountered: