-
Notifications
You must be signed in to change notification settings - Fork 876
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
Bug in processing entries of GGA/GGA+U/R2SCAN scheme #3113
Comments
I can't repro this. Tried about 7 times. I get 638 entries every time.
I'm not very familiar with our r2SCAN/GGA mixing scheme but I think what might be happening here is that we place r2SCAN energies onto the GGA(+U) hull? If so, you wouldn't expect an adjustment on a GGA+U entry? Pinging @rkingsbury @munrojm to correct me in case I'm wrong. |
That's correct, some GGA/GGA+U entries will pass through the mixing scheme unmodified, if the hull is still being built with GGA/GGA+U entries. That would occur any time there are insufficient R2SCAN entries to build the hull. In such a high dimensional chemical system as this, I'm almost certain the hull would be built in GGA/GGA+U, so getting the entry back unmodified is exactly what should happen. Please refer to the mixing scheme publication for a more thorough explanation. As for the non-reproducibility / I'm not sure. The mixing scheme does rely on structure matching, so perhaps due to some quirk in your computer system the matching occasionally fails to consider two structures "the same"? That's a stretch but it's the best thought I have. Also, I note that you're using the old MPRester ( |
@rkingsbury Oh, it is a typo here. Actually in my test codes, the MPRester method was imported by I tested it on a different computer and network, but the inconsistency issue still happened. I will try to run them with a fresh environment in a container next. |
The same issue happened, even though I ran the codes in a fresh set-up container of python3.10-alpine. I think this is a rare case (the chemical system and entry) that induces this issue whereas would not happen in other chemical systems, but the potential bug may still result in entry loss or excess, thereby possibly changing the shape of the convex hull. |
Can you pinpoint the bug? |
@janosh Yes, it is the the structure_matcher.group_structures() methods in mixing_scheme.py 564L, that results in inconsistency when matching the structures of the entry |
@peikai it sounds to me like you are running into an edge case related to the numerical tolerances of
|
@rkingsbury, I tried with suggestion 1, the results are consistent that two entries are always distinguished to different groups. I can still reproduce the aforementioned issue with the up-to-date pymatgen and online database. |
OK, so if If you can, those settings can be passed into the mixing scheme. |
As a supplement, I tried to find a comparation from pre-computed phase diagram on this chemical system. The pre-computed phase diagram contains the entry Although, this is an issue that did not bother so much, I committed it in case there are potential bugs or possible improvements. I once attempted to migrate to using pre-computing phase diagrams to keep consistency, but I found that for certain chemical systems, pre-computing phase diagrams are not always available (missing) for entire thermo types. As a result, it is necessary to rely on the local processing methods. |
I believe this is fixed in #4255 |
It fixed a new issue that r2SCAN entries are not included for the mixing correction. The problem still exists that the entry I record the output messages accordingly.
I also noticed there is an unusual message in above two outputs:
|
I found that the entry
mp-1181334-GGA+U
forCu-Fe-Li-O-Te
chemical system can disappear and reappear in the processed entries result occasionally, when the GGA/GGA+U/R2SCAN scheme correction was conducted multiple times. The inconsistency issue happened about every third run in my test -- although the codes below been tested in the latestpymatgen
package.There may be either 637 or 638 entries in the processed entryList. The latter case would contain an entry
mp-1181334-GGA+U
, which actually contains no energy adjustment related to the GGA/GGA+U/R2SCAN scheme, as shown in the exported JSON file below.The potential bug needs to be found, as the reliability of local processing algorithms has become critical for the generation of GGA/GGA+U/R2SCAN phase diagrams1.
Footnotes
https://docs.materialsproject.org/methodology/materials-methodology/thermodynamic-stability/phase-diagrams-pds#gga-gga+u-r2scan ↩
The text was updated successfully, but these errors were encountered: