-
-
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
Draft: add vectorsSileSIESTA for parsing vibra output #742
Conversation
@zerothi could you have a look at this and see if it makes sense to you? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks fine! Some comments here and there ;)
One thing that sill 'bothers' me, is that I am not 100% certain of the units of the eigenmodes stored by Vibra. I think it should be in Bohr. Once that is clarified and the units correctly converted to Angstrom in here. |
I believe vibra uses default Siesta units, so it will be in Ry^2/Bohr^2, however the frequencies are in cm**-1. And everything is written as-is. The eigenmodes have unit-length, so I think they should be unit-less, no? They are basically the |
Nevermind, eigenmodes should be normalized. So no units ... If you have no further comments, I think it should be ready. |
Now all we need are tests ;) And if you could install According to zerothi/sisl-files#14 feel free to add all files, I'll move them over to a new repo. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor comments
Actually, this is a discussion point, should phonon modes always have the factor |
In most cases, I would think the scaled version with energies is needed. But, maybe it would make sense to implement this in a way that the EigenmodePhonon can return both? How could we handle those cases where the atomic masses are unknown? Maybe passing a parent object with masses has to be strictly mandatory? |
I agree, that would mean that Agreed, that when the masses are unknown, it should fail in some way. Energies should just be in eV as you are doing it. |
Acually, I have been to quick. Already now, all DynamicalMatrices created from |
Related to the discussion on the phase of the eigenvectors in vibra. Do we need to change the gauge when reading, to be consistent with the phonon modes obtained from the |
Not really (I think), the |
Oh, you are correct, the gauge should be added to the |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #742 +/- ##
==========================================
- Coverage 87.30% 87.28% -0.03%
==========================================
Files 394 396 +2
Lines 50409 50445 +36
==========================================
+ Hits 44011 44032 +21
- Misses 6398 6413 +15 ☔ View full report in Codecov by Sentry. |
Related to the phase of the eigenvectors, what is your view on the phases in |
What is missing here? Should I do something? |
Sorry for going MIA. As far as I can tell, three things are missing:
I'll update the PR tonight with missing bit. |
88b6a4b
to
81b673e
Compare
Gauge was already mentioned in the info dict. Units conversion is changed now, and I added a very basic test. Relevant files are added here |
I think once the example is in, we can update the submodule, and this should be done |
Example is in! |
2eee2a7
to
6c94a27
Compare
Should be ready now |
if geometry is not None and lattice is None: | ||
lattice = geometry.lattice | ||
|
||
lattice = kwargs.get("lattice", kwargs.get("sc", lattice)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll merge and remove the sc
argument
Found out the order of the states were wrong, they should be |
@nils-wittemeier could you have a look at 1ad80f3? |
Of course |
See title.