uppasd_tools.structure

uppasd_tools.structure.analyze_neighbors(uppout: UppOut, at_num: int = 1, dist_decimals: int | None = 3, jexch_decimals: int | None = 3, group_by: str = 'distance') dict

Analyze neighbor data for a given atom number from the structure DataFrame. :param uppout: An instance of the UppOut class containing parsed output data. :type uppout: UppOut :param at_num: Atom number to analyze neighbors for. :type at_num: int :param dist_decimals: Decimal places used to bucket distances for grouping. Default is 3. :type dist_decimals: int | None :param jexch_decimals: Decimal places used to bucket Jexch for grouping. Default is 3. :type jexch_decimals: int | None :param group_by: Grouping mode: “distance”, “jexch”, or “both”. :type group_by: str

Returns:

A dictionary with atom types as keys and dictionaries with

keys: distances, count, Jexch.

Return type:

dict

uppasd_tools.structure.get_neighbors(uppout: UppOut, at_num: int = 1) dict

Get neighbors for a given atom number from the struct file. :param uppout: An instance of the UppOut class containing parsed output data. :type uppout: UppOut :param at_num: Atom number to get neighbors for. :type at_num: int

Returns:

A dictionary mapping neighbor atom numbers to dictionaries with

keys: atom_type, position, Jexch.

Return type:

dict