Skip to content

Commit

Permalink
add icsd_oxidation_states - the set of oxidation states that are obse…
Browse files Browse the repository at this point in the history
…rved at least 10 times in ICSD using ICSD_BV_PARAMS as guide. This is due to both common_oxidation_states and all_oxidation_states either grossly underproducing or overproducing the oxidation state count. The ICSD oxidation states in this commit are more reasonable, although there are still some things I would hand-tune
  • Loading branch information
computron committed Aug 16, 2017
1 parent 2263c36 commit fb8ccbf
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 1 deletion.
2 changes: 1 addition & 1 deletion pymatgen/core/periodic_table.json

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions pymatgen/core/periodic_table.py
Expand Up @@ -512,6 +512,11 @@ def common_oxidation_states(self):
"""Tuple of all known oxidation states"""
return tuple(self._data.get("Common oxidation states", list()))

@property
def icsd_oxidation_states(self):
"""Tuple of all oxidation states with at least 10 instances in ICSD database"""
return tuple(self._data.get("ICSD oxidation states", list()))

@property
def full_electronic_structure(self):
"""
Expand Down
1 change: 1 addition & 0 deletions pymatgen/core/tests/test_periodic_table.py
Expand Up @@ -104,6 +104,7 @@ def test_oxidation_states(self):
el = Element.Fe
self.assertEqual(el.oxidation_states, (-2, -1, 1, 2, 3, 4, 5, 6))
self.assertEqual(el.common_oxidation_states, (2, 3))
self.assertEqual(el.icsd_oxidation_states, (1, 2, 3, 4))

def test_deepcopy(self):
el1 = Element.Fe
Expand Down

0 comments on commit fb8ccbf

Please sign in to comment.