def test_binary(self): # Test get_all_decomp_and_e_above_hull pd_binary = PourbaixDiagram(self.multi_data['binary'], comp_dict = {"Ag": 0.5, "Te": 0.5}) analyzer_binary = PourbaixAnalyzer(pd_binary) te_entry = pd_binary._unprocessed_entries[4] de, hull_e, entries = analyzer_binary.get_all_decomp_and_e_above_hull(te_entry) self.assertEqual(len(de), 10) self.assertEqual(len(hull_e), 10) self.assertAlmostEqual(hull_e[0], 5.4419792326439893)
def test_binary(self): # Test get_all_decomp_and_e_above_hull pd_binary = PourbaixDiagram(self.multi_data['binary'], comp_dict = {"Ag": 0.5, "Te": 0.5}) analyzer_binary = PourbaixAnalyzer(pd_binary) te_entry = pd_binary._unprocessed_entries[4] de, hull_e, entries = analyzer_binary.get_all_decomp_and_e_above_hull(te_entry) self.assertEqual(len(de), 10) self.assertEqual(len(hull_e), 10) self.assertAlmostEqual(hull_e[0], 5.4419792326439893)
def test_ternary(self): # Ternary te_entry = self.multi_data['ternary'][20] pd_ternary = PourbaixDiagram(self.multi_data['ternary'], comp_dict = {"Ag": 0.33333, "Te": 0.33333, "N": 0.33333}) analyzer_ternary = PourbaixAnalyzer(pd_ternary) de, hull_e, entries = analyzer_ternary.get_all_decomp_and_e_above_hull(te_entry) self.assertEqual(len(de), 116) self.assertEqual(len(hull_e), 116) self.assertAlmostEqual(hull_e[0], 29.2520325229)
def test_ternary(self): # Ternary te_entry = self.multi_data['ternary'][20] pd_ternary = PourbaixDiagram(self.multi_data['ternary'], comp_dict = {"Ag": 0.33333, "Te": 0.33333, "N": 0.33333}) analyzer_ternary = PourbaixAnalyzer(pd_ternary) de, hull_e, entries = analyzer_ternary.get_all_decomp_and_e_above_hull(te_entry) self.assertEqual(len(de), 116) self.assertEqual(len(hull_e), 116) self.assertAlmostEqual(hull_e[0], 29.2520325229)
def test_ternary(self): # Ternary te_entry = self.multi_data['ternary'][20] pd_ternary = PourbaixDiagram(self.multi_data['ternary'], comp_dict = {"Ag": 0.33333, "Te": 0.33333, "N": 0.33333}) analyzer_ternary = PourbaixAnalyzer(pd_ternary) de, hull_e, entries = analyzer_ternary.get_all_decomp_and_e_above_hull(te_entry) self.assertEqual(len(de), 116) self.assertEqual(len(hull_e), 116) tuples = zip(de, hull_e, entries) test_tuple = [t for t in tuples if t[2].name=='N2(s) + TeO4[2-] + Ag[2+]'][0] self.assertAlmostEqual(test_tuple[1], 50.337069095866745)
def test_binary(self): # Test get_all_decomp_and_e_above_hull pd_binary = PourbaixDiagram(self.multi_data['binary'], comp_dict = {"Ag": 0.5, "Te": 0.5}) analyzer_binary = PourbaixAnalyzer(pd_binary) te_entry = [e for e in pd_binary._unprocessed_entries if e.composition.formula == "Te3"][0] de, hull_e, entries = analyzer_binary.get_all_decomp_and_e_above_hull(te_entry) self.assertEqual(len(de), 10) self.assertEqual(len(hull_e), 10) # Find a specific multientry to test tuples = zip(de, hull_e, entries) test_tuple = [t for t in tuples if t[2].name=='Te(s) + Ag[2+]'][0] self.assertAlmostEqual(test_tuple[1], 5.1396968548627315)