예제 #1
0
 def test_eels_to_from_dict(self):
     elnes = MPELNESSet(self.absorbing_atom, self.structure, radius=5.0,
                        beam_energy=100, beam_direction=[1, 0, 0],
                        collection_angle=7, convergence_angle=6)
     elnes_dict = elnes.as_dict()
     elnes_2 = MPELNESSet.from_dict(elnes_dict)
     self.assertEqual(elnes_dict, elnes_2.as_dict())
예제 #2
0
 def test_eels_tags_set(self):
     radius = 5.0
     user_eels_settings = {
         "ENERGY": "4 0.04 0.1",
         "BEAM_ENERGY": "200 1 0 1",
         "ANGLES": "2 3",
     }
     elnes = MPELNESSet(
         self.absorbing_atom,
         self.structure,
         radius=radius,
         user_eels_settings=user_eels_settings,
     )
     elnes_2 = MPELNESSet(
         self.absorbing_atom,
         self.structure,
         radius=radius,
         beam_energy=100,
         beam_direction=[1, 0, 0],
         collection_angle=7,
         convergence_angle=6,
     )
     self.assertEqual(elnes.tags["ELNES"]["ENERGY"],
                      user_eels_settings["ENERGY"])
     self.assertEqual(elnes.tags["ELNES"]["BEAM_ENERGY"],
                      user_eels_settings["BEAM_ENERGY"])
     self.assertEqual(elnes.tags["ELNES"]["ANGLES"],
                      user_eels_settings["ANGLES"])
     self.assertEqual(elnes_2.tags["ELNES"]["BEAM_ENERGY"], [100, 0, 1, 1])
     self.assertEqual(elnes_2.tags["ELNES"]["BEAM_DIRECTION"], [1, 0, 0])
     self.assertEqual(elnes_2.tags["ELNES"]["ANGLES"], [7, 6])
예제 #3
0
 def test_eels_to_from_dict(self):
     elnes = MPELNESSet(self.absorbing_atom,
                        self.structure,
                        radius=5.0,
                        beam_energy=100,
                        beam_direction=[1, 0, 0],
                        collection_angle=7,
                        convergence_angle=6)
     elnes_dict = elnes.as_dict()
     elnes_2 = MPELNESSet.from_dict(elnes_dict)
     self.assertEqual(elnes_dict, elnes_2.as_dict())
예제 #4
0
 def test_number_of_kpoints(self):
     user_tag_settings = {"RECIPROCAL": ""}
     elnes = MPELNESSet(self.absorbing_atom,
                        self.structure,
                        nkpts=1000,
                        user_tag_settings=user_tag_settings)
     self.assertEqual(elnes.tags["KMESH"], [12, 12, 7])
예제 #5
0
 def test_large_systems(self):
     struct = Structure.from_file(os.path.join(test_dir, "La4Fe4O12.cif"))
     user_tag_settings = {"RECIPROCAL": "", "KMESH": "1000"}
     elnes = MPELNESSet("Fe", struct, user_tag_settings=user_tag_settings)
     self.assertNotIn("RECIPROCAL", elnes.tags)
     self.assertNotIn("KMESH", elnes.tags)
     self.assertNotIn("CIF", elnes.tags)
     self.assertNotIn("TARGET", elnes.tags)
예제 #6
0
 def test_reciprocal_tags_and_input(self):
     user_tag_settings = {"RECIPROCAL": "", "KMESH": "1000"}
     elnes = MPELNESSet(self.absorbing_atom, self.structure, user_tag_settings=user_tag_settings)
     self.assertTrue("RECIPROCAL" in elnes.tags)
     self.assertEqual(elnes.tags["TARGET"], 3)
     self.assertEqual(elnes.tags["KMESH"], "1000")
     self.assertEqual(elnes.tags["CIF"], "Co2O2.cif")
     self.assertEqual(elnes.tags["COREHOLE"], "RPA")
     all_input = elnes.all_input()
     self.assertNotIn("ATOMS", all_input)
     self.assertNotIn("POTENTIALS", all_input)
     elnes.write_input()
     structure = Structure.from_file("Co2O2.cif")
     self.assertTrue(self.structure.matches(structure))
     os.remove("HEADER")
     os.remove("PARAMETERS")
     os.remove("feff.inp")
     os.remove("Co2O2.cif")
예제 #7
0
 def test_reciprocal_tags_and_input(self):
     user_tag_settings = {"RECIPROCAL": "", "KMESH": "1000"}
     elnes = MPELNESSet(self.absorbing_atom, self.structure,
                        user_tag_settings=user_tag_settings)
     self.assertTrue("RECIPROCAL" in elnes.tags)
     self.assertEqual(elnes.tags["TARGET"], 3)
     self.assertEqual(elnes.tags["KMESH"], "1000")
     self.assertEqual(elnes.tags["CIF"], "Co2O2.cif")
     self.assertEqual(elnes.tags["COREHOLE"], "RPA")
     all_input = elnes.all_input()
     self.assertNotIn("ATOMS", all_input)
     self.assertNotIn("POTENTIALS", all_input)
     elnes.write_input()
     structure = Structure.from_file("Co2O2.cif")
     self.assertTrue(self.structure.matches(structure))
     os.remove("HEADER")
     os.remove("PARAMETERS")
     os.remove("feff.inp")
     os.remove("Co2O2.cif")