XASDoc

class emmet.core.xas.XASDoc(**data)

Bases: SpectrumDoc

Document describing a XAS Spectrum.

Parameters:
  • builder_meta (EmmetMeta | None)

  • nsites (int | None)

  • elements (list[Annotated[ElementTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.element_adapter.<lambda>, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.element_adapter.<lambda>, return_type=str, when_used=always)]] | None)

  • nelements (int | None)

  • composition (Annotated[CompositionTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, return_type=dict[str, float], when_used=always)] | None)

  • composition_reduced (Annotated[CompositionTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, return_type=dict[str, float], when_used=always)] | None)

  • formula_pretty (str | None)

  • formula_anonymous (str | None)

  • chemsys (str | None)

  • volume (float | None)

  • density (float | None)

  • density_atomic (float | None)

  • symmetry (SymmetryData | None)

  • spectrum_name (str)

  • material_id (Annotated[MPID | AlphaID, BeforeValidator(func=~emmet.core.types.typing._fault_tolerant_id_serde, json_schema_input_type=PydanticUndefined), PlainSerializer(func=~emmet.core.types.typing.<lambda>, return_type=PydanticUndefined, when_used=always)] | None)

  • spectrum_id (Annotated[XasSpectrumID, PlainSerializer(func=~emmet.core.xas.<lambda>, return_type=PydanticUndefined, when_used=always), BeforeValidator(func=~emmet.core.mpid_ext.validate_identifier, json_schema_input_type=PydanticUndefined)])

  • last_updated (Annotated[datetime, BeforeValidator(func=~emmet.core.utils.convert_datetime, json_schema_input_type=PydanticUndefined)])

  • warnings (list[str])

  • spectrum (Annotated[XASTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.xas_adapter.pop_xas_empty_structure_fields, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.xas_adapter.<lambda>, return_type=~emmet.core.types.pymatgen_types.xas_adapter.TypedXASSpectrumDict, when_used=always)] | None)

  • task_ids (list[str] | None)

  • absorbing_element (Annotated[ElementTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.element_adapter.<lambda>, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.element_adapter.<lambda>, return_type=str, when_used=always)])

  • spectrum_type (XasType)

  • edge (XasEdge)

classmethod from_task_docs(all_tasks, material_id=None, num_samples=200)

Converts a set of FEFF Task Documents into XASDocs by merging XANES + EXAFS into XAFS spectra first and then merging along equivalent elements to get element averaged spectra

Return type:

list[XASDoc]

Parameters:
  • all_tasks (list[TaskDocument])

  • material_id (Annotated[MPID | AlphaID, BeforeValidator(func=~emmet.core.types.typing._fault_tolerant_id_serde, json_schema_input_type=PydanticUndefined), PlainSerializer(func=~emmet.core.types.typing.<lambda>, return_type=PydanticUndefined, when_used=always)] | None)

  • num_samples (int)

Args:

all_tasks: FEFF Task documents that have matching structure material_id: The material ID for the generated XASDocs num_samples: number of sampled points for site-weighted averaging

model_config: ClassVar[ConfigDict] = {}

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