Repository navigation
Conversation
1 of 3 tasks
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
get_stabilityreturnsget_e_above_hullfor every input entry, including those the correction or mixing scheme dropped, whose energies it never placed on the hull's scale. The mixing scheme (defaultGGA_GGA+U_R2SCAN) drops entries without a structure orentry_id, and duplicates of a structure, such as a user's own calculation of a known MP material. For these,get_stabilityeither:ValueErrorif the entry fell below the hull,KeyErrorif it had no POTCAR info.The scheme anchors the hull on one functional (r2SCAN if every GGA(+U) ground state has an r2SCAN match, else GGA(+U)) and leaves that functional's energies as its
compat_1/compat_2corrected them. So now:e_above_hull=None, with oneMPRestWarninglisting them.Breaking:
e_above_hullcan now beNone, but only where the old value was wrong or the call raised.test_get_stability_dropped_entrieshas been updated to explicitly test this behaviour. It uses synthetic Li-O hulls anchored on each functional. User entries: GGA and r2SCAN twins of MP's Li, a plain oxideComputedEntry, a GGA+U entry MP2020 rejects, an entry below the hull, and one without POTCAR info. Both cases raiseValueError: No valid decomposition foundon main, fixed now.For
test_get_stability: Before, it compared nothing forGGA_GGA+U_R2SCAN(its entry was a bareComputedEntry, which the scheme drops), and only one entry, of the last chemsys, for the other thermo types. Now, in every sampled chemsys plus Ni-S (a GGA(+U)-anchored mixed hull), perturbed copies of MP's compounds, 10 meV/atom higher, must sit 10 meV/atom above the copied material on MP's hull. A He-Ne test case checks the no-diagram path (only elemental entries).Checklist
ruff.mypy.duecredit@due.dcitedecorators to reference relevant papers by DOI (example)