def tags(self): """ FEFF job parameters. Returns: Tags """ if "RECIPROCAL" in self.config_dict: if self.small_system: self.config_dict["CIF"] = "{}.cif".format( self.structure.formula.replace(" ", "")) self.config_dict["TARGET"] = self.atoms.center_index + 1 self.config_dict["COREHOLE"] = "RPA" logger.warning("Setting COREHOLE = RPA for K-space calculation") if not self.config_dict.get("KMESH", None): abc = self.structure.lattice.abc mult = (self.nkpts * abc[0] * abc[1] * abc[2]) ** (1 / 3) self.config_dict["KMESH"] = [int(round(mult / l)) for l in abc] else: logger.warning("Large system(>=14 atoms), removing K-space settings") del self.config_dict["RECIPROCAL"] self.config_dict.pop("CIF", None) self.config_dict.pop("TARGET", None) self.config_dict.pop("KMESH", None) self.config_dict.pop("STRFAC", None) return Tags(self.config_dict)
def test_diff(self): filepath1 = os.path.join(PymatgenTest.TEST_FILES_DIR, "PARAMETERS") parameters1 = Tags.from_file(filepath1) filepath2 = os.path.join(PymatgenTest.TEST_FILES_DIR, "PARAMETERS.2") parameters2 = Tags.from_file(filepath2) self.assertEqual( Tags(parameters1).diff(parameters2), { "Different": {}, "Same": { "CONTROL": [1, 1, 1, 1, 1, 1], "MPSE": [2], "OPCONS": "", "SCF": [6.0, 0, 30, 0.2, 1], "EXCHANGE": [0, 0.0, 0.0, 2], "S02": [0.0], "COREHOLE": "Fsr", "FMS": [8.5, 0], "XANES": [3.7, 0.04, 0.1], "EDGE": "K", "PRINT": [1, 0, 0, 0, 0, 0], "LDOS": [-30.0, 15.0, 0.1], }, }, )
def tags(self): """ FEFF job parameters. Returns: Tags """ return Tags(self.config_dict)
def test_diff(self): filepath1 = os.path.join(test_dir, 'PARAMETERS') parameters1 = Tags.from_file(filepath1) filepath2 = os.path.join(test_dir, 'PARAMETERS.2') parameters2 = Tags.from_file(filepath2) self.assertEqual(Tags(parameters1).diff(parameters2), {'Different': {}, 'Same': {'CONTROL': [1, 1, 1, 1, 1, 1], 'MPSE': [2], 'OPCONS': '', 'SCF': [6.0, 0, 30, .2, 1], 'EXCHANGE': [0, 0.0, 0.0, 2], 'S02': [0.0], 'COREHOLE': 'Fsr', 'FMS': [8.5, 0], 'XANES': [3.7, 0.04, 0.1], 'EDGE': 'K', 'PRINT': [1, 0, 0, 0, 0, 0], 'LDOS': [-30., 15., .1]}})
def init_tags(self): self._tags = Tags().from_file(filename=self.path_to_src_feff_input)
], coords_are_cartesian=False, tol=1e-9, ) print(zno_structure) print(zno_structure.get_space_group_info()) out_file_name = '/home/yugin/PycharmProjects/neurons/data/src/feff.inp.new2' file_name = '/home/yugin/PycharmProjects/neurons/data/src/feff.inp.old' atoms_obj = Atoms(zno_structure, 'O', 12) pprint(atoms_obj.struct.cart_coords) pprint(atoms_obj.get_lines()) header_obj = Header(struct=zno_structure) pot_obj = Potential(zno_structure, 'O') tags_obj = Tags().from_file(filename=file_name) pprint(tags_obj.as_dict()) pot_obj.pot_string_from_file(filename=file_name) pprint(pot_obj) atoms_obj.atoms_string_from_file(filename=file_name) pprint(atoms_obj.as_dict()) header_obj.write_file(out_file_name) tags_obj.write_file(out_file_name) pot_obj.write_file(out_file_name) atoms_obj.write_file(out_file_name) # paths_obj = Paths() # header_obj.from_file(file_name) print()