-
Notifications
You must be signed in to change notification settings - Fork 857
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
Add electronic structure methods for Species #3902
Conversation
Dict is keyed by oxidation state of the element. This work is to prepare for implementation of Species.electronic_structure
@shyuep can I have your thoughts on this implementation? I think all that remains to finish the PR is entering data for the rest of the common oxidation states, but before I spend time on that I want to make sure this looks workable to you. Thanks! |
@shyuep friendly reminder about this - once I get your blessing on the approach I've taken, I'll populate the remaining data. |
Also just a note that the pre-commit tests are currently unhappy about some spellings in
|
Seems ok to me. Ignore the spelling issues. |
Merged. Thanks! |
Summary
Replacing #3851 , this PR implements
electronic_structure
,full_electronic_structure
, andvalence
methods forSpecies
.Major changes:
periodic_table.json
. Instead of a single string, the["Electronic structure"]
key for each element is now adict
keyed by oxidation state, so the elemental electronic structures are found in["Electronic structure"]["0"]
. Those of ions corresponding to the common oxidation states are added accordingly, e.g. under["Electronic structure"]["2"]
. This parallels the wayionic_radii
are stored. The data themselves are taken from the NIST ASD database listed in the docstrings of the respective methods."(tentative")
from the electron config ofLr (0)
because the one listed is shown in the NIST database (presumably last time the .json file was updated,Lr
was not as well understood as it is now).electronic_structure
inElement
to accommodate the new data formatelectronic_structure
,full_electronic_structure
, andvalence
methods forSpecies
Element
andcommon_oxidation_states
which ensures the total number of electrons between theElement
andSpecies
(based on thefull_electronic_structure
is consistent with the oxidation state.Note
the NIST database only contains electronic structures of cations. I was unable to find a similar resource for anions, however all of the negative "common oxidation states" could be achieved by filling p orbitals of the corresponding ground state element (e.g., ground state is p2, -4 anion is p6). I took this approach for all negative oxidation states (which are relatively few in comparison to the positive ones) because I feel confident it is correct. However, I welcome suggestions if anyone knows where to find hard data to confirm this.