StructureGroupDoc

class emmet.core.structure_group.StructureGroupDoc(**data)

Bases: BaseModel

Group of structure

Parameters:
  • group_id (str | None)

  • has_distinct_compositions (bool | None)

  • material_ids (list[str] | None)

  • host_material_ids (list[str] | None)

  • insertion_material_ids (list[str] | None)

  • framework_formula (str | None)

  • ignored_specie (str | None)

  • chemsys (str | None)

  • last_updated (Annotated[datetime, FieldInfo(annotation=NoneType, required=False, default_factory=utcnow), BeforeValidator(func=~emmet.core.utils.convert_datetime, json_schema_input_type=PydanticUndefined)])

classmethod from_grouped_entries(entries, ignored_specie)

” Assuming a list of entries are already grouped together, create a StructureGroupDoc Args:

entries: A list of entries that is already grouped together. ignored_specie: The specie that is ignored during structure matching

Return type:

StructureGroupDoc

Parameters:
  • entries (list[ComputedEntry | ComputedStructureEntry])

  • ignored_specie (str)

classmethod from_ungrouped_structure_entries(entries, ignored_specie, ltol=0.2, stol=0.3, angle_tol=5.0)

Create a list of StructureGroupDocs from a list of ungrouped entries.

Return type:

list[StructureGroupDoc]

Parameters:
  • entries (list[ComputedEntry | ComputedStructureEntry])

  • ignored_specie (str)

  • ltol (float)

  • stol (float)

  • angle_tol (float)

Args:

entries: the list of ComputedStructureEntries to process. ignored_specie: the ignored specie for the structure matcher ltol: length tolerance for the structure matcher stol: site position tolerance for the structure matcher angle_tol: angel tolerance for the structure matcher

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].