def test_from_directory(self): vi = VaspInput.from_directory(test_dir, optional_files={"CONTCAR.Li2O": Poscar}) self.assertEqual(vi["INCAR"]["ALGO"], "Damped") self.assertIn("CONTCAR.Li2O", vi) d = vi.as_dict() vinput = VaspInput.from_dict(d) self.assertIn("CONTCAR.Li2O", vinput)
def test_from_directory(self): vi = VaspInput.from_directory(PymatgenTest.TEST_FILES_DIR, optional_files={"CONTCAR.Li2O": Poscar}) self.assertEqual(vi["INCAR"]["ALGO"], "Damped") self.assertIn("CONTCAR.Li2O", vi) d = vi.as_dict() vinput = VaspInput.from_dict(d) self.assertIn("CONTCAR.Li2O", vinput)
def from_dict(d): """ Construct VaspJob object from python dictionary. Returns ------- VaspJob object """ path = d['path'] inputs = VaspInput.from_dict(d['inputs']) job_settings = d['job_settings'] job_script_filename = d['job_script_filename'] name = d['name'] outputs = {} if d['outputs']: outputs[ 'ComputedStructureEntry'] = ComputedStructureEntry.from_dict( d['outputs']['ComputedStructureEntry']) vaspjob = VaspJob(path, inputs, job_settings, outputs, job_script_filename, name) vaspjob._band_structure = BandStructure.from_dict( d['band_structure']) if d['band_structure'] else None vaspjob._is_converged = d['is_converged'] if outputs: for k, v in vaspjob.computed_entry.data.items(): if k not in vaspjob._default_data_computed_entry: setattr(vaspjob, k, v) return vaspjob
def test_to_from_dict(self): d = self.vinput.as_dict() vinput = VaspInput.from_dict(d) comp = vinput["POSCAR"].structure.composition self.assertEqual(comp, Composition("Fe4P4O16"))