Esempio n. 1
0
 def test_to_from_dict(self):
     # test round-trip for other entry types such as ComputedEntry
     entry = ComputedEntry("H", 0.0, 0.0, entry_id="test")
     pd = PhaseDiagram([entry])
     d = pd.as_dict()
     pd_roundtrip = PhaseDiagram.from_dict(d)
     self.assertEqual(pd.all_entries[0].entry_id, pd_roundtrip.all_entries[0].entry_id)
     dd = self.pd.as_dict()
     new_pd = PhaseDiagram.from_dict(dd)
     new_dd = new_pd.as_dict()
     self.assertEqual(new_dd, dd)
     self.assertIsInstance(pd.to_json(), str)
Esempio n. 2
0
    def from_dict(cls, d):
        """
        Constructor of PressureReservoirs object from dictionary representation.
        
        Parameters
        ----------
        d : dict
        
        Returns
        -------
        PressureReservoirs object.
        """
        res_dict = {}
        for res, chempots in d['res_dict'].items():
            res_dict[res] = {Element(el): chempots[el] for el in chempots}
        temperature = d['temperature'] if 'temperature' in d.keys() else None
        if 'phase_diagram' in d.keys() and d['phase_diagram'] is not None:
            phase_diagram = PhaseDiagram.from_dict(d['phase_diagram'])
        else:
            phase_diagram = None
        mu_refs = d['mu_refs'] if 'mu_refs' in d.keys() else None
        are_chempots_delta = d['are_chempots_delta']

        return cls(res_dict, temperature, phase_diagram, mu_refs,
                   are_chempots_delta)
Esempio n. 3
0
    def test_to_from_dict(self):

        # test round-trip for other entry types such as ComputedEntry
        entry = ComputedEntry("H", 0.0, 0.0, entry_id="test")
        pd = PhaseDiagram([entry])
        d = pd.as_dict()
        pd_roundtrip = PhaseDiagram.from_dict(d)
        self.assertEqual(pd.all_entries[0].entry_id, pd_roundtrip.all_entries[0].entry_id)