get_structure_inequiv_components

emmet.core.featurization.robocrys.condense.component.get_structure_inequiv_components(components, use_structure_graph=False, fingerprint_tol=0.01)

Gets and counts the structurally inequivalent components.

Supports matching through StructureMatcher or by a combined structure graph/ site fingerprint approach. For the latter method, the component data has to have been generated with inc_graph=True.

Return type:

list[dict[str, Any]]

Parameters:
  • components (list[dict[str, Any]])

  • use_structure_graph (bool)

  • fingerprint_tol (float)

Args:
components: A list of structure components, generated using

pymatgen.analysis.dimensionality.get_structure_components. If use_structure_graph=True, the components should be generated with inc_graph=True.

use_structure_graph: Whether to use the bonding graph and site

fingerprints to determine if components are structurally equivalent. If False, pymatgen.analysis.structure_matcher.StructureMatcher will be used to compare the components.

fingerprint_tol: The fingerprint tolerance to determine whether two

components have a matching fingerprint. This option is ignored if use_structure_graph=False.

Returns:

A list of the structurally inequivalent components. Any duplicate components will only be returned once. The component objects are in the same format is given by pymatgen.analysis.dimensionality.get_structure_components but have an additional field:

  • "count" (int): The number of times this component appears in the structure.