Exemplo n.º 1
0
class EntrySetTest(unittest.TestCase):

    def setUp(self):
        entries = loadfn(str(test_dir / "Li-Fe-P-O_entries.json"))
        self.entry_set = EntrySet(entries)

    def test_chemsys(self):
        self.assertEqual(self.entry_set.chemsys, {'Fe', 'Li', 'O', 'P'})

    def test_get_subset(self):
        entries = self.entry_set.get_subset_in_chemsys(["Li", "O"])
        for e in entries:
            self.assertTrue(set([Element.Li, Element.O]).issuperset(e.composition.keys()))
        self.assertRaises(ValueError, self.entry_set.get_subset_in_chemsys, ["Fe", "F"])

    def test_remove_non_ground_states(self):
        l = len(self.entry_set)
        self.entry_set.remove_non_ground_states()
        self.assertLess(len(self.entry_set), l)

    def test_as_dict(self):
        dumpfn(self.entry_set, "temp_entry_set.json")
        entry_set = loadfn("temp_entry_set.json")
        self.assertEqual(len(entry_set), len(self.entry_set))
        os.remove("temp_entry_set.json")
Exemplo n.º 2
0
class EntrySetTest(unittest.TestCase):
    def setUp(self):
        entries = loadfn(
            os.path.join(PymatgenTest.TEST_FILES_DIR,
                         "Li-Fe-P-O_entries.json"))
        self.entry_set = EntrySet(entries)

    def test_chemsys(self):
        self.assertEqual(self.entry_set.chemsys, {"Fe", "Li", "O", "P"})

    def test_get_subset(self):
        entries = self.entry_set.get_subset_in_chemsys(["Li", "O"])
        for e in entries:
            self.assertTrue(
                set([Element.Li, Element.O]).issuperset(e.composition.keys()))
        self.assertRaises(ValueError, self.entry_set.get_subset_in_chemsys,
                          ["Fe", "F"])

    def test_remove_non_ground_states(self):
        l = len(self.entry_set)
        self.entry_set.remove_non_ground_states()
        self.assertLess(len(self.entry_set), l)

    def test_as_dict(self):
        dumpfn(self.entry_set, "temp_entry_set.json")
        entry_set = loadfn("temp_entry_set.json")
        self.assertEqual(len(entry_set), len(self.entry_set))
        os.remove("temp_entry_set.json")
Exemplo n.º 3
0
def get_ground_state(entries_dict):
    gs_dict = dict()
    for element in entries_dict.keys():
        entry_set = EntrySet(entries_dict[element])
        entry_set.remove_non_ground_states()
        gs_dict[element] = list(entry_set)[0]
    return gs_dict