Ejemplo n.º 1
0
    def test_update_potcar(self):
        filepath = os.path.join(test_dir, 'vasprun.xml')
        potcar_path = os.path.join(test_dir, 'POTCAR.LiFePO4.gz')
        potcar_path2 = os.path.join(test_dir, 'POTCAR2.LiFePO4.gz')
        vasprun = Vasprun(filepath, parse_potcar_file=False)
        self.assertEqual(vasprun.potcar_spec, [{"titel": "PAW_PBE Li 17Jan2003", "hash": None},
                                               {"titel": "PAW_PBE Fe 06Sep2000", "hash": None},
                                               {"titel": "PAW_PBE Fe 06Sep2000", "hash": None},
                                               {"titel": "PAW_PBE P 17Jan2003", "hash": None},
                                               {"titel": "PAW_PBE O 08Apr2002", "hash": None}])

        vasprun.update_potcar_spec(potcar_path)
        self.assertEqual(vasprun.potcar_spec, [{"titel": "PAW_PBE Li 17Jan2003",
                                                "hash": "65e83282d1707ec078c1012afbd05be8"},
                                               {"titel": "PAW_PBE Fe 06Sep2000",
                                                "hash": "9530da8244e4dac17580869b4adab115"},
                                               {"titel": "PAW_PBE Fe 06Sep2000",
                                                "hash": "9530da8244e4dac17580869b4adab115"},
                                               {"titel": "PAW_PBE P 17Jan2003",
                                                "hash": "7dc3393307131ae67785a0cdacb61d5f"},
                                               {"titel": "PAW_PBE O 08Apr2002",
                                                "hash": "7a25bc5b9a5393f46600a4939d357982"}])

        vasprun2 = Vasprun(filepath, parse_potcar_file=False)
        self.assertRaises(ValueError, vasprun2.update_potcar_spec, potcar_path2)
        vasprun = Vasprun(filepath, parse_potcar_file=potcar_path)

        self.assertEqual(vasprun.potcar_spec, [{"titel": "PAW_PBE Li 17Jan2003",
                                                "hash": "65e83282d1707ec078c1012afbd05be8"},
                                               {"titel": "PAW_PBE Fe 06Sep2000",
                                                "hash": "9530da8244e4dac17580869b4adab115"},
                                               {"titel": "PAW_PBE Fe 06Sep2000",
                                                "hash": "9530da8244e4dac17580869b4adab115"},
                                               {"titel": "PAW_PBE P 17Jan2003",
                                                "hash": "7dc3393307131ae67785a0cdacb61d5f"},
                                               {"titel": "PAW_PBE O 08Apr2002",
                                                "hash": "7a25bc5b9a5393f46600a4939d357982"}])

        self.assertRaises(ValueError, Vasprun, filepath, parse_potcar_file=potcar_path2)